diff --git a/src/backends/native/meta-onscreen-native.c b/src/backends/native/meta-onscreen-native.c index a1cfce075..488414027 100644 --- a/src/backends/native/meta-onscreen-native.c +++ b/src/backends/native/meta-onscreen-native.c @@ -653,15 +653,16 @@ set_rgb_range (MetaOutputKms *output_kms, MetaKmsUpdate *kms_update) { MetaOutput *output = META_OUTPUT (output_kms); + const MetaOutputInfo *output_info = meta_output_get_info (output); MetaKmsConnector *kms_connector = meta_output_kms_get_kms_connector (output_kms); MetaOutputRGBRange rgb_range = meta_output_peek_rgb_range (output); if (rgb_range == META_OUTPUT_RGB_RANGE_AUTO && - !meta_kms_connector_is_broadcast_rgb_supported (kms_connector, rgb_range)) + !(output_info->supported_rgb_ranges & (1 << rgb_range))) return; - if (!meta_kms_connector_is_broadcast_rgb_supported (kms_connector, rgb_range)) + if (!(output_info->supported_rgb_ranges & (1 << rgb_range))) { g_warning ("Ignoring unsupported RGB Range"); return; diff --git a/src/backends/native/meta-output-kms.c b/src/backends/native/meta-output-kms.c index 98a9f539e..f0c019547 100644 --- a/src/backends/native/meta-output-kms.c +++ b/src/backends/native/meta-output-kms.c @@ -427,6 +427,8 @@ meta_output_kms_new (MetaGpuKms *gpu_kms, output_info->supports_privacy_screen = (connector_state->privacy_screen_state != META_PRIVACY_SCREEN_UNAVAILABLE); + output_info->supported_rgb_ranges = connector_state->broadcast_rgb.supported; + output = g_object_new (META_TYPE_OUTPUT_KMS, "id", ((uint64_t) gpu_id << 32) | connector_id, "gpu", gpu,