From: Pekka Paalanen <ppaalanen@gmail.com>
To: Uma Shankar <uma.shankar@intel.com>
Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
harry.wentland@amd.com, ville.syrjala@linux.intel.com,
brian.starkey@arm.com, sebastian@sebastianwick.net,
Shashank.Sharma@amd.com
Subject: Re: [RFC v2 00/22] Add Support for Plane Color Lut and CSC features
Date: Tue, 12 Oct 2021 14:55:29 +0300 [thread overview]
Message-ID: <20211012145529.687dfdee@eldfell> (raw)
In-Reply-To: <20210906213904.27918-1-uma.shankar@intel.com>
[-- Attachment #1: Type: text/plain, Size: 7039 bytes --]
On Tue, 7 Sep 2021 03:08:42 +0530
Uma Shankar <uma.shankar@intel.com> 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
> 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
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2021-10-12 11:55 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-06 21:38 [RFC v2 00/22] Add Support for Plane Color Lut and CSC features Uma Shankar
2021-09-06 21:38 ` [RFC v2 01/22] drm: RFC for Plane Color Hardware Pipeline Uma Shankar
2021-10-12 10:30 ` Pekka Paalanen
2021-10-12 10:35 ` Simon Ser
2021-10-12 12:00 ` Pekka Paalanen
2021-10-12 19:11 ` Shankar, Uma
2021-10-13 7:25 ` Pekka Paalanen
2021-10-14 19:46 ` Shankar, Uma
2021-10-12 20:58 ` Shankar, Uma
2021-10-13 8:30 ` Pekka Paalanen
2021-10-14 19:44 ` Shankar, Uma
2021-10-15 7:42 ` Pekka Paalanen
2021-10-26 15:11 ` Harry Wentland
2021-10-26 15:36 ` Harry Wentland
2021-10-27 8:00 ` Pekka Paalanen
2021-10-27 12:48 ` Harry Wentland
2021-10-26 15:40 ` Harry Wentland
2021-11-23 15:05 ` Harry Wentland
2021-11-25 20:43 ` Shankar, Uma
2021-11-26 8:21 ` Pekka Paalanen
2021-09-06 21:38 ` [RFC v2 02/22] drm: Add Enhanced Gamma and color lut range attributes Uma Shankar
2021-11-03 15:08 ` Harry Wentland
2021-11-04 8:38 ` Pekka Paalanen
2021-11-04 16:27 ` Harry Wentland
2021-11-05 11:49 ` Ville Syrjälä
2021-11-09 20:22 ` Harry Wentland
2021-11-08 9:54 ` Pekka Paalanen
2021-11-09 20:47 ` Harry Wentland
2021-11-09 22:02 ` Ville Syrjälä
2021-11-10 8:49 ` Pekka Paalanen
2021-11-10 11:55 ` Ville Syrjälä
2021-11-10 15:17 ` Harry Wentland
2021-11-11 8:22 ` Pekka Paalanen
2021-09-06 21:38 ` [RFC v2 03/22] drm: Add Plane Degamma Mode property Uma Shankar
2021-10-12 11:50 ` Pekka Paalanen
2021-10-12 21:02 ` Shankar, Uma
2021-09-06 21:38 ` [RFC v2 04/22] drm: Add Plane Degamma Lut property Uma Shankar
2021-09-06 21:38 ` [RFC v2 05/22] drm/i915/xelpd: Define Degamma Lut range struct for HDR planes Uma Shankar
2021-11-03 15:10 ` Harry Wentland
2021-11-05 12:59 ` Ville Syrjälä
2021-11-09 20:19 ` Harry Wentland
2021-11-09 21:45 ` Ville Syrjälä
2021-11-09 21:56 ` Harry Wentland
2021-11-11 15:17 ` Harry Wentland
2021-11-11 16:42 ` Ville Syrjälä
2021-11-11 20:42 ` Shankar, Uma
2021-11-11 21:10 ` Harry Wentland
2021-11-11 21:58 ` Shankar, Uma
2021-11-12 8:37 ` Pekka Paalanen
2021-11-23 14:40 ` Harry Wentland
2021-11-12 14:54 ` Ville Syrjälä
2021-11-16 8:15 ` Pekka Paalanen
2021-09-06 21:38 ` [RFC v2 06/22] drm/i915/xelpd: Add register definitions for Plane Degamma Uma Shankar
2021-09-06 21:38 ` [RFC v2 07/22] drm/i915/xelpd: Enable plane color features Uma Shankar
2021-09-06 21:38 ` [RFC v2 08/22] drm/i915/xelpd: Add color capabilities of SDR planes Uma Shankar
2021-09-06 21:38 ` [RFC v2 09/22] drm/i915/xelpd: Program Plane Degamma Registers Uma Shankar
2021-09-06 21:38 ` [RFC v2 10/22] drm/i915/xelpd: Add plane color check to glk_plane_color_ctl Uma Shankar
2021-09-06 21:38 ` [RFC v2 11/22] drm/i915/xelpd: Initialize plane color features Uma Shankar
2021-09-06 21:38 ` [RFC v2 12/22] drm/i915/xelpd: Load plane color luts from atomic flip Uma Shankar
2021-09-06 21:38 ` [RFC v2 13/22] drm: Add Plane CTM property Uma Shankar
2021-09-06 21:38 ` [RFC v2 14/22] drm: Add helper to attach Plane ctm property Uma Shankar
2021-09-06 21:38 ` [RFC v2 15/22] drm/i915/xelpd: Define Plane CSC Registers Uma Shankar
2021-09-06 21:38 ` [RFC v2 16/22] drm/i915/xelpd: Enable Plane CSC Uma Shankar
2021-09-06 21:38 ` [RFC v2 17/22] drm: Add Plane Gamma Mode property Uma Shankar
2021-09-06 21:39 ` [RFC v2 18/22] drm: Add Plane Gamma Lut property Uma Shankar
2021-09-06 21:39 ` [RFC v2 19/22] drm/i915/xelpd: Define and Initialize Plane Gamma Lut range Uma Shankar
2021-09-06 21:39 ` [RFC v2 20/22] drm/i915/xelpd: Add register definitions for Plane Gamma Uma Shankar
2021-09-06 21:39 ` [RFC v2 21/22] drm/i915/xelpd: Program Plane Gamma Registers Uma Shankar
2021-09-06 21:39 ` [RFC v2 22/22] drm/i915/xelpd: Enable plane gamma Uma Shankar
2021-10-12 11:55 ` Pekka Paalanen [this message]
2021-10-12 21:01 ` [RFC v2 00/22] Add Support for Plane Color Lut and CSC features Shankar, Uma
2021-10-26 15:02 ` Harry Wentland
2021-10-27 8:18 ` Pekka Paalanen
2022-02-02 16:11 ` Harry Wentland
2022-02-03 17:22 ` Shankar, Uma
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211012145529.687dfdee@eldfell \
--to=ppaalanen@gmail.com \
--cc=Shashank.Sharma@amd.com \
--cc=brian.starkey@arm.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=harry.wentland@amd.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=sebastian@sebastianwick.net \
--cc=uma.shankar@intel.com \
--cc=ville.syrjala@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).