[RFC v2 00/22] Add Support for Plane Color Lut and CSC features
Shankar, Uma
uma.shankar at intel.com
Thu Feb 3 17:22:21 UTC 2022
> -----Original Message-----
> From: dri-devel <dri-devel-bounces at lists.freedesktop.org> On Behalf Of Harry
> Wentland
> Sent: Wednesday, February 2, 2022 9:42 PM
> To: Shankar, Uma <uma.shankar at intel.com>; intel-gfx at lists.freedesktop.org; dri-
> devel at lists.freedesktop.org
> Cc: sebastian at sebastianwick.net; Shashank.Sharma at 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 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
> > drm/i915/xelpd: Program Plane Degamma Registers
> > drm/i915/xelpd: Add plane color check to glk_plane_color_ctl
> > drm/i915/xelpd: Initialize plane color features
> > drm/i915/xelpd: Load plane color luts from atomic flip
> > drm: Add Plane CTM property
> > drm: Add helper to attach Plane ctm property
> > drm/i915/xelpd: Define Plane CSC Registers
> > drm/i915/xelpd: Enable Plane CSC
> > drm: Add Plane Gamma Mode property
> > drm: Add Plane Gamma Lut property
> > drm/i915/xelpd: Define and Initialize Plane Gamma Lut range
> > drm/i915/xelpd: Add register definitions for Plane Gamma
> > drm/i915/xelpd: Program Plane Gamma Registers
> > drm/i915/xelpd: Enable plane gamma
> >
> > Documentation/gpu/drm-kms.rst | 90 +++
> > Documentation/gpu/rfc/drm_color_pipeline.rst | 167 ++++++
> > drivers/gpu/drm/drm_atomic.c | 1 +
> > drivers/gpu/drm/drm_atomic_state_helper.c | 12 +
> > drivers/gpu/drm/drm_atomic_uapi.c | 38 ++
> > drivers/gpu/drm/drm_color_mgmt.c | 177 +++++-
> > .../gpu/drm/i915/display/intel_atomic_plane.c | 6 +
> > .../gpu/drm/i915/display/intel_atomic_plane.h | 2 +
> > drivers/gpu/drm/i915/display/intel_color.c | 513 ++++++++++++++++++
> > drivers/gpu/drm/i915/display/intel_color.h | 2 +
> > .../drm/i915/display/skl_universal_plane.c | 15 +-
> > drivers/gpu/drm/i915/i915_drv.h | 3 +
> > drivers/gpu/drm/i915/i915_reg.h | 176 +++++-
> > include/drm/drm_mode_object.h | 2 +-
> > include/drm/drm_plane.h | 81 +++
> > include/uapi/drm/drm_mode.h | 58 ++
> > 16 files changed, 1337 insertions(+), 6 deletions(-) create mode
> > 100644 Documentation/gpu/rfc/drm_color_pipeline.rst
> >
More information about the dri-devel
mailing list