]> Gentwo Git Trees - linux/.git/commitdiff
drm/amd/display: Add support for BT.709 and BT.2020 TFs
authorHarry Wentland <harry.wentland@amd.com>
Sat, 15 Nov 2025 00:01:59 +0000 (17:01 -0700)
committerSimon Ser <contact@emersion.fr>
Wed, 26 Nov 2025 22:03:35 +0000 (23:03 +0100)
This adds support for the BT.709/BT.2020 transfer functions
on all current 1D curve plane colorops, i.e., on DEGAM, SHAPER,
and BLND blocks.

With this change the following IGT subtests pass:
kms_colorop --run plane-XR30-XR30-bt2020_inv_oetf
kms_colorop --run plane-XR30-XR30-bt2020_oetf

Signed-off-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Simon Ser <contact@emersion.fr>
Link: https://patch.msgid.link/20251115000237.3561250-35-alex.hung@amd.com
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_colorop.c

index 30665db34dfd90bc35ddbd0d4d615b14378463a3..0ad3d818189e4adc58fbc58ae806d766cfe547fc 100644 (file)
@@ -678,6 +678,9 @@ amdgpu_colorop_tf_to_dc_tf(enum drm_colorop_curve_1d_type tf)
        case DRM_COLOROP_1D_CURVE_PQ_125_EOTF:
        case DRM_COLOROP_1D_CURVE_PQ_125_INV_EOTF:
                return TRANSFER_FUNCTION_PQ;
+       case DRM_COLOROP_1D_CURVE_BT2020_INV_OETF:
+       case DRM_COLOROP_1D_CURVE_BT2020_OETF:
+               return TRANSFER_FUNCTION_BT709;
        default:
                return TRANSFER_FUNCTION_LINEAR;
        }
index cee7129550f15f2ec22fa3466872668b63509faa..e72261a8beb9abaf62f6ed0818c54fb6f613ebca 100644 (file)
 
 const u64 amdgpu_dm_supported_degam_tfs =
        BIT(DRM_COLOROP_1D_CURVE_SRGB_EOTF) |
-       BIT(DRM_COLOROP_1D_CURVE_PQ_125_EOTF);
+       BIT(DRM_COLOROP_1D_CURVE_PQ_125_EOTF) |
+       BIT(DRM_COLOROP_1D_CURVE_BT2020_INV_OETF);
 
 const u64 amdgpu_dm_supported_shaper_tfs =
        BIT(DRM_COLOROP_1D_CURVE_SRGB_INV_EOTF) |
-       BIT(DRM_COLOROP_1D_CURVE_PQ_125_INV_EOTF);
+       BIT(DRM_COLOROP_1D_CURVE_PQ_125_INV_EOTF) |
+       BIT(DRM_COLOROP_1D_CURVE_BT2020_OETF);
 
 const u64 amdgpu_dm_supported_blnd_tfs =
        BIT(DRM_COLOROP_1D_CURVE_SRGB_EOTF) |
-       BIT(DRM_COLOROP_1D_CURVE_PQ_125_EOTF);
+       BIT(DRM_COLOROP_1D_CURVE_PQ_125_EOTF) |
+       BIT(DRM_COLOROP_1D_CURVE_BT2020_INV_OETF);
 
 #define MAX_COLOR_PIPELINE_OPS 10