From 9fcc9380753719c87f4cd88d684a90287e232f54 Mon Sep 17 00:00:00 2001 From: Dor Askayo Date: Tue, 20 Jun 2023 23:06:00 +0300 Subject: [PATCH] gpu/kms: Allow checking if VRR should be disabled Part-of: --- src/backends/native/meta-gpu-kms.c | 17 +++++++++++++++++ src/backends/native/meta-gpu-kms.h | 1 + 2 files changed, 18 insertions(+) diff --git a/src/backends/native/meta-gpu-kms.c b/src/backends/native/meta-gpu-kms.c index 7efd4ef9e..7e88a5e91 100644 --- a/src/backends/native/meta-gpu-kms.c +++ b/src/backends/native/meta-gpu-kms.c @@ -132,6 +132,23 @@ meta_gpu_kms_is_platform_device (MetaGpuKms *gpu_kms) return !!(flags & META_KMS_DEVICE_FLAG_PLATFORM_DEVICE); } +gboolean +meta_gpu_kms_disable_vrr (MetaGpuKms *gpu_kms) +{ + MetaGpu *gpu = META_GPU (gpu_kms); + MetaBackend *backend = meta_gpu_get_backend (gpu); + MetaSettings *settings = meta_backend_get_settings (backend); + MetaKmsDeviceFlag flags; + + if (!meta_settings_is_experimental_feature_enabled ( + settings, + META_EXPERIMENTAL_FEATURE_VARIABLE_REFRESH_RATE)) + return TRUE; + + flags = meta_kms_device_get_flags (gpu_kms->kms_device); + return !!(flags & META_KMS_DEVICE_FLAG_DISABLE_VRR); +} + static int compare_outputs (gconstpointer one, gconstpointer two) diff --git a/src/backends/native/meta-gpu-kms.h b/src/backends/native/meta-gpu-kms.h index 43ae0a7c4..b3705819a 100644 --- a/src/backends/native/meta-gpu-kms.h +++ b/src/backends/native/meta-gpu-kms.h @@ -44,6 +44,7 @@ gboolean meta_gpu_kms_is_crtc_active (MetaGpuKms *gpu_kms, gboolean meta_gpu_kms_is_boot_vga (MetaGpuKms *gpu_kms); gboolean meta_gpu_kms_is_platform_device (MetaGpuKms *gpu_kms); +gboolean meta_gpu_kms_disable_vrr (MetaGpuKms *gpu_kms); MetaKmsDevice * meta_gpu_kms_get_kms_device (MetaGpuKms *gpu_kms);