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>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Andrzej Pietrasiewicz <andrzej.p@collabora.com>,
	Sean Paul <seanpaul@chromium.org>,
	Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
	"Lankhorst, Maarten" <maarten.lankhorst@intel.com>
Subject: Re: [v7 00/16] Add Plane Color Properties
Date: Wed, 19 Jun 2019 19:29:40 +0300	[thread overview]
Message-ID: <20190619162940.GB5942@intel.com> (raw)
In-Reply-To: <a9adf266e573689847a358bc1b1dc5edbe5567c8.camel@collabora.com>

On Wed, Jun 19, 2019 at 12:33:33PM -0300, Ezequiel Garcia wrote:
> On Wed, 2019-06-19 at 18:03 +0300, Ville Syrjälä wrote:
> > 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.
> > 
> 
> Is the uapi "not good enough" or "incorrect"? For the chromeos usage,
> it seems this PLANE_CTM property is enough, so it's not clear
> to me exactly what we should fix or change.

The ctm is probably OK. Should be the same as what we have for the crtc
I think. The degamma/gamma probably need more work.

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

  reply	other threads:[~2019-06-19 16:29 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ä
2019-06-19 15:33         ` Ezequiel Garcia
2019-06-19 16:29           ` Ville Syrjälä [this message]
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=20190619162940.GB5942@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=andrzej.p@collabora.com \
    --cc=dri-devel@lists.freedesktop.org \
    --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=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