gstreamer1.0-plugins-bad: Use the newer texture() function in glcolorconvert

GLES3 deprecates texture2D() and it does not work at all
in newer versions than 3.3. The new function can fix it.

(From OE-Core rev: dc1859a1dda854b1302d046713a3bd15e99c3f5b)

Signed-off-by: Yuqing Zhu <carol.zhu@nxp.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Yuqing Zhu 2016-07-04 13:46:32 +08:00 committed by Richard Purdie
parent a933b784ec
commit c62fd75866
2 changed files with 52 additions and 0 deletions

View File

@ -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

View 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"