per-plane LUTs and CSCs?

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Sep 10 11:38:55 UTC 2020


On Thu, Sep 10, 2020 at 10:18:36AM +0200, Daniel Vetter wrote:
> On Thu, Sep 10, 2020 at 07:50:59AM +0000, Simon Ser wrote:
> > On Wednesday, September 9, 2020 12:57 PM, Laurentiu Palcu <laurentiu.palcu at oss.nxp.com> wrote:
> > 
> > > Hi all,
> > >
> > > I was wondering whether you could give me an advise on how to proceed further
> > > with the following issue as I'm preparing to upstream the next set of patches
> > > for the iMX8MQ display controller(DCSS). The display controller has 3 planes,
> > > each with 2 CSCs and one degamma LUT. The CSCs are in front and after the LUT
> > > respectively. Then the output from those 3 pipes is blended together and then
> > > gamma correction is applied using a linear-to-nonlinear LUT and another CSC, if
> > > needed.
> > >
> > > Currently, downstream, we have all those CSCs and LUTs hard-coded into a header
> > > file. Based on the colorspace, range, gamut selected for the output and/or
> > > plane input, we pick up the right CSCs and LUTs from that header file to
> > > configure our pipes... I guess this solution does the job, userspace doesn't
> > > need to care much about how to generate those tables. But, it's also not very
> > > flexible in case there is an app smart enough to know and actually generate
> > > their own custom tables. :/
> > >
> > > Looking through the dri-devel archives, I've seen that there was a tentative to
> > > implement a more or less generic per-plane LUT/CSC solution but it didn't make
> > > it in due to lack of userspace consumers...
> > 
> > Apart from full color management mentioned by Pekka, are there other
> > use-cases for these per-plane props?
> > 
> > One thing I can think of is that some drivers annoyingly only apply the
> > per-CRTC gamma LUT to the primary plane. I think it would make more
> > sense to not attach a gamma prop to the CRTC and instead only attach it
> > to the primary plane to make that clear. But I guess that would also
> > break existing user-space?
> 
> Uh, which drivers? This would be a driver bug (and there's been plenty of
> those where the cursor has the wrong color temp and fun stuff like that).
> We need to fix these driver issues instead of lamenting in userspace that
> it's all kinda broken :-)

Quite a bit of old hardware simpy couldn't apply the gamma to the
other planes. But hopefully that is no longer the case for any
modern hardware.

-- 
Ville Syrjälä
Intel


More information about the dri-devel mailing list