From 346cadeddbd66c648c5a72577864701d74f27469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Tue, 5 May 2020 17:06:35 +0200 Subject: [PATCH] renderer/native: Only enable shadowfbs if we can blit There is no point in enabling shadow buffers if we can't as that'd be even slower than not having them at all. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1237 --- src/backends/native/meta-renderer-native.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c index 43611d3e4..c4b68f10e 100644 --- a/src/backends/native/meta-renderer-native.c +++ b/src/backends/native/meta-renderer-native.c @@ -3105,12 +3105,17 @@ should_force_shadow_fb (MetaRendererNative *renderer_native, MetaGpuKms *primary_gpu) { MetaRenderer *renderer = META_RENDERER (renderer_native); + CoglContext *cogl_context = + cogl_context_from_renderer_native (renderer_native); int kms_fd; uint64_t prefer_shadow = 0; if (meta_renderer_is_hardware_accelerated (renderer)) return FALSE; + if (!cogl_has_feature (cogl_context, COGL_FEATURE_ID_BLIT_FRAMEBUFFER)) + return FALSE; + kms_fd = meta_gpu_kms_get_fd (primary_gpu); if (drmGetCap (kms_fd, DRM_CAP_DUMB_PREFER_SHADOW, &prefer_shadow) == 0) {