This patch makes use of recently implemented EGL_KHR_no_config_context extension in Mesa, which superseeds EGL_MESA_configless_context.
See also (and the follow-up patch): https://lists.freedesktop.org/archives/mesa-dev/2016-September/128510.html Signed-off-by: Armin Krezović <krezovic.ar...@gmail.com> --- libweston/gl-renderer.c | 14 +++++++++++--- libweston/weston-egl-ext.h | 3 +++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c index 031576b..7ef7b89 100644 --- a/libweston/gl-renderer.c +++ b/libweston/gl-renderer.c @@ -199,6 +199,8 @@ struct gl_renderer { int has_egl_buffer_age; + int has_no_config_context; + int has_configless_context; int has_surfaceless_context; @@ -2564,10 +2566,11 @@ gl_renderer_output_create(struct weston_output *output, } if (egl_config != gr->egl_config && + !gr->has_no_config_context && !gr->has_configless_context) { weston_log("attempted to use a different EGL config for an " - "output but EGL_MESA_configless_context is not " - "supported\n"); + "output but EGL_KHR_no_config_context or " + "EGL_MESA_configless_context is not supported\n"); return -1; } @@ -2726,6 +2729,9 @@ gl_renderer_setup_egl_extensions(struct weston_compositor *ec) weston_log("warning: EGL_EXT_swap_buffers_with_damage not " "supported. Performance could be affected.\n"); + if (weston_check_egl_extension(extensions, "EGL_KHR_no_config_context")) + gr->has_no_config_context = 1; + if (weston_check_egl_extension(extensions, "EGL_MESA_configless_context")) gr->has_configless_context = 1; @@ -3101,7 +3107,9 @@ gl_renderer_setup(struct weston_compositor *ec, EGLSurface egl_surface) context_config = gr->egl_config; - if (gr->has_configless_context) + if (gr->has_no_config_context) + context_config = EGL_NO_CONFIG_KHR; + else if (gr->has_configless_context) context_config = EGL_NO_CONFIG_MESA; gr->egl_context = eglCreateContext(gr->egl_display, context_config, diff --git a/libweston/weston-egl-ext.h b/libweston/weston-egl-ext.h index 6e36996..50964a8 100644 --- a/libweston/weston-egl-ext.h +++ b/libweston/weston-egl-ext.h @@ -152,5 +152,8 @@ typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLD #define EGL_PLATFORM_X11_KHR 0x31D5 #endif +#ifndef EGL_NO_CONFIG_KHR +#define EGL_NO_CONFIG_KHR ((EGLConfig)0) +#endif #endif -- 2.10.0 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel