From 57a4494528e60c2bcb63616300e72b90c1a8bf5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 19 Apr 2016 19:27:33 +0300 Subject: [PATCH] glcolorconvert: GLES3 deprecates texture2D() and it does not work at all in newer versions than 3.3 Use the newer texture() function instead. This fixes glimagesink and other things on various Android devices. https://bugzilla.gnome.org/show_bug.cgi?id=765266 --- gst-libs/gst/gl/gstglcolorconvert.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gst-libs/gst/gl/gstglcolorconvert.c b/gst-libs/gst/gl/gstglcolorconvert.c index c5018f103c..ae3d7fe8d9 100644 --- a/gst-libs/gst/gl/gstglcolorconvert.c +++ b/gst-libs/gst/gl/gstglcolorconvert.c @@ -1712,7 +1712,7 @@ _unbind_buffer (GstGLColorConvert * convert) static gchar * _mangle_texture_access (const gchar * str, GstGLTextureTarget from, - GstGLTextureTarget to, GstGLAPI gl_api) + GstGLTextureTarget to, GstGLAPI gl_api, guint gl_major, guint gl_minor) { const gchar *from_str = NULL, *to_str = NULL; gchar *ret, *tmp; @@ -1726,7 +1726,8 @@ _mangle_texture_access (const gchar * str, GstGLTextureTarget from, if (from == GST_GL_TEXTURE_TARGET_EXTERNAL_OES) from_str = "texture2D"; - if (gl_api & GST_GL_API_OPENGL3) { + if ((gl_api & GST_GL_API_OPENGL3) || (gl_api & GST_GL_API_GLES2 + && gl_major >= 3)) { to_str = "texture"; } else { if (to == GST_GL_TEXTURE_TARGET_2D) @@ -1894,7 +1895,7 @@ _mangle_shader (const gchar * str, guint shader_type, GstGLTextureTarget from, _mangle_version_profile_from_gl_api (gl_api, gl_major, gl_minor, version, profile); - tmp = _mangle_texture_access (str, from, to, gl_api); + tmp = _mangle_texture_access (str, from, to, gl_api, gl_major, gl_minor); tmp2 = _mangle_sampler_type (tmp, from, to); g_free (tmp); tmp =