drm/amd/display: Add DRM color properties for primary planes
[Why] We need DC's color space to match the color encoding and color space specified by userspace to correctly render YUV surfaces. [How] Add the DRM color properties when the DC plane supports NV12. Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Sun peng Li <Sunpeng.Li@amd.com> Acked-by: Bhawanpreet Lakha <Bhawanpreet Lakha@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
37c6a93b7e
commit
fc8e5230dc
@@ -4195,6 +4195,18 @@ static int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
|
|||||||
drm_plane_create_blend_mode_property(plane, blend_caps);
|
drm_plane_create_blend_mode_property(plane, blend_caps);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (plane->type == DRM_PLANE_TYPE_PRIMARY &&
|
||||||
|
plane_cap && plane_cap->supports_nv12) {
|
||||||
|
/* This only affects YUV formats. */
|
||||||
|
drm_plane_create_color_properties(
|
||||||
|
plane,
|
||||||
|
BIT(DRM_COLOR_YCBCR_BT601) |
|
||||||
|
BIT(DRM_COLOR_YCBCR_BT709),
|
||||||
|
BIT(DRM_COLOR_YCBCR_LIMITED_RANGE) |
|
||||||
|
BIT(DRM_COLOR_YCBCR_FULL_RANGE),
|
||||||
|
DRM_COLOR_YCBCR_BT709, DRM_COLOR_YCBCR_LIMITED_RANGE);
|
||||||
|
}
|
||||||
|
|
||||||
drm_plane_helper_add(plane, &dm_plane_helper_funcs);
|
drm_plane_helper_add(plane, &dm_plane_helper_funcs);
|
||||||
|
|
||||||
/* Create (reset) the plane state */
|
/* Create (reset) the plane state */
|
||||||
|
|||||||
Reference in New Issue
Block a user