RE: [RFC v2 00/22] Add Support for Plane Color Lut and CSC features
> -Original Message- > From: dri-devel On Behalf Of Harry > Wentland > Sent: Wednesday, February 2, 2022 9:42 PM > To: Shankar, Uma ; intel-...@lists.freedesktop.org; > dri- > de...@lists.freedesktop.org > Cc: sebast...@sebastianwick.net; shashank.sha...@amd.com > Subject: Re: [RFC v2 00/22] Add Support for Plane Color Lut and CSC features > > > > On 2021-09-06 17:38, Uma Shankar wrote: > > This is how a typical display color hardware pipeline looks like: > > +---+ > > |RAM| > > | +--++-++-+ | > > | | FB 1 || FB 2 || FB N| | > > | +--++-++-+ | > > +---+ > >| Plane Color Hardware Block | > > ++ > > | +---v-+ +---v---+ +---v--+ | > > | | Plane A | | Plane B | | Plane N | | > > | | DeGamma | | Degamma | | Degamma | | > > | +---+-+ +---+---+ +---+--+ | > > | | | || > > | +---v-+ +---v---+ +---v--+ | > > | |Plane A | | Plane B | | Plane N | | > > | |CSC/CTM | | CSC/CTM | | CSC/CTM | | > > | +---+-+ ++--+ ++-+ | > > | | | | | > > | +---v-+ +v--+ +v-+ | > > | | Plane A | | Plane B | | Plane N | | > > | | Gamma | | Gamma | | Gamma| | > > | +---+-+ ++--+ ++-+ | > > We've had a number of discussions on naming for these properties but I don't > think > we've arrived at a consensus. It has come up repeatedly, though, that > gamma/degamma might be misleading terms. > > I've opened a ticket on gitlab to help track this item and would like it if > we could > discuss the merits of different naming schemes over > there: > > https://gitlab.freedesktop.org/pq/color-and-hdr/-/issues/7 > > Uma, I tried to tag you but don't see you on gitlab.freedesktop.org. Thanks Harry for creating the issue. I have replied there and we can discuss and finalize the UAPI. Regards, Uma Shankar > Harry > > > | | | | | > > ++ > > +--v--v---v---| > > || || > > || Pipe Blender|| > > +++ > > ||| > > |+---v--+ | > > || Pipe DeGamma| | > > || | | > > |+---+--+ | > > ||Pipe Color | > > |+---v--+ Hardware| > > || Pipe CSC/CTM| | > > || | | > > |+---+--+ | > > ||| > > |+---v--+ | > > || Pipe Gamma | | > > || | | > > |+---+--+ | > > ||| > > +-+ > > | > > v > >Pipe Output > > > > This patch series adds properties for plane color features. It adds > > properties for degamma used to linearize data and CSC used for gamut > > conversion. It also includes Gamma support used to again non-linearize > > data as per panel supported color space. These can be utilize by user > > space to convert planes from one format to another, one color space to > > another etc. > > > > Userspace can take smart blending decisions and utilize these hardware > > supported plane color features to get accurate color profile. The same > > can help in consistent color quality from source to panel taking > > advantage of advanced color features in hardware. > > > > These patches add the property interfaces and enable helper functions. > > This series adds Intel's XE_LPD hw specific plane gamma feature. We > > can build up and add other platform/hardware specific implementation > > on top of this series. > > > > Credits: Special mention and credits to Ville Syrja
Re: [RFC v2 00/22] Add Support for Plane Color Lut and CSC features
On 2021-09-06 17:38, Uma Shankar wrote: > This is how a typical display color hardware pipeline looks like: > +---+ > |RAM| > | +--++-++-+ | > | | FB 1 || FB 2 || FB N| | > | +--++-++-+ | > +---+ >| Plane Color Hardware Block | > ++ > | +---v-+ +---v---+ +---v--+ | > | | Plane A | | Plane B | | Plane N | | > | | DeGamma | | Degamma | | Degamma | | > | +---+-+ +---+---+ +---+--+ | > | | | || > | +---v-+ +---v---+ +---v--+ | > | |Plane A | | Plane B | | Plane N | | > | |CSC/CTM | | CSC/CTM | | CSC/CTM | | > | +---+-+ ++--+ ++-+ | > | | | | | > | +---v-+ +v--+ +v-+ | > | | Plane A | | Plane B | | Plane N | | > | | Gamma | | Gamma | | Gamma| | > | +---+-+ ++--+ ++-+ | We've had a number of discussions on naming for these properties but I don't think we've arrived at a consensus. It has come up repeatedly, though, that gamma/degamma might be misleading terms. I've opened a ticket on gitlab to help track this item and would like it if we could discuss the merits of different naming schemes over there: https://gitlab.freedesktop.org/pq/color-and-hdr/-/issues/7 Uma, I tried to tag you but don't see you on gitlab.freedesktop.org. Harry > | | | | | > ++ > +--v--v---v---| > || || > || Pipe Blender|| > +++ > ||| > |+---v--+ | > || Pipe DeGamma| | > || | | > |+---+--+ | > ||Pipe Color | > |+---v--+ Hardware| > || Pipe CSC/CTM| | > || | | > |+---+--+ | > ||| > |+---v--+ | > || Pipe Gamma | | > || | | > |+---+--+ | > ||| > +-+ > | > v >Pipe Output > > This patch series adds properties for plane color features. It adds > properties for degamma used to linearize data and CSC used for gamut > conversion. It also includes Gamma support used to again non-linearize > data as per panel supported color space. These can be utilize by user > space to convert planes from one format to another, one color space to > another etc. > > Userspace can take smart blending decisions and utilize these hardware > supported plane color features to get accurate color profile. The same > can help in consistent color quality from source to panel taking > advantage of advanced color features in hardware. > > These patches add the property interfaces and enable helper functions. > This series adds Intel's XE_LPD hw specific plane gamma feature. We > can build up and add other platform/hardware specific implementation > on top of this series. > > Credits: Special mention and credits to Ville Syrjala for coming up > with a design for this feature and inputs. This series is based on > his original design and idea. > > Note: Userspace support for this new UAPI will be done on Chrome in > alignment with weston and general opensource community. > Discussion ongoing with Harry Wentland, Pekka and community on color > pipeline and UAPI design. Harry's RFC below: > https://patchwork.freedesktop.org/series/89506/ > We need to converge on a common UAPI interface which caters to > all the modern color hardware pipelines. > > ToDo: State readout for this feature will be added next. > > v2: Added UAPI description and added change in the rfc section of > kernel Documentation folder > > Uma Shankar (22): > drm: RFC for Plane Color Hardware Pipeline > drm: Add Enhanced Gamma and color lut range attributes > drm: Add Plane Degamma Mode property > drm: Add Plane Degamma Lut property > drm/i915/xelpd: Define Degamma Lut range struct for HDR planes > drm/i915/xelpd: Add register definitions for Plane Degamma > drm/i915/xelpd: Enable plane color features > drm/i915/xelpd: Add color capabilities of SDR planes >
Re: [RFC v2 00/22] Add Support for Plane Color Lut and CSC features
On Tue, 26 Oct 2021 11:02:31 -0400 Harry Wentland wrote: > On 2021-10-12 17:01, Shankar, Uma wrote: > > > > > >> -Original Message- > >> From: Pekka Paalanen > >> Sent: Tuesday, October 12, 2021 5:25 PM > >> To: Shankar, Uma > >> Cc: intel-...@lists.freedesktop.org; dri-devel@lists.freedesktop.org; > >> harry.wentl...@amd.com; ville.syrj...@linux.intel.com; > >> brian.star...@arm.com; > >> sebast...@sebastianwick.net; shashank.sha...@amd.com > >> Subject: Re: [RFC v2 00/22] Add Support for Plane Color Lut and CSC > >> features > >> > >> On Tue, 7 Sep 2021 03:08:42 +0530 > >> Uma Shankar wrote: > >> > >>> This is how a typical display color hardware pipeline looks like: > >>> +---+ > >>> |RAM| > >>> | +--++-++-+ | > >>> | | FB 1 || FB 2 || FB N| | > >>> | +--++-++-+ | > >>> +---+ > >>>| Plane Color Hardware Block | > >>> ++ > >>> | +---v-+ +---v---+ +---v--+ | > >>> | | Plane A | | Plane B | | Plane N | | > >>> | | DeGamma | | Degamma | | Degamma | | > >>> | +---+-+ +---+---+ +---+--+ | > >>> | | | || > >>> | +---v-+ +---v---+ +---v--+ | > >>> | |Plane A | | Plane B | | Plane N | | > >>> | |CSC/CTM | | CSC/CTM | | CSC/CTM | | > >>> | +---+-+ ++--+ ++-+ | > >>> | | | | | > >>> | +---v-+ +v--+ +v-+ | > >>> | | Plane A | | Plane B | | Plane N | | > >>> | | Gamma | | Gamma | | Gamma| | > >>> | +---+-+ ++--+ ++-+ | > >>> | | | | | > >>> ++ > >>> +--v--v---v---| > >>> || || > >>> || Pipe Blender|| > >>> +++ > >>> ||| > >>> |+---v--+ | > >>> || Pipe DeGamma| | > >>> || | | > >>> |+---+--+ | > >>> ||Pipe Color | > >>> |+---v--+ Hardware| > >>> || Pipe CSC/CTM| | > >>> || | | > >>> |+---+--+ | > >>> ||| > >>> |+---v--+ | > >>> || Pipe Gamma | | > >>> || | | > >>> |+---+--+ | > >>> ||| > >>> +-+ > >>> | > >>> v > >>>Pipe Output > >>> > >>> This patch series adds properties for plane color features. It adds > >>> properties for degamma used to linearize data and CSC used for gamut > >>> conversion. It also includes Gamma support used to again non-linearize > >>> data as per panel supported color space. These can be utilize by user > >>> space to convert planes from one format to another, one color space to > >>> another etc. > >>> > >>> Userspace can take smart blending decisions and utilize these hardware > >>> supported plane color features to get accurate color profile. The same > >>> can help in consistent color quality from source to panel taking > >>> advantage of advanced color features in hardware. > >>> > >>> These patches add the property interfaces and enable helper functions. > >>> This series adds Intel's XE_LPD hw specific plane gamma feature. We > >>> can buil
Re: [RFC v2 00/22] Add Support for Plane Color Lut and CSC features
On 2021-10-12 17:01, Shankar, Uma wrote: > > >> -Original Message- >> From: Pekka Paalanen >> Sent: Tuesday, October 12, 2021 5:25 PM >> To: Shankar, Uma >> Cc: intel-...@lists.freedesktop.org; dri-devel@lists.freedesktop.org; >> harry.wentl...@amd.com; ville.syrj...@linux.intel.com; brian.star...@arm.com; >> sebast...@sebastianwick.net; shashank.sha...@amd.com >> Subject: Re: [RFC v2 00/22] Add Support for Plane Color Lut and CSC features >> >> On Tue, 7 Sep 2021 03:08:42 +0530 >> Uma Shankar wrote: >> >>> This is how a typical display color hardware pipeline looks like: >>> +---+ >>> |RAM| >>> | +--++-++-+ | >>> | | FB 1 || FB 2 || FB N| | >>> | +--++-++-+ | >>> +---+ >>>| Plane Color Hardware Block | >>> ++ >>> | +---v-+ +---v---+ +---v--+ | >>> | | Plane A | | Plane B | | Plane N | | >>> | | DeGamma | | Degamma | | Degamma | | >>> | +---+-+ +---+---+ +---+--+ | >>> | | | || >>> | +---v-+ +---v---+ +---v--+ | >>> | |Plane A | | Plane B | | Plane N | | >>> | |CSC/CTM | | CSC/CTM | | CSC/CTM | | >>> | +---+-+ ++--+ ++-+ | >>> | | | | | >>> | +---v-+ +v--+ +v-+ | >>> | | Plane A | | Plane B | | Plane N | | >>> | | Gamma | | Gamma | | Gamma| | >>> | +---+-+ ++--+ ++-+ | >>> | | | | | >>> ++ >>> +--v--v---v---| >>> || || >>> || Pipe Blender|| >>> +++ >>> ||| >>> |+---v--+ | >>> || Pipe DeGamma| | >>> || | | >>> |+---+--+ | >>> ||Pipe Color | >>> |+---v--+ Hardware| >>> || Pipe CSC/CTM| | >>> || | | >>> |+---+--+ | >>> ||| >>> |+---v--+ | >>> || Pipe Gamma | | >>> || | | >>> |+---+--+ | >>> ||| >>> +-+ >>> | >>> v >>>Pipe Output >>> >>> This patch series adds properties for plane color features. It adds >>> properties for degamma used to linearize data and CSC used for gamut >>> conversion. It also includes Gamma support used to again non-linearize >>> data as per panel supported color space. These can be utilize by user >>> space to convert planes from one format to another, one color space to >>> another etc. >>> >>> Userspace can take smart blending decisions and utilize these hardware >>> supported plane color features to get accurate color profile. The same >>> can help in consistent color quality from source to panel taking >>> advantage of advanced color features in hardware. >>> >>> These patches add the property interfaces and enable helper functions. >>> This series adds Intel's XE_LPD hw specific plane gamma feature. We >>> can build up and add other platform/hardware specific implementation >>> on top of this series. >>> >>> Credits: Special mention and credits to Ville Syrjala for coming up >>> with a design for this feature and inputs. This series is based on his >>> original design and idea. >>> >>> Note: Userspace support for this new UAPI will be done on Chrome in >>> alignment with weston and general opensource community. >>> Discussion
RE: [RFC v2 00/22] Add Support for Plane Color Lut and CSC features
> -Original Message- > From: Pekka Paalanen > Sent: Tuesday, October 12, 2021 5:25 PM > To: Shankar, Uma > Cc: intel-...@lists.freedesktop.org; dri-devel@lists.freedesktop.org; > harry.wentl...@amd.com; ville.syrj...@linux.intel.com; brian.star...@arm.com; > sebast...@sebastianwick.net; shashank.sha...@amd.com > Subject: Re: [RFC v2 00/22] Add Support for Plane Color Lut and CSC features > > On Tue, 7 Sep 2021 03:08:42 +0530 > Uma Shankar wrote: > > > This is how a typical display color hardware pipeline looks like: > > +---+ > > |RAM| > > | +--++-++-+ | > > | | FB 1 || FB 2 || FB N| | > > | +--++-++-+ | > > +---+ > >| Plane Color Hardware Block | > > ++ > > | +---v-+ +---v---+ +---v--+ | > > | | Plane A | | Plane B | | Plane N | | > > | | DeGamma | | Degamma | | Degamma | | > > | +---+-+ +---+---+ +---+--+ | > > | | | || > > | +---v-+ +---v---+ +---v--+ | > > | |Plane A | | Plane B | | Plane N | | > > | |CSC/CTM | | CSC/CTM | | CSC/CTM | | > > | +---+-+ ++--+ ++-+ | > > | | | | | > > | +---v-+ +v--+ +v-+ | > > | | Plane A | | Plane B | | Plane N | | > > | | Gamma | | Gamma | | Gamma| | > > | +---+-+ ++--+ ++-+ | > > | | | | | > > ++ > > +--v--v---v---| > > || || > > || Pipe Blender|| > > +++ > > ||| > > |+---v--+ | > > || Pipe DeGamma| | > > || | | > > |+---+--+ | > > ||Pipe Color | > > |+---v--+ Hardware| > > || Pipe CSC/CTM| | > > || | | > > |+---+--+ | > > ||| > > |+---v--+ | > > || Pipe Gamma | | > > || | | > > |+---+--+ | > > ||| > > +-+ > > | > > v > >Pipe Output > > > > This patch series adds properties for plane color features. It adds > > properties for degamma used to linearize data and CSC used for gamut > > conversion. It also includes Gamma support used to again non-linearize > > data as per panel supported color space. These can be utilize by user > > space to convert planes from one format to another, one color space to > > another etc. > > > > Userspace can take smart blending decisions and utilize these hardware > > supported plane color features to get accurate color profile. The same > > can help in consistent color quality from source to panel taking > > advantage of advanced color features in hardware. > > > > These patches add the property interfaces and enable helper functions. > > This series adds Intel's XE_LPD hw specific plane gamma feature. We > > can build up and add other platform/hardware specific implementation > > on top of this series. > > > > Credits: Special mention and credits to Ville Syrjala for coming up > > with a design for this feature and inputs. This series is based on his > > original design and idea. > > > > Note: Userspace support for this new UAPI will be done on Chrome in > > alignment with weston and general opensource community. > > Discussion ongoing with Harry Wentland, Pekka and community on color > > pipeline and UAPI design. Harry's RFC below: > > https://patchwork.freedesktop.org/series/89506/ > > We need to converge on a common UAPI interface which caters to all the > > modern color hardware pipelines. > > >
Re: [RFC v2 00/22] Add Support for Plane Color Lut and CSC features
On Tue, 7 Sep 2021 03:08:42 +0530 Uma Shankar wrote: > This is how a typical display color hardware pipeline looks like: > +---+ > |RAM| > | +--++-++-+ | > | | FB 1 || FB 2 || FB N| | > | +--++-++-+ | > +---+ >| Plane Color Hardware Block | > ++ > | +---v-+ +---v---+ +---v--+ | > | | Plane A | | Plane B | | Plane N | | > | | DeGamma | | Degamma | | Degamma | | > | +---+-+ +---+---+ +---+--+ | > | | | || > | +---v-+ +---v---+ +---v--+ | > | |Plane A | | Plane B | | Plane N | | > | |CSC/CTM | | CSC/CTM | | CSC/CTM | | > | +---+-+ ++--+ ++-+ | > | | | | | > | +---v-+ +v--+ +v-+ | > | | Plane A | | Plane B | | Plane N | | > | | Gamma | | Gamma | | Gamma| | > | +---+-+ ++--+ ++-+ | > | | | | | > ++ > +--v--v---v---| > || || > || Pipe Blender|| > +++ > ||| > |+---v--+ | > || Pipe DeGamma| | > || | | > |+---+--+ | > ||Pipe Color | > |+---v--+ Hardware| > || Pipe CSC/CTM| | > || | | > |+---+--+ | > ||| > |+---v--+ | > || Pipe Gamma | | > || | | > |+---+--+ | > ||| > +-+ > | > v >Pipe Output > > This patch series adds properties for plane color features. It adds > properties for degamma used to linearize data and CSC used for gamut > conversion. It also includes Gamma support used to again non-linearize > data as per panel supported color space. These can be utilize by user > space to convert planes from one format to another, one color space to > another etc. > > Userspace can take smart blending decisions and utilize these hardware > supported plane color features to get accurate color profile. The same > can help in consistent color quality from source to panel taking > advantage of advanced color features in hardware. > > These patches add the property interfaces and enable helper functions. > This series adds Intel's XE_LPD hw specific plane gamma feature. We > can build up and add other platform/hardware specific implementation > on top of this series. > > Credits: Special mention and credits to Ville Syrjala for coming up > with a design for this feature and inputs. This series is based on > his original design and idea. > > Note: Userspace support for this new UAPI will be done on Chrome in > alignment with weston and general opensource community. > Discussion ongoing with Harry Wentland, Pekka and community on color > pipeline and UAPI design. Harry's RFC below: > https://patchwork.freedesktop.org/series/89506/ > We need to converge on a common UAPI interface which caters to > all the modern color hardware pipelines. > > ToDo: State readout for this feature will be added next. > > v2: Added UAPI description and added change in the rfc section of > kernel Documentation folder Hi, thank you for this. I do believe the KMS UAPI should expose what hardware can do (prescribed operations) rather than how they would be often used (to realize a conversion from one space description to another). This proposal fits quite nicely with what I have envisioned for Weston. I mainly went over the big picture by commenting in detail on the proposal document, and not looking too carefully at the other documentation or UAPI details at this time. Unfortunately I was unable to decipher how userspace is supposed to use the XE_LPD special gamma features. Thanks, pq > > Uma Shankar (22): > drm: RFC for Plane Color Hardware Pipeline > drm: Add Enhanced Gamma and color lut range attributes > drm: Add Plane Degamma Mode property > drm: Add Plane Degamma Lut property > drm/i915/xelpd: Define Degamma Lut range struct for HDR planes > drm/i915/xelpd: Add register definitions for Plane Degamma >