[RFC PATCH 4/5] drm/drm_color_mgmt: add 3D LUT to color mgmt properties

Joshua Ashton joshua at froggi.es
Mon Jan 9 12:50:31 UTC 2023



On 6/27/22 13:18, Ville Syrjälä wrote:
> On Sun, Jun 19, 2022 at 09:31:03PM -0100, Melissa Wen wrote:
>> Add 3D LUT for gammar correction using a 3D lookup table.  The position
>> in the color correction pipeline where 3D LUT is applied depends on hw
>> design, being after CTM or gamma. If just after CTM, a shaper lut must
>> be set to shape the content for a non-linear space. That details should
>> be handled by the driver according to its color capabilities.
> 
> I also cooked up a WIP 3D LUT support some time ago for Intel hw:
> https://github.com/vsyrjala/linux/commits/3dlut
> But that dried up due to having no userspace for it.
> 
> I also cooked up some basic igts for it:
> https://patchwork.freedesktop.org/series/90165/
> 
> <snip>
>> + * “LUT3D”:
>> + *	Blob property to set the 3D LUT mapping pixel data after the color
>> + *	transformation matrix and before gamma 1D lut correction.
> 
> On Intel hw the 3DLUT is after the gamma LUT in the pipeline, which is
> where I placed it in my branch.
> 

If the problem here in getting stuff moving for 3D LUT support in DRM is 
lack of a userspace that wants to use it, I would like to just make 
people aware that we are planning on shipping support for this in 
Gamescope/SteamOS.
(It is hooked up right now in the current Gamescope main branch).

We have pulled the patches for AMDGPU by Melissa into our tree and 
hooked it up (with a prefix VALVE1_ before the properties for now as 
stuff is not upstream in the kernel yet) and it seems to be working well 
right now.

I know that the work here not final, and we will definitely change it 
and update our kernel and userspace impl to accomodate that and are more 
than happy to provide testing for this work and other color work.

I understand there is a lot moving right now, with the new color API 
being proposed, etc; but I don't think this should necessarily require 
us blocking any 3D LUT, shaper LUT or other color work on the 
"legacy"(?) path while stuff there is being planned out.

I think it's really important that we keep moving with color support on 
the legacy path while the new one is being planned out to ensure we 
don't accidentally miss something later or end up with something 
suboptimal for a specific vendor.

- Joshie 🐸✨


> There is now some discussion happening about exposing some
> kind of color pipeline description/configuration properties:
> https://gitlab.freedesktop.org/pq/color-and-hdr/-/issues/11
> 



More information about the dri-devel mailing list