Hi Leo, sorry for the delay. On 2018-06-01 06:03 PM, sunpeng.li at amd.com wrote: > From: "Leo (Sunpeng) Li" <sunpeng.li at amd.com> > > This ended up being different enough from v2 to warrant a new patchset. Per > Michel's suggestions, there have been various optimizations and cleanups. > Here's what's changed: > > * Cache DRM color management property IDs at pre-init, > * instead of querying DRM each time we need to modify color properties. > > * Remove drmmode_update_cm_props(). > * Update color properties in drmmode_output_get_property() instead. > * This also makes old calls to update_cm_props redundant. > > * Get rid of fake CRTCs. > * Previously, we were allocating a fake CRTC to configure color props on > outputs that don't have a CRTC. > * Instead, rr_configure_and_change_cm_property() can be easily modified to > accept NULL CRTCs. Is it currently ever the case in the hardware / kernel, or expected to ever be, that colour management is supported for some but not all CRTCs of a GPU? If not, the LUT sizes could be tracked once instead of per CRTC, and at least the (DE)GAMMA_LUT_SIZE properties could always return the proper values, even if the output currently isn't associated with a CRTC. Other than that, I'm going to send some minor feedback on patches 2 & 3. If you prefer, I could fix up those and other cosmetic issues before pushing the patches. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer