The GL_EXT_unpack_subimage and GL_EXT_texture_rg are part of the core ES 3.0 specification, so also check the GL driver version in addition to the extension string to determine if those features are supported.
This allows using those extensions on some GL drivers that do not expose them in the extensions string, but still support OpenGLES3. Signed-off-by: Arnaud Vrac <av...@freebox.fr> Reviewed-by: Emil Velikov <emil.veli...@collabora.com> --- libweston/gl-renderer.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c index 7ec97b95..0dbba53c 100644 --- a/libweston/gl-renderer.c +++ b/libweston/gl-renderer.c @@ -3221,9 +3221,6 @@ gl_renderer_setup_egl_extensions(struct weston_compositor *ec) gr->has_dmabuf_import_modifiers = 1; } - if (weston_check_egl_extension(extensions, "GL_EXT_texture_rg")) - gr->has_gl_texture_rg = 1; - if (weston_check_egl_extension(extensions, "EGL_KHR_fence_sync") && weston_check_egl_extension(extensions, "EGL_ANDROID_native_fence_sync")) { gr->create_sync = @@ -3687,9 +3684,14 @@ gl_renderer_setup(struct weston_compositor *ec, EGLSurface egl_surface) else ec->read_format = PIXMAN_a8b8g8r8; - if (weston_check_egl_extension(extensions, "GL_EXT_unpack_subimage")) + if (gr->gl_version >= GR_GL_VERSION(3, 0) || + weston_check_egl_extension(extensions, "GL_EXT_unpack_subimage")) gr->has_unpack_subimage = 1; + if (gr->gl_version >= GR_GL_VERSION(3, 0) || + weston_check_egl_extension(extensions, "GL_EXT_texture_rg")) + gr->has_gl_texture_rg = 1; + if (weston_check_egl_extension(extensions, "GL_OES_EGL_image_external")) gr->has_egl_image_external = 1; -- 2.15.0 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel