kms/connector: Add API to check color mode support

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4192>
This commit is contained in:
Jonas Ådahl 2025-02-01 22:45:35 +08:00 committed by Marge Bot
parent 0f9c9fdc20
commit 2fa0183a95
2 changed files with 25 additions and 0 deletions

View File

@ -97,6 +97,13 @@ meta_kms_connector_get_device (MetaKmsConnector *connector)
return meta_kms_impl_device_get_device (connector->impl_device);
}
static gboolean
meta_kms_connector_has_prop (MetaKmsConnector *connector,
MetaKmsConnectorProp prop)
{
return connector->prop_table.props[prop].prop_id > 0;
}
uint32_t
meta_kms_connector_get_prop_id (MetaKmsConnector *connector,
MetaKmsConnectorProp prop)
@ -189,6 +196,20 @@ meta_kms_connector_is_non_desktop (MetaKmsConnector *connector)
return connector->current_state->non_desktop;
}
gboolean
meta_kms_connector_supports_colorspace (MetaKmsConnector *connector)
{
return meta_kms_connector_has_prop (connector,
META_KMS_CONNECTOR_PROP_COLORSPACE);
}
gboolean
meta_kms_connector_supports_hdr_metadata (MetaKmsConnector *connector)
{
return meta_kms_connector_has_prop (connector,
META_KMS_CONNECTOR_PROP_HDR_OUTPUT_METADATA);
}
static gboolean
has_privacy_screen_software_toggle (MetaKmsConnector *connector)
{

View File

@ -103,3 +103,7 @@ META_EXPORT_TEST
const MetaKmsConnectorState * meta_kms_connector_get_current_state (MetaKmsConnector *connector);
gboolean meta_kms_connector_is_non_desktop (MetaKmsConnector *connector);
gboolean meta_kms_connector_supports_colorspace (MetaKmsConnector *connector);
gboolean meta_kms_connector_supports_hdr_metadata (MetaKmsConnector *connector);