[mutter] renderer/native: Only enable shadowfbs if we can blit



commit 346cadeddbd66c648c5a72577864701d74f27469
Author: Jonas Ã…dahl <jadahl gmail com>
Date:   Tue May 5 17:06:35 2020 +0200

    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 43611d3e4f..c4b68f10eb 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)
     {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]