From: Pekka Paalanen <pekka.paalanen@collabora.com>
To: Harry Wentland <harry.wentland@amd.com>
Cc: Xaver Hugl <xaver.hugl@gmail.com>,
Leandro Ribeiro <leandro.ribeiro@collabora.com>,
Daniel Stone <daniel@fooishbar.org>,
Simon Ser <contact@emersion.fr>, Alex Hung <alex.hung@amd.com>,
Misyl Toad <misyl@froggi.es>,
dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
wayland-devel@lists.freedesktop.org, leo.liu@amd.com,
ville.syrjala@linux.intel.com, mwen@igalia.com,
jadahl@redhat.com, sebastian.wick@redhat.com,
shashank.sharma@amd.com, agoins@nvidia.com, joshua@froggi.es,
mdaenzer@redhat.com, aleixpol@kde.org, victoria@system76.com,
daniel@ffwll.ch, uma.shankar@intel.com, quic_naseer@quicinc.com,
quic_cbraga@quicinc.com, quic_abhinavk@quicinc.com,
marcan@marcan.st, Liviu.Dudau@arm.com, sashamcintosh@google.com,
chaitanya.kumar.borah@intel.com, louis.chauvet@bootlin.com,
Arthur Grillo <arthurgrillo@riseup.net>
Subject: Re: [PATCH V9 00/43] Color Pipeline API w/ VKMS
Date: Thu, 22 May 2025 10:57:41 +0300 [thread overview]
Message-ID: <20250522105741.6aafc955@eldfell> (raw)
In-Reply-To: <63e934e6-3c27-4128-801b-f1189f12f8f0@amd.com>
[-- Attachment #1: Type: text/plain, Size: 3853 bytes --]
On Wed, 21 May 2025 15:48:00 -0400
Harry Wentland <harry.wentland@amd.com> wrote:
> On 2025-05-17 07:51, Xaver Hugl wrote:
> > Am Do., 15. Mai 2025 um 22:00 Uhr schrieb Leandro Ribeiro
> > <leandro.ribeiro@collabora.com>:
> >>
> >>
> >>
> >> On 5/15/25 15:39, Daniel Stone wrote:
> >>> Hi,
> >>>
> >>> On Thu, 15 May 2025 at 19:02, Harry Wentland <harry.wentland@amd.com> wrote:
> >>>> On 2025-05-15 13:19, Daniel Stone wrote:
> >>>>> Yeah, the Weston patches are marching on. We've still been doing a
> >>>>> little bit of cleanup and prep work in the background to land them,
> >>>>> but we also can't land them until the kernel lands. None of that work
> >>>>> is material to the uAPI though: as said previously, the uAPI looks
> >>>>> completely solid and it's something we can definitely beneficially use
> >>>>> in Weston. (Even if we do need the obvious follow-ons for
> >>>>> post-blending as well ...)
> >>>>
> >>>> We can't merge kernel uAPI without canonical userspace that uses it.
> >>>> To move forward we'll need a userspace to at least publish a branch
> >>>> that shows the use of this new uAPI.
> >>>>
> >>>> Do you have a public branch for the Weston work for this?
> >>>
> >>> Yeah, https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1702
> >>> has been around for a little while now. There are some driver bugs
> >>> that Leandro commented on, but they don't seem material to the uAPI as
> >>> such?
> >>
> >> Hello,
> >>
> >> Yes, there's nothing related to the API that is blocking us. It seemed
> >> very flexible and easy to use. The bugs that I've spotted are probably
> >> internal to AMD driver.
> >>
> >> I'd say that the Weston patches are converging nicely, we just need time
> >> to get them fully reviewed. We had a few preparation MR's to land
> >> before !1702, and now there's only one left (!1617).
> >
> > I also updated the KWin MR
> > (https://invent.kde.org/plasma/kwin/-/merge_requests/6600), it can now
> > use all the available properties and I think it's ready. I found two
> > issues with the kernel patches though:
> > - while attempting to set COLOR_ENCODING and COLOR_RANGE results in
> > the atomic commit being rejected, the existing values still get
> > applied if you use YCbCr-type buffers. I would've expected the color
> > pipeline to operate on the YUV values in that case - and leave
> > conversion to RGB up to the compositor adding the relevant matrix to
> > the pipeline
>
> AMD HW always operates on RGB values, so there'll always be an
> implicit conversion of YCbCr-type buffers to RGB.
Surely the transformation from YCbCr to RGB can be one that maps each
of Y, Cb and Cr channels to G, B and R ranges [0.0, 1.0]?
Of course, that's not identity transformation (Cb and Cr have domain
[-0.5, 0.5] or something like that) and R, B may not handle negative
values.
But if R and B channels can be negative too, then identity mapping
would be usable.
There will need to be a definition of how YCbCr enters the color
pipeline: the order of the channels and their domains. The rest can be
just more colorops.
We should be careful to allow limited range YUV formats to be
interpreted as full range to avoid clipping the sub-black and
super-white signal ranges. The color pipeline can be configured to deal
with those ranges as necessary.
> What we should
> do is reject YCbCr-type buffers with the color pipeline until we
> implement support for COLOR_ENCODING and COLOR_RANGE as a new
> CSC colorop.
Rejecting is fine, but is implementing COLOR_ENCODING and COLOR_RANGE
really a good idea instead of making the color pipelines handle them?
Wasn't the original plan to hide all such legacy plane properties when
userspace signals color pipeline support?
Thanks,
pq
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2025-05-22 13:12 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-30 1:10 [PATCH V9 00/43] Color Pipeline API w/ VKMS Alex Hung
2025-04-30 1:10 ` [PATCH V9 01/43] drm: Add helper for conversion from signed-magnitude Alex Hung
2025-04-30 1:10 ` [PATCH V9 02/43] drm/vkms: Add kunit tests for VKMS LUT handling Alex Hung
2025-04-30 1:10 ` [PATCH V9 03/43] drm/doc/rfc: Describe why prescriptive color pipeline is needed Alex Hung
2025-05-15 9:30 ` Simon Ser
2025-04-30 1:10 ` [PATCH V9 04/43] drm/colorop: Introduce new drm_colorop mode object Alex Hung
2025-04-30 1:10 ` [PATCH V9 05/43] drm/colorop: Add TYPE property Alex Hung
2025-04-30 1:10 ` [PATCH V9 06/43] drm/colorop: Add 1D Curve subtype Alex Hung
2025-04-30 1:10 ` [PATCH V9 07/43] drm/colorop: Add BYPASS property Alex Hung
2025-04-30 1:10 ` [PATCH V9 08/43] drm/colorop: Add NEXT property Alex Hung
2025-04-30 1:10 ` [PATCH V9 09/43] drm/colorop: Add atomic state print for drm_colorop Alex Hung
2025-04-30 1:10 ` [PATCH V9 10/43] drm/plane: Add COLOR PIPELINE property Alex Hung
2025-04-30 1:10 ` [PATCH V9 11/43] drm/colorop: Introduce DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE Alex Hung
2025-04-30 1:10 ` [PATCH V9 12/43] Documentation/gpu: document drm_colorop Alex Hung
2025-04-30 1:10 ` [PATCH V9 13/43] drm/colorop: Add destroy functions for color pipeline Alex Hung
2025-05-15 9:34 ` Simon Ser
2025-04-30 1:10 ` [PATCH V9 14/43] drm/vkms: Add enumerated 1D curve colorop Alex Hung
2025-04-30 1:10 ` [PATCH V9 15/43] drm/vkms: Add kunit tests for linear and sRGB LUTs Alex Hung
2025-05-07 10:03 ` kernel test robot
2025-04-30 1:10 ` [PATCH V9 16/43] drm/colorop: Add 3x4 CTM type Alex Hung
2025-06-16 11:30 ` Borah, Chaitanya Kumar
2025-06-16 13:32 ` Pekka Paalanen
2025-06-17 5:33 ` Borah, Chaitanya Kumar
2025-06-17 15:25 ` Ville Syrjälä
2025-04-30 1:10 ` [PATCH V9 17/43] drm/vkms: Use s32 for internal color pipeline precision Alex Hung
2025-04-30 1:10 ` [PATCH V9 18/43] drm/vkms: add 3x4 matrix in color pipeline Alex Hung
2025-04-30 1:10 ` [PATCH V9 19/43] drm/tests: Add a few tests around drm_fixed.h Alex Hung
2025-04-30 1:10 ` [PATCH V9 20/43] drm/vkms: Add tests for CTM handling Alex Hung
2025-04-30 1:10 ` [PATCH V9 21/43] drm/colorop: pass plane_color_pipeline client cap to atomic check Alex Hung
2025-04-30 1:10 ` [PATCH V9 22/43] drm/colorop: define a new macro for_each_new_colorop_in_state Alex Hung
2025-05-12 18:32 ` Melissa Wen
2025-04-30 1:10 ` [PATCH V9 23/43] drm/amd/display: Ignore deprecated props when plane_color_pipeline set Alex Hung
2025-04-30 1:10 ` [PATCH V9 24/43] drm/amd/display: Add bypass COLOR PIPELINE Alex Hung
2025-05-12 18:41 ` Melissa Wen
2025-04-30 1:10 ` [PATCH V9 25/43] drm/amd/display: Skip color pipeline initialization for cursor plane Alex Hung
2025-04-30 1:10 ` [PATCH V9 26/43] drm/amd/display: Add support for sRGB EOTF in DEGAM block Alex Hung
2025-05-12 18:50 ` Melissa Wen
2025-05-13 7:42 ` Pekka Paalanen
2025-05-13 15:36 ` Melissa Wen
2025-05-13 20:39 ` Harry Wentland
2025-05-15 10:57 ` Pekka Paalanen
2025-04-30 1:10 ` [PATCH V9 27/43] drm/amd/display: Add support for sRGB Inverse EOTF in SHAPER block Alex Hung
2025-04-30 1:10 ` [PATCH V9 28/43] drm/amd/display: Add support for sRGB EOTF in BLND block Alex Hung
2025-04-30 1:10 ` [PATCH V9 29/43] drm/colorop: Add PQ 125 EOTF and its inverse Alex Hung
2025-04-30 1:11 ` [PATCH V9 30/43] drm/amd/display: Enable support for PQ 125 EOTF and Inverse Alex Hung
2025-04-30 1:11 ` [PATCH V9 31/43] drm/colorop: add BT2020/BT709 OETF and Inverse OETF Alex Hung
2025-05-15 9:35 ` Simon Ser
2025-04-30 1:11 ` [PATCH V9 32/43] drm/amd/display: Add support for BT.709 and BT.2020 TFs Alex Hung
2025-05-12 19:37 ` Melissa Wen
2025-04-30 1:11 ` [PATCH V9 33/43] drm/colorop: Add 1D Curve Custom LUT type Alex Hung
2025-04-30 1:11 ` [PATCH V9 34/43] drm/amd/display: add shaper and blend colorops for 1D Curve Custom LUT Alex Hung
2025-04-30 1:11 ` [PATCH V9 35/43] drm/amd/display: add 3x4 matrix colorop Alex Hung
2025-05-07 12:08 ` kernel test robot
2025-04-30 1:11 ` [PATCH V9 36/43] drm/colorop: Add mutliplier type Alex Hung
2025-05-12 20:02 ` Melissa Wen
2025-04-30 1:11 ` [PATCH V9 37/43] drm/amd/display: add multiplier colorop Alex Hung
2025-04-30 1:11 ` [PATCH V9 38/43] drm/amd/display: Swap matrix and multiplier Alex Hung
2025-04-30 1:11 ` [PATCH V9 39/43] drm/colorop: Define LUT_1D interpolation Alex Hung
2025-04-30 1:11 ` [PATCH V9 40/43] drm/colorop: allow non-bypass colorops Alex Hung
2025-05-15 9:37 ` Simon Ser
2025-04-30 1:11 ` [PATCH V9 41/43] drm/colorop: Add 3D LUT support to color pipeline Alex Hung
2025-04-30 1:11 ` [PATCH V9 42/43] drm/amd/display: add 3D LUT colorop Alex Hung
2025-05-13 0:52 ` Melissa Wen
2025-05-13 3:29 ` Alex Hung
2025-05-13 15:52 ` Melissa Wen
2025-04-30 1:11 ` [PATCH V9 43/43] drm/amd/display: Add AMD color pipeline doc Alex Hung
2025-05-13 15:59 ` [PATCH V9 00/43] Color Pipeline API w/ VKMS Melissa Wen
2025-05-15 9:45 ` Simon Ser
2025-05-15 14:10 ` Harry Wentland
2025-05-15 14:15 ` Simon Ser
2025-05-15 17:19 ` Daniel Stone
2025-05-15 18:02 ` Harry Wentland
2025-05-15 18:39 ` Daniel Stone
2025-05-15 19:59 ` Leandro Ribeiro
2025-05-17 11:51 ` Xaver Hugl
2025-05-21 19:48 ` Harry Wentland
2025-05-22 7:57 ` Pekka Paalanen [this message]
2025-05-22 13:28 ` Harry Wentland
2025-05-22 13:49 ` Simon Ser
2025-05-22 13:54 ` Harry Wentland
2025-05-22 15:27 ` Pekka Paalanen
2025-05-22 15:49 ` Harry Wentland
-- strict thread matches above, loose matches on Subject: below --
2025-08-09 19:56 Lauren Conrad
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=20250522105741.6aafc955@eldfell \
--to=pekka.paalanen@collabora.com \
--cc=Liviu.Dudau@arm.com \
--cc=agoins@nvidia.com \
--cc=aleixpol@kde.org \
--cc=alex.hung@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=arthurgrillo@riseup.net \
--cc=chaitanya.kumar.borah@intel.com \
--cc=contact@emersion.fr \
--cc=daniel@ffwll.ch \
--cc=daniel@fooishbar.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=harry.wentland@amd.com \
--cc=jadahl@redhat.com \
--cc=joshua@froggi.es \
--cc=leandro.ribeiro@collabora.com \
--cc=leo.liu@amd.com \
--cc=louis.chauvet@bootlin.com \
--cc=marcan@marcan.st \
--cc=mdaenzer@redhat.com \
--cc=misyl@froggi.es \
--cc=mwen@igalia.com \
--cc=quic_abhinavk@quicinc.com \
--cc=quic_cbraga@quicinc.com \
--cc=quic_naseer@quicinc.com \
--cc=sashamcintosh@google.com \
--cc=sebastian.wick@redhat.com \
--cc=shashank.sharma@amd.com \
--cc=uma.shankar@intel.com \
--cc=victoria@system76.com \
--cc=ville.syrjala@linux.intel.com \
--cc=wayland-devel@lists.freedesktop.org \
--cc=xaver.hugl@gmail.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