public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Ezequiel Garcia <ezequiel@collabora.com>
Cc: "Syrjala, Ville" <ville.syrjala@intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	Emil Velikov <emil.l.velikov@gmail.com>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Andrzej Pietrasiewicz <andrzej.p@collabora.com>,
	"Shankar, Uma" <uma.shankar@intel.com>,
	Sean Paul <seanpaul@chromium.org>,
	Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
	Boris Brezillon <boris.brezillon@collabora.com>,
	"Lankhorst, Maarten" <maarten.lankhorst@intel.com>
Subject: Re: [v7 00/16] Add Plane Color Properties
Date: Wed, 19 Jun 2019 18:03:09 +0300	[thread overview]
Message-ID: <20190619150309.GZ5942@intel.com> (raw)
In-Reply-To: <72fd52bed622e7ff474225e624441ceaf015744b.camel@collabora.com>

On Wed, Jun 19, 2019 at 10:18:18AM -0300, Ezequiel Garcia wrote:
> On Wed, 2019-06-19 at 06:20 +0000, Shankar, Uma wrote:
> > > -----Original Message-----
> > > From: dri-devel [mailto:dri-devel-bounces@lists.freedesktop.org] On Behalf Of
> > > Ezequiel Garcia
> > > Sent: Friday, June 14, 2019 9:48 PM
> > > To: Shankar, Uma <uma.shankar@intel.com>
> > > Cc: Emil Velikov <emil.l.velikov@gmail.com>; intel-gfx@lists.freedesktop.org; Syrjala,
> > > Ville <ville.syrjala@intel.com>; Lankhorst, Maarten <maarten.lankhorst@intel.com>;
> > > dri-devel <dri-devel@lists.freedesktop.org>
> > > Subject: Re: [v7 00/16] Add Plane Color Properties
> > > 
> > > On Thu, 28 Mar 2019 at 16:50, 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, CSC used for gamut
> > > > conversion, and gamma 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.
> > > > 
> > > > Usersapce 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 just add the property interfaces and enable helper
> > > > functions.
> > > > 
> > > > This series adds Intel Gen9 specific plane gamma feature. We can build
> > > > up and add other platform/hardware specific implementation on top of
> > > > this series
> > > > 
> > > > Note: This is just to get a design feedback whether these interfaces
> > > > look ok. Based on community feedback on interfaces, we will implement
> > > > IGT tests to validate plane color features. This is un-tested currently.
> > > > 
> > > > Userspace implementation using these properties have been done in drm
> > > > hwcomposer by "Alexandru-Cosmin Gheorghe Alexandru-
> > > Cosmin.Gheorghe@arm.com"
> > > > from ARM. A merge request has been opened by Alexandru for
> > > > drm_hwcomposer, implementing the property changes for the same. Please review
> > > that as well:
> > > > https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer/merge_req
> > > > uests/25
> > > > 
> > > > v2: Dropped legacy gamma table for plane as suggested by Maarten.
> > > > Added Gen9/BDW plane gamma feature and rebase on tot.
> > > > 
> > > > v3: Added a new drm_color_lut_ext structure to accommodate 32 bit
> > > > precision entries, pointed to by Brian, Starkey for HDR usecases.
> > > > Addressed Sean,Paul comments and moved plane color properties to
> > > > drm_plane instead of mode_config. Added property documentation as suggested by
> > > Daniel, Vetter.
> > > > Fixed a rebase fumble which occurred in v2, pointed by Emil Velikov.
> > > > 
> > > > v4: Rebase
> > > > 
> > > > v5: Added "Display Color Hardware Pipeline" flow to kernel
> > > > documentation as suggested by "Ville Syrjala" and "Brian Starkey".
> > > > Moved the property creation to drm_color_mgmt.c file to consolidate
> > > > all color operations at one place. Addressed Alexandru's review comments.
> > > > 
> > > > v6: Rebase. Added support for ICL Color features. Enhanced Lut
> > > > precision to accept input values in u32.32 format. This is needed for
> > > > higher precision required in HDR data processing.
> > > > 
> > > > v7: Fixed Lut roundup and extraction function in patch 1 and address
> > > > definitions for Degamma index in patch 10. Rest of the patches are
> > > > just rebased.
> > > > 
> > > 
> > > I can't find any comments on this one.
> > > 
> > > What's the status of this?
> > 
> > Hi Eze,
> > This was blocked due to lack of a userspace consumer. Since its adds a new UAPI, we need a userspace
> > consumer using this for it to get merge. We have some folks signed up in Intel who can help here.
> > Hopefully we can see some movement on this soon.
> > 
> 
> Hi Uma,
> 
> Thanks a lot for your reply.
> 
> We do have a userspace consumer in chromeos [1]. This is being shipped
> since some time now, and I have been (perhaps too silently) waiting
> for this series to be merged.

