mirror of
https://github.com/brl/mutter.git
synced 2025-06-13 16:59:30 +00:00
x11: Use EGL instead of GLX when drawing using GLES
When running as a X11 CM we shouldn't use the GLX winsys when the driver doesn't support it, i.e. OpenGL ES drivers. https://bugzilla.gnome.org/show_bug.cgi?id=771636
This commit is contained in:
@ -1563,7 +1563,7 @@ meta_renderer_native_set_legacy_view_size (MetaRendererNative *renderer_native,
|
||||
}
|
||||
|
||||
static const CoglWinsysVtable *
|
||||
get_native_cogl_winsys_vtable (void)
|
||||
get_native_cogl_winsys_vtable (CoglRenderer *cogl_renderer)
|
||||
{
|
||||
static gboolean vtable_inited = FALSE;
|
||||
static CoglWinsysVtable vtable;
|
||||
|
@ -48,12 +48,25 @@ struct _MetaRendererX11
|
||||
G_DEFINE_TYPE (MetaRendererX11, meta_renderer_x11, META_TYPE_RENDERER)
|
||||
|
||||
static const CoglWinsysVtable *
|
||||
get_x11_cogl_winsys_vtable (void)
|
||||
get_x11_cogl_winsys_vtable (CoglRenderer *renderer)
|
||||
{
|
||||
if (meta_is_wayland_compositor ())
|
||||
return _cogl_winsys_egl_xlib_get_vtable ();
|
||||
else
|
||||
return _cogl_winsys_glx_get_vtable ();
|
||||
|
||||
switch (renderer->driver)
|
||||
{
|
||||
case COGL_DRIVER_GLES1:
|
||||
case COGL_DRIVER_GLES2:
|
||||
return _cogl_winsys_egl_xlib_get_vtable ();
|
||||
case COGL_DRIVER_GL:
|
||||
case COGL_DRIVER_GL3:
|
||||
return _cogl_winsys_glx_get_vtable ();
|
||||
case COGL_DRIVER_ANY:
|
||||
case COGL_DRIVER_NOP:
|
||||
case COGL_DRIVER_WEBGL:
|
||||
break;
|
||||
}
|
||||
g_assert_not_reached ();
|
||||
}
|
||||
|
||||
static CoglRenderer *
|
||||
|
Reference in New Issue
Block a user