[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <450dcc7b-e53d-4059-b340-aafc3317c1f7@amd.com>
Date: Mon, 29 Sep 2025 06:22:05 -0400
From: Harry Wentland <harry.wentland@....com>
To: Nícolas F. R. A. Prado <nfraprado@...labora.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Chun-Kuang Hu <chunkuang.hu@...nel.org>,
Philipp Zabel <p.zabel@...gutronix.de>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
Haneen Mohammed <hamohammed.sa@...il.com>,
Melissa Wen <melissa.srw@...il.com>
Cc: Alex Hung <alex.hung@....com>, wayland-devel@...ts.freedesktop.org,
leo.liu@....com, ville.syrjala@...ux.intel.com,
pekka.paalanen@...labora.com, contact@...rsion.fr, mwen@...lia.com,
jadahl@...hat.com, sebastian.wick@...hat.com, shashank.sharma@....com,
agoins@...dia.com, joshua@...ggi.es, mdaenzer@...hat.com, aleixpol@....org,
xaver.hugl@...il.com, victoria@...tem76.com, uma.shankar@...el.com,
quic_naseer@...cinc.com, quic_cbraga@...cinc.com, quic_abhinavk@...cinc.com,
marcan@...can.st, Liviu.Dudau@....com, sashamcintosh@...gle.com,
chaitanya.kumar.borah@...el.com, louis.chauvet@...tlin.com,
mcanal@...lia.com, kernel@...labora.com, daniels@...labora.com,
leandro.ribeiro@...labora.com, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, linux-mediatek@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, Simona Vetter <simona.vetter@...ll.ch>
Subject: Re: [PATCH RFC v2 00/20] Introduce support for post-blend color
pipeline
On 2025-09-17 20:43, Nícolas F. R. A. Prado wrote:
> This series is based on "Color Pipeline API w/ VKMS" [1]. It reuses the
> same concept of a color pipeline API but for the post-blend stage
> instead of pre-blend, by attaching the COLOR_PIPELINE property to the
> CRTC rather than a plane.
>
> The patches in the series first implement the necessary changes in the
> DRM core to allow for post-blend color pipelines and expose it through
> the uAPI, and then implement support in both the MediaTek KMS driver and
> in VKMS.
>
> This series has been tested with IGT, with the "Support post-blend color
> pipeline API" series [2] applied, on top of VKMS, as well as with
> Weston, with a WIP branch [3], on a MT8195-Tomato Chromebook, where both
> gamma LUT and CTM color transformations have been simultaneously
> configured in hardware through the API and validated (test commits for
> weston at [4] and for kernel at [5]).
Thanks for this work. Great to see the concepts translate well
to drm_crtc.
I haven't looked at the Mediatek or VKMS patches but left some
comments on the core patches.
Patches 1-2, 8-12 are
Reviewed-by: Harry Wentland <harry.wentland@....com>
Harry
>
> [1] https://lore.kernel.org/all/20250815035047.3319284-1-alex.hung@amd.com/
> [2] https://lore.kernel.org/igt-dev/20250912-post-blend-colorops-v1-0-83fc62420cba@collabora.com/T/#t
> [3] https://gitlab.collabora.com/nfraprado/weston/-/tree/post-blend-colorops?ref_type=heads
> [4] https://gitlab.collabora.com/nfraprado/weston/-/tree/post-blend-color-pipeline-lut-ctm-test?ref_type=tags
> [5] https://gitlab.collabora.com/nfraprado/linux/-/tree/debug-ctm-lut-data-post-blend-colorop?ref_type=tags
>
> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@...labora.com>
> ---
> Changes in v2:
> - Split core DRM changes for post-blend color pipelines from single
> commit into smaller changes
> - Added post-blend color pipeline support in VKMS
> - Introduced driver cap, and made client cap depend on it (daniels)
> - Made deprecated color props (GAMMA_LUT, DEGAMMA_LUT, CTM) available as
> read-only when post-blend color pipelines are enabled (daniels)
> - Created colorop_modeset_lock/unlock to commonize locking pattern for
> colorops (louis.chauvet)
> - Added helper for post-blend 1D curve colorop creation
> - Link to v1: https://lore.kernel.org/r/20250822-mtk-post-blend-color-pipeline-v1-0-a9446d4aca82@collabora.com
>
> ---
> Nícolas F. R. A. Prado (20):
> drm/crtc: Add color pipeline to CRTC state
> drm/colorop: Allow parenting colorop to CRTC
> drm: Factor out common color_pipeline property initialization code
> drm/crtc: Add COLOR_PIPELINE property
> drm: Introduce DRM_CAP_POST_BLEND_COLOR_PIPELINE
> drm: Introduce DRM_CLIENT_CAP_POST_BLEND_COLOR_PIPELINE
> drm/atomic: Pass post_blend_color_pipeline client cap to atomic check
> drm/atomic: Print the color pipeline as part of the CRTC state print
> drm/colorop: Factor out common paths from colorops helpers
> drm/colorop: Introduce colorop helpers for crtc
> drm/colorop: Export drm_colorop_cleanup() so drivers can extend it
> drm/crtc: Track post-blend color pipeline client cap in drm_crtc_state
> drm/mediatek: Support post-blend colorops for gamma and ctm
> drm/mediatek: ccorr: Support post-blend color pipeline API
> drm/mediatek: gamma: Support post-blend color pipeline API
> drm/mediatek: Set post-blend color pipeline driver cap
> drm/vkms: Rename existing color pipeline helpers to contain "pre_blend"
> drm/vkms: Prepare pre_blend_color_transform() for post-blend pipelines
> drm/vkms: Introduce support for post-blend color pipeline
> drm/vkms: Set post-blend color pipeline driver cap
>
> drivers/gpu/drm/drm_atomic.c | 9 +-
> drivers/gpu/drm/drm_atomic_uapi.c | 65 +++++++-
> drivers/gpu/drm/drm_colorop.c | 245 ++++++++++++++++++++++++------
> drivers/gpu/drm/drm_connector.c | 1 +
> drivers/gpu/drm/drm_crtc.c | 77 ++++++++++
> drivers/gpu/drm/drm_crtc_internal.h | 6 +
> drivers/gpu/drm/drm_ioctl.c | 12 ++
> drivers/gpu/drm/drm_mode_object.c | 9 ++
> drivers/gpu/drm/drm_plane.c | 36 +----
> drivers/gpu/drm/mediatek/mtk_crtc.c | 208 ++++++++++++++++++++++++-
> drivers/gpu/drm/mediatek/mtk_ddp_comp.c | 6 +-
> drivers/gpu/drm/mediatek/mtk_ddp_comp.h | 2 +
> drivers/gpu/drm/mediatek/mtk_disp_ccorr.c | 100 ++++++++++--
> drivers/gpu/drm/mediatek/mtk_disp_drv.h | 6 +-
> drivers/gpu/drm/mediatek/mtk_disp_gamma.c | 107 ++++++++++---
> drivers/gpu/drm/mediatek/mtk_drm_drv.c | 3 +-
> drivers/gpu/drm/vkms/vkms_colorop.c | 106 ++++++++++++-
> drivers/gpu/drm/vkms/vkms_composer.c | 13 +-
> drivers/gpu/drm/vkms/vkms_crtc.c | 1 +
> drivers/gpu/drm/vkms/vkms_drv.c | 3 +-
> drivers/gpu/drm/vkms/vkms_drv.h | 3 +-
> drivers/gpu/drm/vkms/vkms_plane.c | 2 +-
> include/drm/drm_atomic.h | 20 +++
> include/drm/drm_atomic_uapi.h | 2 +
> include/drm/drm_colorop.h | 22 ++-
> include/drm/drm_crtc.h | 27 ++++
> include/drm/drm_drv.h | 6 +
> include/drm/drm_file.h | 7 +
> include/uapi/drm/drm.h | 25 +++
> 29 files changed, 994 insertions(+), 135 deletions(-)
> ---
> base-commit: 342e5ee08797cde0e8af30e6110a5dc1cba61e9c
> change-id: 20250730-mtk-post-blend-color-pipeline-498e1a9cc53e
>
> Best regards,
Powered by blists - more mailing lists