6
[PATCH v5 00/32] drm/amd/display: add AMD driver-specific properties for color m...
source link: https://lore.kernel.org/amd-gfx/[email protected]/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
[PATCH v5 00/32] drm/amd/display: add AMD driver-specific properties for color mgmt
amd-gfx.lists.freedesktop.org archive mirror help / color / mirror / Atom feed
From: Melissa Wen <[email protected]> To: [email protected], Harry Wentland <[email protected]>, Rodrigo Siqueira <[email protected]>, [email protected], Alex Deucher <[email protected]>, [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Cc: Sebastian Wick <[email protected]>, Pekka Paalanen <[email protected]>, Shashank Sharma <[email protected]>, Alex Hung <[email protected]>, Simon Ser <[email protected]>, Xaver Hugl <[email protected]>, [email protected], Nicholas Kazlauskas <[email protected]>, Joshua Ashton <[email protected]>, [email protected] Subject: [PATCH v5 00/32] drm/amd/display: add AMD driver-specific properties for color mgmt Date: Thu, 16 Nov 2023 18:57:40 -0100 [thread overview] Message-ID: <[email protected]> (raw) Hello, This series extends the current KMS color management API with AMD driver-specific properties to enhance the color management support on AMD Steam Deck. The key additions to the color pipeline include: - plane degamma LUT and pre-defined TF; - plane HDR multiplier; - plane CTM 3x4; - plane shaper LUT and pre-defined TF; - plane 3D LUT; - plane blend LUT and pre-defined TF; - CRTC gamma pre-defined TF; You can find the AMD HW color capabilities documented here: https://dri.freedesktop.org/docs/drm/gpu/amdgpu/display/display-manager.html#color-management-properties The userspace case is Gamescope[1], the compositor for SteamOS. Gamescope has already adopted AMD driver-specific properties to implement comprehensive color management support, including gamut mapping, HDR rendering, SDR on HDR, HDR on SDR. Using these features in the SteamOS 3.5[2] users can expect a significantly enhanced visual experience. You can find a brief overview of the Steam Deck color pipeline here: https://github.com/ValveSoftware/gamescope/blob/master/src/docs/Steam%20Deck%20Display%20Pipeline.png This version (v5) includes the fixes for documentation (Sebastian), suspend/resume and color management setup (Joshua) suggested in the previous version. It also includes Harry's reviewed-by. Thank you everyone for reviews and feedback. Changes since: [RFC] https://lore.kernel.org/dri-devel/[email protected] - Remove KConfig and guard properties with `AMD_PRIVATE_COLOR`; - Remove properties for post-blending/CRTC shaper TF+LUT and 3D LUT; - Use color caps to improve the support of pre-defined curve; [v1] https://lore.kernel.org/dri-devel/[email protected] - Replace DRM_ by AMDGPU_ prefix for transfer function (TF) enum; - Explicitly define EOTFs and inverse EOTFs and set props accordingly; - Document pre-defined transfer functions; - Remove HLG transfer function from supported TFs; - Remove misleading comments; - Remove post-blending shaper TF+LUT and 3D LUT support; - Move driver-specific property operations from amdgpu_display.c to amdgpu_dm_color.c; - Reset planes if any color props change; - Add plane CTM 3x4 support; - Removed two DC fixes already applied upstream; [v2] https://lore.kernel.org/dri-devel/[email protected] - Many documentation fixes: BT.709 OETF, description of sRGB and pure power functions, TF+1D LUT behavior; - Rename CTM2 to CTM 3x4 and fix misleading comment about DC gamut remap; - Squash `Linear` and `Unity` TF in `Identity`; - Remove the `MPC gamut remap` patch already applied upstream[3]; - Remove outdated delta segmentation fix; - Nits/small fixes; [v3] https://lore.kernel.org/amd-gfx/[email protected] - Add table to describe value range in linear and non-linear forms; - Comment the PQ TF need after HDR multiplier; - Advertise the 3D LUT size as the size of a single-dimension (read-only); - remove function to check expected size from 3DLUT caps; - cleanup comments. [v4] https://lore.kernel.org/amd-gfx/[email protected] - Fix documentation about 3D LUT size; - Correctly getting LUT blobs; - Always set plane color properties, regardless plane->color_mgmt_changed. It's worth noting that driver-specific properties are guarded by cflags `AMD_PRIVATE_COLOR`. Best Regards, Melissa Wen [1] https://github.com/ValveSoftware/gamescope [2] https://store.steampowered.com/news/app/1675200/view/3686804163591367815 [3] https://lore.kernel.org/dri-devel/[email protected] Joshua Ashton (14): drm/amd/display: add plane degamma TF driver-specific property drm/amd/display: add plane HDR multiplier driver-specific property drm/amd/display: add plane blend LUT and TF driver-specific properties drm/amd/display: add CRTC gamma TF support drm/amd/display: set sdr_ref_white_level to 80 for out_transfer_func drm/amd/display: mark plane as needing reset if color props change drm/amd/display: add plane degamma TF and LUT support drm/amd/display: add dc_fixpt_from_s3132 helper drm/amd/display: add HDR multiplier support drm/amd/display: handle empty LUTs in __set_input_tf drm/amd/display: add plane blend LUT and TF support drm/amd/display: allow newer DC hardware to use degamma ROM for PQ/HLG drm/amd/display: copy 3D LUT settings from crtc state to stream_update drm/amd/display: Add 3x4 CTM support for plane CTM Melissa Wen (18): drm/drm_mode_object: increase max objects to accommodate new color props drm/drm_property: make replace_property_blob_from_id a DRM helper drm/drm_plane: track color mgmt changes per plane drm/amd/display: add driver-specific property for plane degamma LUT drm/amd/display: explicitly define EOTF and inverse EOTF drm/amd/display: document AMDGPU pre-defined transfer functions drm/amd/display: add plane 3D LUT driver-specific properties drm/amd/display: add plane shaper LUT and TF driver-specific properties drm/amd/display: add CRTC gamma TF driver-specific property drm/amd/display: add comments to describe DM crtc color mgmt behavior drm/amd/display: encapsulate atomic regamma operation drm/amd/display: decouple steps for mapping CRTC degamma to DC plane drm/amd/display: reject atomic commit if setting both plane and CRTC degamma drm/amd/display: add plane shaper LUT support drm/amd/display: add plane shaper TF support drm/amd/display: add plane 3D LUT support drm/amd/display: add plane CTM driver-specific property drm/amd/display: add plane CTM support drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 91 ++ .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 34 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 108 +++ .../amd/display/amdgpu_dm/amdgpu_dm_color.c | 818 ++++++++++++++++-- .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 72 ++ .../amd/display/amdgpu_dm/amdgpu_dm_plane.c | 232 ++++- .../gpu/drm/amd/display/include/fixed31_32.h | 12 + drivers/gpu/drm/arm/malidp_crtc.c | 2 +- drivers/gpu/drm/drm_atomic.c | 1 + drivers/gpu/drm/drm_atomic_state_helper.c | 1 + drivers/gpu/drm/drm_atomic_uapi.c | 43 +- drivers/gpu/drm/drm_property.c | 49 ++ include/drm/drm_mode_object.h | 2 +- include/drm/drm_plane.h | 7 + include/drm/drm_property.h | 6 + include/uapi/drm/drm_mode.h | 8 + 16 files changed, 1377 insertions(+), 109 deletions(-) -- 2.40.1
next replyother threads:[~2023-11-16 19:58 UTC|newest] Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-11-16 19:57 Melissa Wen [this message] 2023-11-16 19:57 ` [PATCH v5 01/32] drm/drm_mode_object: increase max objects to accommodate new color props Melissa Wen 2023-11-16 22:15 ` Abhinav Kumar 2023-11-16 19:57 ` [PATCH v5 02/32] drm/drm_property: make replace_property_blob_from_id a DRM helper Melissa Wen 2023-11-16 19:57 ` [PATCH v5 03/32] drm/drm_plane: track color mgmt changes per plane Melissa Wen 2023-11-16 19:57 ` [PATCH v5 04/32] drm/amd/display: add driver-specific property for plane degamma LUT Melissa Wen 2023-11-16 19:57 ` [PATCH v5 05/32] drm/amd/display: add plane degamma TF driver-specific property Melissa Wen 2023-11-16 19:57 ` [PATCH v5 06/32] drm/amd/display: explicitly define EOTF and inverse EOTF Melissa Wen 2023-11-16 19:57 ` [PATCH v5 07/32] drm/amd/display: document AMDGPU pre-defined transfer functions Melissa Wen 2023-11-16 19:57 ` [PATCH v5 08/32] drm/amd/display: add plane HDR multiplier driver-specific property Melissa Wen 2023-11-16 19:57 ` [PATCH v5 09/32] drm/amd/display: add plane 3D LUT driver-specific properties Melissa Wen 2023-11-17 19:14 ` Harry Wentland 2023-11-16 19:57 ` [PATCH v5 10/32] drm/amd/display: add plane shaper LUT and TF " Melissa Wen 2023-11-16 19:57 ` [PATCH v5 11/32] drm/amd/display: add plane blend " Melissa Wen 2023-11-16 19:57 ` [PATCH v5 12/32] drm/amd/display: add CRTC gamma TF driver-specific property Melissa Wen 2023-11-16 19:57 ` [PATCH v5 13/32] drm/amd/display: add comments to describe DM crtc color mgmt behavior Melissa Wen 2023-11-16 19:57 ` [PATCH v5 14/32] drm/amd/display: encapsulate atomic regamma operation Melissa Wen 2023-11-16 19:57 ` [PATCH v5 15/32] drm/amd/display: add CRTC gamma TF support Melissa Wen 2023-11-16 19:57 ` [PATCH v5 16/32] drm/amd/display: set sdr_ref_white_level to 80 for out_transfer_func Melissa Wen 2023-11-16 19:57 ` [PATCH v5 17/32] drm/amd/display: mark plane as needing reset if color props change Melissa Wen 2023-11-16 19:57 ` [PATCH v5 18/32] drm/amd/display: decouple steps for mapping CRTC degamma to DC plane Melissa Wen 2023-11-16 19:57 ` [PATCH v5 19/32] drm/amd/display: add plane degamma TF and LUT support Melissa Wen 2023-11-16 19:58 ` [PATCH v5 20/32] drm/amd/display: reject atomic commit if setting both plane and CRTC degamma Melissa Wen 2023-11-16 19:58 ` [PATCH v5 21/32] drm/amd/display: add dc_fixpt_from_s3132 helper Melissa Wen 2023-11-16 19:58 ` [PATCH v5 22/32] drm/amd/display: add HDR multiplier support Melissa Wen 2023-11-16 19:58 ` [PATCH v5 23/32] drm/amd/display: add plane shaper LUT support Melissa Wen 2023-11-16 19:58 ` [PATCH v5 24/32] drm/amd/display: add plane shaper TF support Melissa Wen 2023-11-16 19:58 ` [PATCH v5 25/32] drm/amd/display: add plane 3D LUT support Melissa Wen 2023-11-16 19:58 ` [PATCH v5 26/32] drm/amd/display: handle empty LUTs in __set_input_tf Melissa Wen 2023-11-16 19:58 ` [PATCH v5 27/32] drm/amd/display: add plane blend LUT and TF support Melissa Wen 2023-11-16 19:58 ` [PATCH v5 28/32] drm/amd/display: allow newer DC hardware to use degamma ROM for PQ/HLG Melissa Wen 2023-11-16 19:58 ` [PATCH v5 29/32] drm/amd/display: copy 3D LUT settings from crtc state to stream_update Melissa Wen 2023-11-16 19:58 ` [PATCH v5 30/32] drm/amd/display: add plane CTM driver-specific property Melissa Wen 2023-11-16 19:58 ` [PATCH v5 31/32] drm/amd/display: add plane CTM support Melissa Wen 2023-11-16 19:58 ` [PATCH v5 32/32] drm/amd/display: Add 3x4 CTM support for plane CTM Melissa Wen 2023-11-28 22:10 ` [PATCH v5 00/32] drm/amd/display: add AMD driver-specific properties for color mgmt Harry Wentland 2023-11-30 11:34 ` Daniel Vetter 2023-12-01 15:20 ` Harry Wentland 2023-12-04 8:46 ` Maxime Ripard
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 \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ [email protected] \ /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; as well as URLs for NNTP newsgroup(s).
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK