From 764fd69f8482eca9f925cefe72ebae090ae59d43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Tue, 19 Apr 2016 19:27:33 +0300
Subject: [PATCH 3/3] 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.

Upstream-Status: Backport [1.9.1]

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 c23624f..f472d5d 100644
--- a/gst-libs/gst/gl/gstglcolorconvert.c
+++ b/gst-libs/gst/gl/gstglcolorconvert.c
@@ -1716,7 +1716,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;
@@ -1730,7 +1730,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)
@@ -1898,7 +1899,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 =
-- 
1.9.1

