[mutter/wip/carlosg/drop-caps: 7/7] backend/native: Use high priority contexts for secondary GPUs



commit beb31a5ad3ef794501eba2622935965b7e5e52e7
Author: Carlos Garnacho <carlosg gnome org>
Date:   Fri Nov 8 15:30:53 2019 +0100

    backend/native: Use high priority contexts for secondary GPUs
    
    Ensure the context requests EGL_CONTEXT_PRIORITY_HIGH_IMG, and
    that we use cogl_egl_create_context() to ensure that is honored.
    
    https://gitlab.gnome.org/GNOME/mutter/merge_requests/923

 src/backends/meta-egl.c                    | 14 ++++----------
 src/backends/native/meta-renderer-native.c |  1 +
 2 files changed, 5 insertions(+), 10 deletions(-)
---
diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
index fdeff4f77..5f9a8d244 100644
--- a/src/backends/meta-egl.c
+++ b/src/backends/meta-egl.c
@@ -35,6 +35,7 @@
 #include "backends/meta-backend-private.h"
 #include "backends/meta-egl.h"
 #include "backends/meta-egl-ext.h"
+#include "cogl/cogl-egl.h"
 #include "meta/util.h"
 
 struct _MetaEgl
@@ -506,16 +507,9 @@ meta_egl_create_context (MetaEgl      *egl,
                          const EGLint *attrib_list,
                          GError      **error)
 {
-  EGLContext context;
-
-  context = eglCreateContext (display, config, share_context, attrib_list);
-  if (context == EGL_NO_CONTEXT)
-    {
-      set_egl_error (error);
-      return EGL_NO_CONTEXT;
-    }
-
-  return context;
+  return cogl_egl_create_context (display, config,
+                                  share_context, attrib_list,
+                                  error);
 }
 
 gboolean
diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c
index 84b6a7323..cd549ece0 100644
--- a/src/backends/native/meta-renderer-native.c
+++ b/src/backends/native/meta-renderer-native.c
@@ -3509,6 +3509,7 @@ create_secondary_egl_context (MetaEgl   *egl,
 {
   EGLint attributes[] = {
     EGL_CONTEXT_CLIENT_VERSION, 3,
+    EGL_CONTEXT_PRIORITY_LEVEL_IMG, EGL_CONTEXT_PRIORITY_HIGH_IMG,
     EGL_NONE
   };
 


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