From 8f31f172f8b7687795c6df29c25d3dd612151e7b Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Mon, 4 Sep 2023 16:06:54 +0300 Subject: [PATCH] backend-drm: add connector property "Colorspace" Just the definitions. Signed-off-by: Pekka Paalanen --- libweston/backend-drm/drm-kms-enums.h | 21 +++++++++++++++++++++ libweston/backend-drm/kms.c | 24 ++++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/libweston/backend-drm/drm-kms-enums.h b/libweston/backend-drm/drm-kms-enums.h index b63ef1c8..f848ec37 100644 --- a/libweston/backend-drm/drm-kms-enums.h +++ b/libweston/backend-drm/drm-kms-enums.h @@ -99,6 +99,7 @@ enum wdrm_connector_property { WDRM_CONNECTOR_HDR_OUTPUT_METADATA, WDRM_CONNECTOR_MAX_BPC, WDRM_CONNECTOR_CONTENT_TYPE, + WDRM_CONNECTOR_COLORSPACE, WDRM_CONNECTOR__COUNT }; @@ -140,6 +141,26 @@ enum wdrm_content_type { WDRM_CONTENT_TYPE__COUNT }; +enum wdrm_colorspace { + WDRM_COLORSPACE_DEFAULT = 0, + WDRM_COLORSPACE_SMPTE_170M_YCC, + WDRM_COLORSPACE_BT709_YCC, + WDRM_COLORSPACE_XVYCC_601, + WDRM_COLORSPACE_XVYCC_709, + WDRM_COLORSPACE_SYCC_601, + WDRM_COLORSPACE_OPYCC_601, + WDRM_COLORSPACE_OPRGB, + WDRM_COLORSPACE_BT2020_CYCC, + WDRM_COLORSPACE_BT2020_RGB, + WDRM_COLORSPACE_BT2020_YCC, + WDRM_COLORSPACE_DCI_P3_RGB_D65, + WDRM_COLORSPACE_DCI_P3_RGB_THEATER, + WDRM_COLORSPACE_RGB_WIDE_FIXED, + WDRM_COLORSPACE_RGB_WIDE_FLOAT, + WDRM_COLORSPACE_BT601_YCC, + WDRM_COLORSPACE__COUNT, +}; + /** * List of properties attached to DRM CRTCs */ diff --git a/libweston/backend-drm/kms.c b/libweston/backend-drm/kms.c index 3e93a9b8..2a27cd6c 100644 --- a/libweston/backend-drm/kms.c +++ b/libweston/backend-drm/kms.c @@ -154,6 +154,25 @@ struct drm_property_enum_info content_type_enums[] = { [WDRM_CONTENT_TYPE_GAME] = { .name = "Game", }, }; +struct drm_property_enum_info colorspace_enums[] = { + [WDRM_COLORSPACE_DEFAULT] = { .name = "Default", }, + [WDRM_COLORSPACE_SMPTE_170M_YCC] = { .name = "SMPTE_170M_YCC", }, + [WDRM_COLORSPACE_BT709_YCC] = { .name = "BT709_YCC", }, + [WDRM_COLORSPACE_XVYCC_601] = { .name = "XVYCC_601", }, + [WDRM_COLORSPACE_XVYCC_709] = { .name = "XVYCC_709", }, + [WDRM_COLORSPACE_SYCC_601] = { .name = "SYCC_601", }, + [WDRM_COLORSPACE_OPYCC_601] = { .name = "opYCC_601", }, + [WDRM_COLORSPACE_OPRGB] = { .name = "opRGB", }, + [WDRM_COLORSPACE_BT2020_CYCC] = { .name = "BT2020_CYCC", }, + [WDRM_COLORSPACE_BT2020_RGB] = { .name = "BT2020_RGB", }, + [WDRM_COLORSPACE_BT2020_YCC] = { .name = "BT2020_YCC", }, + [WDRM_COLORSPACE_DCI_P3_RGB_D65] = { .name = "DCI-P3_RGB_D65", }, + [WDRM_COLORSPACE_DCI_P3_RGB_THEATER] = { .name = "DCI-P3_RGB_Theater", }, + [WDRM_COLORSPACE_RGB_WIDE_FIXED] = { .name = "RGB_WIDE_FIXED", }, + [WDRM_COLORSPACE_RGB_WIDE_FLOAT] = { .name = "RGB_WIDE_FLOAT", }, + [WDRM_COLORSPACE_BT601_YCC] = { .name = "BT601_YCC", }, +}; + const struct drm_property_info connector_props[] = { [WDRM_CONNECTOR_EDID] = { .name = "EDID" }, [WDRM_CONNECTOR_DPMS] = { @@ -190,6 +209,11 @@ const struct drm_property_info connector_props[] = { .enum_values = content_type_enums, .num_enum_values = WDRM_CONTENT_TYPE__COUNT, }, + [WDRM_CONNECTOR_COLORSPACE] = { + .name = "Colorspace", + .enum_values = colorspace_enums, + .num_enum_values = WDRM_COLORSPACE__COUNT, + }, }; const struct drm_property_info crtc_props[] = {