gstreamer/gst-libs/gst/gl
Matthew Waters d3f3787d64 glsl: fixup external-oes shaders by mangling the required extension
Newer devices require using a different GLSL extension for accessing
external-oes textures in a shader using the texture() functions.

While the GL_OES_EGL_image_external_essl3 should supposedly be supported
on a any GLES3 android device, the extension was defined after a lot of the
older drivers were built so they will not know about it.  Thus there are two
possible interpretations of which of texture[2D]() should be supported for
external-oes textures.  Strict adherence to the GL_OES_EGL_image_external
extension spec which uses texture2D() or following GLES3's pattern, also
allowing texture() as a function for accessing external-oes textures

This adds another mangling pass to convert
 #extension GL_OES_EGL_image_external : ...
into
 #extension GL_OES_EGL_image_external_essl3 : ...
on GLES3 and when the GL_OES_EGL_image_external_essl3 extension is supported.

Only uses texture() when the GLES3 and the GL_OES_EGL_image_external_essl3
extension is supported for external-oes textures.
Uses GLES2 + texture2D() + GL_OES_EGL_image_external in all other external-oes
cases.

https://bugzilla.gnome.org/show_bug.cgi?id=766993
2016-06-21 21:27:47 +10:00
..
android glwindow: Fix android build 2016-01-22 09:59:28 +02:00
cocoa gl/cocoa: Fix incompatible type warning 2016-04-20 10:11:03 +03:00
dispmanx gl: be consistent in gobject boilerpate 2015-10-19 15:15:30 +11:00
eagl gl/cocoa/eagl: don't leak GThread's when dispatching messages 2016-04-13 01:03:20 +10:00
egl qml: Enable qmlglsink for eglfs 2016-06-16 01:49:16 +10:00
glprototypes gl: add support for building against GLES3 headers 2016-03-31 20:53:18 +11:00
utils gl: Fix compiler warning about unused const variable with gcc 6 2016-02-18 10:33:20 +02:00
wayland gl: add .def file for msvc builds 2016-02-05 10:46:21 +11:00
win32 gl: win32: Add debug category in gstglcontext_wgl.c 2016-05-25 23:10:44 +10:00
x11 gl/x11/navigation: add button press to the selected event mask 2016-01-14 17:52:23 +11:00
.gitignore [644/906] update .gitignore for some new files 2014-03-15 18:36:52 +01:00
gl.h gl: move control binding proxy implementation from glvideomixer 2016-01-27 20:01:25 +11:00
gstgl_enums.h gl*memory: document new functionality and objects 2016-03-06 19:36:17 +11:00
gstgl_fwd.h gl: implement GstGLMemoryEGL 2016-05-04 12:57:27 +10:00
gstglapi.c gl: misc docs fixes/additions 2016-03-06 19:36:17 +11:00
gstglapi.h gl: fix gles3 header usage for older platforms 2016-05-03 20:02:34 +10:00
gstglbasefilter.c gl: misc docs fixes/additions 2016-03-06 19:36:17 +11:00
gstglbasefilter.h gl: misc docs fixes/additions 2016-03-06 19:36:17 +11:00
gstglbasememory.c glbasememory: take a pointer as the wrapped gpu handle 2016-05-04 12:51:59 +10:00
gstglbasememory.h glbasememory: take a pointer as the wrapped gpu handle 2016-05-04 12:51:59 +10:00
gstglbuffer.c gst-libs: gl, video: use MAY_BE_LEAKED flag 2016-06-03 00:59:12 +01:00
gstglbuffer.h gl*memory: document new functionality and objects 2016-03-06 19:36:17 +11:00
gstglbufferpool.c gl/egl: replace gsteglimagememory with an EGLImage wrapper 2016-05-04 13:31:48 +10:00
gstglbufferpool.h gl/egl: replace gsteglimagememory with an EGLImage wrapper 2016-05-04 13:31:48 +10:00
gstglcolorconvert.c glsl: fixup external-oes shaders by mangling the required extension 2016-06-21 21:27:47 +10:00
gstglcolorconvert.h glcolorconvert: implement usage of a buffer pool 2016-01-06 16:48:33 +11:00
gstglcontext.c gl: add support for building against GLES3 headers 2016-03-31 20:53:18 +11:00
gstglcontext.h gl: misc docs fixes/additions 2016-03-06 19:36:17 +11:00
gstglcontrolbindingproxy.c gl: move control binding proxy implementation from glvideomixer 2016-01-27 20:01:25 +11:00
gstglcontrolbindingproxy.h gl: move control binding proxy implementation from glvideomixer 2016-01-27 20:01:25 +11:00
gstgldebug.c gl: misc docs fixes/additions 2016-03-06 19:36:17 +11:00
gstgldebug.h gl: misc docs fixes/additions 2016-03-06 19:36:17 +11:00
gstgldisplay.c gldisplay: always unref the context on a collision 2016-05-26 20:19:13 +10:00
gstgldisplay.h gl: misc docs fixes/additions 2016-03-06 19:36:17 +11:00
gstglfeature.c glfeature add a specific debug category 2016-01-11 20:40:39 +11:00
gstglfeature.h gl: add .def file for msvc builds 2016-02-05 10:46:21 +11:00
gstglfilter.c gl/egl: replace gsteglimagememory with an EGLImage wrapper 2016-05-04 13:31:48 +10:00
gstglfilter.h glfilter: remove unused class fields in/out_tex_id 2016-06-15 15:47:47 +10:00
gstglformat.c gl*memory: document new functionality and objects 2016-03-06 19:36:17 +11:00
gstglformat.h gl*memory: document new functionality and objects 2016-03-06 19:36:17 +11:00
gstglframebuffer.c gl: initialize output params to 0 before calling gl functions 2015-07-02 15:16:56 +01:00
gstglframebuffer.h bad: Add g_autoptr() support to all types 2015-12-14 14:45:38 -05:00
gstglmemory.c glmemory: add wrapped data pointers to setup_buffer 2016-05-04 12:51:59 +10:00
gstglmemory.h glmemory: add wrapped data pointers to setup_buffer 2016-05-04 12:51:59 +10:00
gstglmemorypbo.c gst-libs: gl, video: use MAY_BE_LEAKED flag 2016-06-03 00:59:12 +01:00
gstglmemorypbo.h glmemorypbo: remove our own alloc()/wrapped()/etc functions 2015-12-17 13:49:56 +11:00
gstgloverlaycompositor.c glmemory: add gst_gl_memory_allocator_get_default 2015-12-18 14:25:32 +11:00
gstgloverlaycompositor.h gloverlaycompositor: Hide GstCompsitionOverlay object 2015-07-22 14:06:34 -04:00
gstglquery.c gl: glquery: cast to silence compiler warning 2016-05-28 22:28:06 +01:00
gstglquery.h gl: add a gstglquery object for arbitrary GL queries 2016-01-15 13:21:56 +11:00
gstglshader.c glshader: add glBindFragDataLocation 2016-03-31 20:52:42 +11:00
gstglshader.h glshader: add glBindFragDataLocation 2016-03-31 20:52:42 +11:00
gstglshaderstrings.c gl: take the affine transformation in NDC 2016-05-14 16:35:29 +03:00
gstglshaderstrings.h gl: take the affine transformation in NDC 2016-05-14 16:35:29 +03:00
gstglsl.c glsl: fixup external-oes shaders by mangling the required extension 2016-06-21 21:27:47 +10:00
gstglsl.h gl: add some GLSL utility functions 2015-10-15 21:27:57 +11:00
gstglsl_private.h glsl: fixup external-oes shaders by mangling the required extension 2016-06-21 21:27:47 +10:00
gstglslstage.c glshader: some compatibility changes for GL 1.4 2016-03-10 22:53:02 +11:00
gstglslstage.h gl: misc docs fixes/additions 2016-03-06 19:36:17 +11:00
gstglsyncmeta.c gl: syncmeta: define GL_TIMEOUT_IGNORED in more portable way 2016-02-10 10:31:19 +00:00
gstglsyncmeta.h glsyncmeta: separate out gpu/cpu waits. 2016-02-09 12:30:25 +11:00
gstglupload.c gl/upload/meta: remove unneeded texture deletion 2016-06-15 14:40:40 +10:00
gstglupload.h gl: misc docs fixes/additions 2016-03-06 19:36:17 +11:00
gstglutils.c glutils: remove unused functions for texture creation/deletion 2016-06-15 16:08:57 +10:00
gstglutils.h glutils: remove unused functions for texture creation/deletion 2016-06-15 16:08:57 +10:00
gstglviewconvert.c glsl: fixup external-oes shaders by mangling the required extension 2016-06-21 21:27:47 +10:00
gstglviewconvert.h glviewconvert: Fix stereoscopic handling w/ texture-target 2016-01-04 01:04:23 +11:00
gstglwindow.c glwindow: reduce the number of GMutexes and GConds in send_message() 2016-04-11 08:40:03 +10:00
gstglwindow.h glwindow: Hide navigation specific internal API and add API to asynchronously send navigation events 2015-12-21 11:27:09 +01:00
Makefile.am g-i: pass compiler env to g-ir-scanner 2016-05-24 00:55:11 +01:00