From: Uma Shankar <uma.shankar@intel.com>
To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Cc: Uma Shankar <uma.shankar@intel.com>, bhanuprakash.modem@intel.com
Subject: [PATCH 00/21] Add Support for Plane Color Lut and CSC features
Date: Tue, 1 Jun 2021 16:21:57 +0530 [thread overview]
Message-ID: <20210601105218.29185-1-uma.shankar@intel.com> (raw)
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. We
will notify the list once we have that ready for review.
ToDo: State readout for this feature will be added next.
Uma Shankar (21):
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 +++
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 ++
15 files changed, 1170 insertions(+), 6 deletions(-)
--
2.26.2
next reply other threads:[~2021-06-01 10:16 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-01 10:51 Uma Shankar [this message]
2021-06-01 10:51 ` [PATCH 01/21] drm: Add Enhanced Gamma and color lut range attributes Uma Shankar
2021-06-02 9:33 ` Pekka Paalanen
2021-06-02 20:26 ` Shankar, Uma
2021-06-04 15:23 ` Harry Wentland
2021-06-07 17:19 ` Shankar, Uma
2021-06-01 10:51 ` [PATCH 02/21] drm: Add Plane Degamma Mode property Uma Shankar
2021-06-04 18:24 ` Harry Wentland
2021-06-07 11:00 ` Pekka Paalanen
2021-06-07 17:34 ` Shankar, Uma
2021-06-08 8:34 ` Pekka Paalanen
2021-06-01 10:52 ` [PATCH 03/21] drm: Add Plane Degamma Lut property Uma Shankar
2021-06-01 10:52 ` [PATCH 04/21] drm/i915/xelpd: Define Degamma Lut range struct for HDR planes Uma Shankar
2021-06-28 15:14 ` Harry Wentland
2021-06-30 11:36 ` Shankar, Uma
2021-06-01 10:52 ` [PATCH 05/21] drm/i915/xelpd: Add register definitions for Plane Degamma Uma Shankar
2021-06-01 10:52 ` [PATCH 06/21] drm/i915/xelpd: Enable plane color features Uma Shankar
2021-06-01 10:52 ` [PATCH 07/21] drm/i915/xelpd: Add color capabilities of SDR planes Uma Shankar
2021-06-01 10:52 ` [PATCH 08/21] drm/i915/xelpd: Program Plane Degamma Registers Uma Shankar
2021-06-01 10:52 ` [PATCH 09/21] drm/i915/xelpd: Add plane color check to glk_plane_color_ctl Uma Shankar
2021-06-01 10:52 ` [PATCH 10/21] drm/i915/xelpd: Initialize plane color features Uma Shankar
2021-06-01 10:52 ` [PATCH 11/21] drm/i915/xelpd: Load plane color luts from atomic flip Uma Shankar
2021-06-01 10:52 ` [PATCH 12/21] drm: Add Plane CTM property Uma Shankar
2021-06-01 10:52 ` [PATCH 13/21] drm: Add helper to attach Plane ctm property Uma Shankar
2021-06-01 10:52 ` [PATCH 14/21] drm/i915/xelpd: Define Plane CSC Registers Uma Shankar
2021-06-01 10:52 ` [PATCH 15/21] drm/i915/xelpd: Enable Plane CSC Uma Shankar
2021-06-01 10:52 ` [PATCH 16/21] drm: Add Plane Gamma Mode property Uma Shankar
2021-06-01 10:52 ` [PATCH 17/21] drm: Add Plane Gamma Lut property Uma Shankar
2021-06-01 10:52 ` [PATCH 18/21] drm/i915/xelpd: Define and Initialize Plane Gamma Lut range Uma Shankar
2021-06-01 10:52 ` [PATCH 19/21] drm/i915/xelpd: Add register definitions for Plane Gamma Uma Shankar
2021-06-01 10:52 ` [PATCH 20/21] drm/i915/xelpd: Program Plane Gamma Registers Uma Shankar
2021-06-01 10:52 ` [PATCH 21/21] drm/i915/xelpd: Enable plane gamma Uma Shankar
2021-06-02 9:28 ` [PATCH 00/21] Add Support for Plane Color Lut and CSC features Pekka Paalanen
2021-06-02 20:22 ` Shankar, Uma
2021-06-02 23:42 ` Harry Wentland
2021-06-03 8:47 ` Pekka Paalanen
2021-06-03 12:30 ` Sebastian Wick
2021-06-03 12:58 ` Pekka Paalanen
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=20210601105218.29185-1-uma.shankar@intel.com \
--to=uma.shankar@intel.com \
--cc=bhanuprakash.modem@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
/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).