]> code.ossystems Code Review - openembedded-core.git/commitdiff
gstreamer1.0-plugins-bad: Use the newer texture() function in glcolorconvert
authorYuqing Zhu <carol.zhu@nxp.com>
Mon, 4 Jul 2016 05:46:32 +0000 (13:46 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 20 Jul 2016 09:24:50 +0000 (10:24 +0100)
GLES3 deprecates texture2D() and it does not work at all
in newer versions than 3.3. The new function can fix it.

Signed-off-by: Yuqing Zhu <carol.zhu@nxp.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0006-glcolorconvert-GLES3-deprecates-texture2D-and-it-doe.patch [new file with mode: 0755]
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.8.2.bb

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0006-glcolorconvert-GLES3-deprecates-texture2D-and-it-doe.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0006-glcolorconvert-GLES3-deprecates-texture2D-and-it-doe.patch
new file mode 100755 (executable)
index 0000000..79ef4c8
--- /dev/null
@@ -0,0 +1,51 @@
+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
+
index 825d100a119f6ff02ef93b6a817bcb8ad11fd08b..49b3677ddfb7fe5bebc2ef3b2c1f0a0ccc7e582f 100644 (file)
@@ -16,6 +16,7 @@ SRC_URI = " \
     file://0003-glcolorconvert-implement-multiple-render-targets-for.patch \
     file://0004-glcolorconvert-don-t-use-the-predefined-variable-nam.patch \
     file://0005-glshader-add-glBindFragDataLocation.patch \
+    file://0006-glcolorconvert-GLES3-deprecates-texture2D-and-it-doe.patch \
 "
 SRC_URI[md5sum] = "83abc2e70684e7b195f18ca2992ef6e8"
 SRC_URI[sha256sum] = "d7995317530c8773ec088f94d9320909d41da61996b801ebacce9a56af493f97"