I don't think the proposed uapi will be good enough and instead we
need something like the gamma_mode prop for planes as well. Eg. even
bunch of Intel platforms have plane gamma where the input points are
not evenly spaced, so we again have the problem of either lying to
userspace and throwing away a bunch of the user provided LUT entries,
or we add the gamma_mode prop that actually describes the LUT
capabilities.

Another idea that was thrown around was supporting hardware that
supports only hardcoded gamma curves. We need to describe those
somehow and let userspace select the right one.

-- 
Ville Syrjälä
Intel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2019-06-19 15:03 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-28 20:15 [v7 00/16] Add Plane Color Properties Uma Shankar
2019-03-28 20:15 ` ✗ Fi.CI.BAT: failure for Add Plane Color Properties (rev7) Patchwork
2019-03-28 20:15 ` [v7 01/16] drm: Add Enhanced Gamma LUT precision structure Uma Shankar
2019-08-13  9:41   ` [v7, " james qian wang (Arm Technology China)
2019-08-14 14:29     ` Shankar, Uma
2019-08-19  7:59       ` james qian wang (Arm Technology China)
2019-03-28 20:16 ` [v7 02/16] drm: Add Plane Degamma properties Uma Shankar
2019-03-28 20:16 ` [v7 03/16] drm: Add Plane CTM property Uma Shankar
2019-03-28 20:16 ` [v7 04/16] drm: Add Plane Gamma properties Uma Shankar
2019-03-28 20:16 ` [v7 05/16] drm: Define helper function for plane color enabling Uma Shankar
2019-03-28 20:16 ` [v7 06/16] drm/i915: Enable plane color features Uma Shankar
2019-03-28 20:16 ` [v7 07/16] drm/i915: Implement Plane Gamma for Bdw and Gen9 platforms Uma Shankar
2019-03-28 20:16 ` [v7 08/16] drm/i915: Load plane color luts from atomic flip Uma Shankar
2019-03-28 20:16 ` [v7 09/16] drm/i915: Add plane color capabilities Uma Shankar
2019-03-28 20:16 ` [v7 10/16] drm/i915/icl: Add ICL Plane Degamma Register definition Uma Shankar
2019-03-28 20:16 ` [v7 11/16] drm/i915/icl: Enable Plane Degamma Uma Shankar
2019-03-28 20:16 ` [v7 12/16] drm/i915/icl: Add Plane Gamma Register Definitions Uma Shankar
2019-03-28 20:16 ` [v7 13/16] drm/i915/icl: Implement Plane Gamma Uma Shankar
2019-03-28 20:16 ` [v7 14/16] drm/i915: Enable Plane Gamma/Degamma Uma Shankar
2019-03-28 20:16 ` [v7 15/16] drm/i915: Define Plane CSC Registers Uma Shankar
2019-03-28 20:16 ` [v7 16/16] drm/i915: Enable Plane CSC Uma Shankar
2019-06-14 16:17 ` [v7 00/16] Add Plane Color Properties Ezequiel Garcia
2019-06-14 21:22   ` Ezequiel Garcia
2019-06-19  6:20   ` Shankar, Uma
2019-06-19 13:18     ` Ezequiel Garcia
2019-06-19 15:03       ` Ville Syrjälä [this message]
2019-06-19 15:33         ` Ezequiel Garcia
2019-06-19 16:29           ` Ville Syrjälä
2019-06-20 13:42             ` 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=20190619150309.GZ5942@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=andrzej.p@collabora.com \
    --cc=boris.brezillon@collabora.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emil.l.velikov@gmail.com \
    --cc=ezequiel@collabora.com \
    --cc=ezequiel@vanguardiasur.com.ar \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=maarten.lankhorst@intel.com \
    --cc=seanpaul@chromium.org \
    --cc=uma.shankar@intel.com \
    --cc=ville.syrjala@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