From: Harry Wentland <harry.wentland@amd.com>
To: Alex Goins <agoins@nvidia.com>
Cc: "Xaver Hugl" <xaver.hugl@gmail.com>,
dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
wayland-devel@lists.freedesktop.org,
"Ville Syrjala" <ville.syrjala@linux.intel.com>,
"Pekka Paalanen" <pekka.paalanen@collabora.com>,
"Simon Ser" <contact@emersion.fr>,
"Melissa Wen" <mwen@igalia.com>,
"Jonas Ådahl" <jadahl@redhat.com>,
"Sebastian Wick" <sebastian.wick@redhat.com>,
"Shashank Sharma" <shashank.sharma@amd.com>,
"Joshua Ashton" <joshua@froggi.es>,
"Michel Dänzer" <mdaenzer@redhat.com>,
"Aleix Pol" <aleixpol@kde.org>,
"Victoria Brekenfeld" <victoria@system76.com>,
Sima <daniel@ffwll.ch>, "Uma Shankar" <uma.shankar@intel.com>,
"Naseer Ahmed" <quic_naseer@quicinc.com>,
"Christopher Braga" <quic_cbraga@quicinc.com>,
"Abhinav Kumar" <quic_abhinavk@quicinc.com>,
"Arthur Grillo" <arthurgrillo@riseup.net>,
"Hector Martin" <marcan@marcan.st>,
"Liviu Dudau" <Liviu.Dudau@arm.com>,
"Sasha McIntosh" <sashamcintosh@google.com>,
"Chaitanya Kumar Borah" <chaitanya.kumar.borah@intel.com>
Subject: Re: [PATCH v5 00/44] Color Pipeline API w/ VKMS
Date: Thu, 3 Oct 2024 16:00:45 -0400 [thread overview]
Message-ID: <e9ee5afb-e1e0-409c-9af8-143217370f11@amd.com> (raw)
In-Reply-To: <3a6a5a7e-ea86-74b6-788b-b7d76651fd8@nvidia.com>
On 2024-09-10 16:37, Alex Goins wrote:
> Hi Harry,
>
> Thanks for this. I just want to remind about a few things that would be required
> for NVIDIA hardware, as discussed at the Display Next Hackfest -- fully
> understand that they aren't currently included in this series because they
> aren't required on AMD hardware. Allowing color ops to be non-bypassable is a
> big improvement in this direction.
>
Thanks for your feedback.
> In each of these cases, it should be possible to represent NVIDIA's color
> pipeline using the existing color ops, but it would rely on rejecting invalid
> configurations in atomic check, with no way to communicate the limitations to
> clients.
>
> - Tag IN_FORMATS for a color pipeline (as you have mentioned).
> + Required to communicate that the first NVIDIA pre-blending LUT is
> incompatible with FP16 inputs.
>
I have a sketch in a branch [1] but the work was a bit larger than
I anticipated so I parked it for now.
> - Introduce a single-channel 1DLUT color op, or add the ability to flag
> individual channels of an ordinary 1DLUT as read-only.
> + Required to handle NVIDIA's 1D tone-mapping LUT designed to operate only
> on the intensity component of ICtCp.
>
I'm reluctant to add a new single-channel colorop type without having the
ability to test it. Though I guess VKMS could serve as a stand-in but that
would mean an implementation for it in VKMS.
> - Allow marking color ops as read-only and non-bypassable (halfway there)
> and/or allow marking a color op as requiring a modeset to update.
> + Required to handle specific LUTs that can't have their entries changed
> while in use without visible glitches/tearing, yet must be enabled to
> support tone-mapping and pre-blend scaling.
> + In lieu of the first option, it may be suitable to just use the existing
> 1D curve colorop with only a single curve supported, marked as
> non-bypassable. Allowing modesets as in the second option would allow for
> the possibility of selecting different curves, however.
>
Flags should be easy to add to a colorop because a colorop is just a DRM
object, so we can extend it with new properties. I envision this to be a
FLAGS bitmask property, so the implementation can probably look similar
to the rotation property [2]. And the flags can be REQUIRES_MODESET and
SINGLE_CHANNEL, or something like that.
[1] https://gitlab.freedesktop.org/hwentland/linux/-/tree/amd-color-pipeline-v6-in-formats
[2] https://drmdb.emersion.fr/properties/3435973836/rotation
Harry
> Thanks,
> Alex Goins
> NVIDIA
next prev parent reply other threads:[~2024-10-03 20:00 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-19 20:56 [PATCH v5 00/44] Color Pipeline API w/ VKMS Harry Wentland
2024-08-19 20:56 ` [PATCH v5 01/44] drm: Add helper for conversion from signed-magnitude Harry Wentland
2024-08-19 20:56 ` [PATCH v5 02/44] drm/vkms: Round fixp2int conversion in lerp_u16 Harry Wentland
2024-08-27 17:49 ` Louis Chauvet
2024-08-19 20:56 ` [PATCH v5 03/44] drm/vkms: Add kunit tests for VKMS LUT handling Harry Wentland
2024-08-21 1:05 ` Jeff Johnson
2024-08-27 17:49 ` Louis Chauvet
2024-08-28 13:36 ` Harry Wentland
2024-08-19 20:56 ` [PATCH v5 04/44] drm/doc/rfc: Describe why prescriptive color pipeline is needed Harry Wentland
2024-08-19 20:56 ` [PATCH v5 05/44] drm/colorop: Introduce new drm_colorop mode object Harry Wentland
2024-08-27 17:49 ` Louis Chauvet
2024-08-19 20:56 ` [PATCH v5 06/44] drm/colorop: Add TYPE property Harry Wentland
2024-08-19 20:56 ` [PATCH v5 07/44] drm/colorop: Add 1D Curve subtype Harry Wentland
2024-08-19 20:56 ` [PATCH v5 08/44] Documentation/gpu: document drm_colorop Harry Wentland
2024-08-19 20:56 ` [PATCH v5 09/44] drm/colorop: Add BYPASS property Harry Wentland
2024-08-19 20:56 ` [PATCH v5 10/44] drm/colorop: Add NEXT property Harry Wentland
2024-08-19 20:56 ` [PATCH v5 11/44] drm/colorop: Add atomic state print for drm_colorop Harry Wentland
2024-08-19 20:56 ` [PATCH v5 12/44] drm/plane: Add COLOR PIPELINE property Harry Wentland
2024-08-19 20:56 ` [PATCH v5 13/44] drm/colorop: Add NEXT to colorop state print Harry Wentland
2024-08-19 20:56 ` [PATCH v5 14/44] drm/vkms: Add enumerated 1D curve colorop Harry Wentland
2024-08-27 17:49 ` Louis Chauvet
2024-08-19 20:56 ` [PATCH v5 15/44] drm/vkms: Add kunit tests for linear and sRGB LUTs Harry Wentland
2024-08-19 20:56 ` [PATCH v5 16/44] drm/colorop: Introduce DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE Harry Wentland
2024-08-19 20:56 ` [PATCH v5 17/44] drm/colorop: Add 3x4 CTM type Harry Wentland
2024-08-19 20:56 ` [PATCH v5 18/44] drm/vkms: Use s32 for internal color pipeline precision Harry Wentland
2024-08-27 17:49 ` Louis Chauvet
2024-08-19 20:56 ` [PATCH v5 19/44] drm/vkms: add 3x4 matrix in color pipeline Harry Wentland
2024-08-27 17:49 ` Louis Chauvet
2024-09-06 17:08 ` Harry Wentland
2024-08-19 20:56 ` [PATCH v5 20/44] drm/tests: Add a few tests around drm_fixed.h Harry Wentland
2024-08-21 1:07 ` Jeff Johnson
2024-08-21 4:00 ` kernel test robot
2024-08-22 14:55 ` kernel test robot
2024-08-19 20:56 ` [PATCH v5 21/44] drm/vkms: Add tests for CTM handling Harry Wentland
2024-08-19 20:56 ` [PATCH v5 22/44] drm/colorop: pass plane_color_pipeline client cap to atomic check Harry Wentland
2024-08-19 20:56 ` [PATCH v5 23/44] drm/colorop: define a new macro for_each_new_colorop_in_state Harry Wentland
2024-08-19 20:56 ` [PATCH v5 24/44] drm/amd/display: Ignore deprecated props when plane_color_pipeline set Harry Wentland
2024-08-19 20:56 ` [PATCH v5 25/44] drm/amd/display: Add bypass COLOR PIPELINE Harry Wentland
2024-08-19 20:56 ` [PATCH v5 26/44] drm/amd/display: Skip color pipeline initialization for cursor plane Harry Wentland
2024-08-19 20:56 ` [PATCH v5 27/44] drm/amd/display: Add support for sRGB EOTF in DEGAM block Harry Wentland
2024-08-19 20:56 ` [PATCH v5 28/44] drm/amd/display: Add support for sRGB Inverse EOTF in SHAPER block Harry Wentland
2024-08-21 4:52 ` kernel test robot
2024-08-19 20:56 ` [PATCH v5 29/44] drm/amd/display: Add support for sRGB EOTF in BLND block Harry Wentland
2024-08-19 20:56 ` [PATCH v5 30/44] drm/colorop: Add PQ 125 EOTF and its inverse Harry Wentland
2024-08-19 20:56 ` [PATCH v5 31/44] drm/amd/display: Enable support for PQ 125 EOTF and Inverse Harry Wentland
2024-08-19 20:56 ` [PATCH v5 32/44] drm/colorop: add BT2020/BT709 OETF and Inverse OETF Harry Wentland
2024-08-19 20:57 ` [PATCH v5 33/44] drm/amd/display: Add support for BT.709 and BT.2020 TFs Harry Wentland
2024-08-19 20:57 ` [PATCH v5 34/44] drm/colorop: Add 1D Curve Custom LUT type Harry Wentland
2024-08-19 20:57 ` [PATCH v5 35/44] drm/amd/display: add shaper and blend colorops for 1D Curve Custom LUT Harry Wentland
2024-08-19 20:57 ` [PATCH v5 36/44] drm/amd/display: add 3x4 matrix colorop Harry Wentland
2024-08-21 3:19 ` kernel test robot
2024-08-21 9:22 ` kernel test robot
2024-08-19 20:57 ` [PATCH v5 37/44] drm/colorop: Add mutliplier type Harry Wentland
2024-08-19 20:57 ` [PATCH v5 38/44] drm/amd/display: add multiplier colorop Harry Wentland
2024-08-19 20:57 ` [PATCH v5 39/44] drm/amd/display: Swap matrix and multiplier Harry Wentland
2024-08-19 20:57 ` [PATCH v5 40/44] drm/colorop: Define LUT_1D interpolation Harry Wentland
2024-08-19 20:57 ` [PATCH v5 41/44] drm/colorop: allow non-bypass colorops Harry Wentland
2024-08-27 17:49 ` Louis Chauvet
2024-08-19 20:57 ` [PATCH v5 42/44] drm/colorop: Add 3D LUT supports to color pipeline Harry Wentland
2024-08-19 20:57 ` [PATCH v5 43/44] drm/amd/display: add 3D LUT colorop Harry Wentland
2024-08-19 20:57 ` [PATCH v5 44/44] drm/amd/display: Add AMD color pipeline doc Harry Wentland
2024-08-27 17:49 ` [PATCH v5 00/44] Color Pipeline API w/ VKMS Louis Chauvet
2024-10-03 20:09 ` Harry Wentland
2024-08-29 14:55 ` Xaver Hugl
2024-09-09 18:40 ` Harry Wentland
2024-09-10 20:37 ` Alex Goins
2024-10-03 20:00 ` Harry Wentland [this message]
2024-09-10 19:24 ` [PATCH] drm/colorop: get DATA blob ref at duplicate_state Harry Wentland
2024-09-13 0:17 ` Xaver Hugl
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=e9ee5afb-e1e0-409c-9af8-143217370f11@amd.com \
--to=harry.wentland@amd.com \
--cc=Liviu.Dudau@arm.com \
--cc=agoins@nvidia.com \
--cc=aleixpol@kde.org \
--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=dri-devel@lists.freedesktop.org \
--cc=jadahl@redhat.com \
--cc=joshua@froggi.es \
--cc=marcan@marcan.st \
--cc=mdaenzer@redhat.com \
--cc=mwen@igalia.com \
--cc=pekka.paalanen@collabora.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