glcolorconvert: GLES3 deprecates texture2D() and it does not work at all in newer...
authorSebastian Dröge <sebastian@centricular.com>
Tue, 19 Apr 2016 16:27:33 +0000 (19:27 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 27 Apr 2016 08:47:20 +0000 (11:47 +0300)
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

index c5018f103c90cf3dd97c53fea50c71234f225270..ae3d7fe8d9ab9e998373f2d2491fc8848ae7c434 100644 (file)
@@ -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 =