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
This commit is contained in:
Carlos Garnacho 2019-11-08 15:30:53 +01:00
parent 9e54e404ee
commit 4d6f99c95d
2 changed files with 5 additions and 10 deletions

View File

@ -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

View File

@ -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
};