Matthew Waters
d9f553bff5
glcontext/egl: don't overwrite set GError
...
Doing so is an error and will cause a glib warning to be printed.
https://bugzilla.gnome.org/show_bug.cgi?id=776722
2017-01-10 01:00:12 +11:00
Matthew Waters
8c2118823b
gl/egl: remove EGLImage functions from egl context
...
By adding the necessary GstEGLImage entry points to create a GstEGLImage
from a GstGLMemory.
https://bugzilla.gnome.org/show_bug.cgi?id=774518
2016-11-17 14:06:21 +11:00
Matthew Waters
f2e9190229
glcontext: add vfunc to retrieve the OpenGL platform version
...
i.e. the version of EGL, GLX, etc implemented.
https://bugzilla.gnome.org/show_bug.cgi?id=774518
2016-11-17 14:06:21 +11:00
Matthew Waters
d42145e8c1
gl/egl: move get_error_string() into gstegl
...
So others can use it without #include-ing a private header
https://bugzilla.gnome.org/show_bug.cgi?id=774518
2016-11-17 14:06:21 +11:00
Matthew Waters
cdaada4300
display/egl: implement getting the EGLDisplay of a specific platform
...
https://bugzilla.gnome.org/show_bug.cgi?id=774518
2016-11-17 14:06:21 +11:00
Víctor Manuel Jáquez Leal
9ca4c8ec35
gl/egl: check the feature in the extensions list
...
https://bugzilla.gnome.org/show_bug.cgi?id=774518
2016-11-16 19:52:54 +01:00
Matthew Waters
41a6448918
gl: GST_GL_TYPE -> GST_TYPE_GL
...
Some deprecated symbols are kept for backwards compatibility
2016-11-03 16:16:12 +11:00
Song Bing
4e04f28478
gl/egl/dmabuf: Wrong attribute list type for EGL 1.5
...
For EGL 1.5 spec, the attribute list type should be EGLAttrib.
https://bugzilla.gnome.org/show_bug.cgi?id=768602
2016-08-16 15:34:08 +10:00
Sebastian Dröge
22e75a2112
gl: Fix compiler warning about unused const variable with gcc 6
...
CC libgstgl_x11_la-gstglcontext_glx.lo
In file included from gstglcontext_glx.c:39:0:
../utils/opengl_versions.h:52:43: error: ‘gles2_versions’ defined but not used [-Werror=unused-const-variable]
static const struct { int major, minor; } gles2_versions[] = {
^~~~~~~~~~~~~~
2016-02-18 10:33:20 +02:00
Matthew Waters
406fe90331
glcontext: back out unintended lost_context changes
2016-01-29 12:45:57 +11:00
Matthew Waters
49199b03ac
egl: implement selecting opengl3 contexts
2016-01-29 11:51:58 +11:00
Matthew Waters
f524419315
gl/egl: pass the error value to get_error_string()
2016-01-29 11:51:58 +11:00
Lubosz Sarnecki
eb73cf3c2e
gstglcontext_egl: Expose gst_gl_context_egl_get_error_string.
...
https://bugzilla.gnome.org/show_bug.cgi?id=743345
2015-12-18 15:56:33 -05:00
Matthew Waters
0af0237c4a
gl: fix usage of string.h and stdio.h functions without including the headers
...
e.g:
gstglcontext_egl.c:613:7: error: implicit declaration of function 'strcmp'
[-Werror=implicit-function-declaration]
if (strcmp (G_MODULE_SUFFIX, "so") == 0)
2015-10-21 04:53:08 +11:00
Matthew Waters
3dfc6899ad
gl: be consistent in gobject boilerpate
...
GST_GL_IS_* vs GST_IS_GL_*
git grep -l 'GST_GL_IS_' | xargs sed -i 's/GST_GL_IS_/GST_IS_GL_/g'
2015-10-19 15:15:30 +11:00
Matthew Waters
dbcae77e02
glcontext: pass display to implentation's _new()
...
This allows the context to fail creation based on incompatible
display type's. e.g. glx context with an wayland display handle.
https://bugzilla.gnome.org/show_bug.cgi?id=752743
2015-07-27 18:23:17 +10:00
Julien Isorce
5e4b94c1bb
gl: support cgl, egl and glx within a same build
...
On osx, with the same build,
gst-launch-1.0 videotestsrc ! glimagesink works with:
GST_GL_PLATFORM=egl GST_GL_WINDOW=x11 GST_GL_API=gles2
GST_GL_PLATFORM=egl GST_GL_WINDOW=x11 GST_GL_API=opengl
GST_GL_PLATFORM=glx GST_GL_WINDOW=x11 GST_GL_API=opengl
GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa GST_GL_API=opengl
GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa GST_GL_API=opengl3
https://bugzilla.gnome.org/show_bug.cgi?id=752743
2015-07-27 09:03:58 +01:00
Matthew Waters
74711c214d
glcontext: consolidate get_proc_address function definition
...
Pass the GstGLAPI directly.
2015-07-18 17:10:04 +10:00
Matthew Waters
d5a39896dc
download: only start a download transfer for sysmem caps features
2015-07-07 22:38:08 +10:00
Matthew Waters
26df88cd24
gl: consolidate egl header includes to egl-only headers
...
They may conflict with other headers.
2015-07-07 13:12:49 +10:00
Matthew Waters
de389e07dc
gl/wayland: implement basic video overlay support via subsurfaces
...
Currently does not position the subsurface relative to the parent surface at all
2015-05-31 16:04:13 +10:00
Xavier Claessens
5bfaaf4c74
egl: Use maximum bits per color instead of minimum
...
https://bugzilla.gnome.org/show_bug.cgi?id=748425
2015-04-27 10:45:48 -04:00
Matthieu Bouron
93d2e67cbc
glcontext: Make gst_gl_context_egl_activate fail if the old surface could not be destroyed
...
https://bugzilla.gnome.org/show_bug.cgi?id=746251
2015-04-17 14:39:11 +02:00
Matthieu Bouron
8ebc715fbf
glcontext: Make gst_gl_context_egl_activate fail if the surface could not be created
...
Also add some error logging.
2015-04-16 11:47:00 +02:00
Philippe Normand
14ac40f106
gl/dispmanx: surfaceless EGL context support
...
Show the DispmanX window only if there's no shared external GL context
set up. When a window is required by the context a transparent
DispmanX element is created and later on made visible by the ::show
method.
https://bugzilla.gnome.org/show_bug.cgi?id=746632
2015-03-24 11:12:05 +00:00
Edward Hervey
7075b25288
gl/egl: Detect window handle changes
...
When (re)activating the context, the backing window handle might have changed.
If that happened, destroy the previous surface and create a new one
https://bugzilla.gnome.org/show_bug.cgi?id=745090
2015-02-24 17:42:13 +01:00
Edward Hervey
929a6a75d2
gl: Make glcontext debug category used in more places
...
As a bonus it makes the egl context debug messages visible now :)
2015-02-12 15:57:55 +01:00
Matthew Waters
567185a277
glcontext: add more functionality to wrapped contexts
...
Implements get_current_context() and get_proc_address() for wrapped
contexts.
2014-10-30 18:58:50 +11:00
Matthew Waters
81ceca1aea
glcontext: add api for retreiving the current context and api
...
that is current in the calling thread.
2014-10-28 17:33:20 +11:00
Jan Schmidt
c93017a074
egl: Wrap KHR_create_context flags in an ifdef
...
EGL_CONTEXT_FLAGS_KHR and EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR
don't exist in the Android NDK. Wrap their usage in an #ifdef
EGL_KHR_create_context to fix the build there.
2014-08-26 12:41:35 +10:00
Matthew Waters
83a32dbddb
egl: fallback to a non-debug context if a debug one fails
...
The text for EGL_KHR_create_context added the possiblity for ES
contexts to ask for a debug context however that has not been
fully realized by all implementations. Fallback to a non-debug
context when the implementation errors.
2014-08-22 16:51:29 +10:00
Matthew Waters
95a4585d4c
glcontext: implement the debug callback
...
For both GL_KHR_debug and ARB_debug_output. This allows us to
receive errors and other hints from the GL instead of querying after
every GL operation.
2014-08-20 23:26:26 +10:00
Edward Hervey
30622337ab
glcontext: Try to open lib{EGL|GL|GLESv2}.so.1 before lib{EGL|GL|GLESv2}
...
Fixes issues with .so (without numbering) being installed for development
(such as from mesa-dev) but actual driver (with numbering) coming from
some other place (like nvidia drivers)
2014-05-29 17:12:41 +02:00
Matthew Waters
dad342454b
gl/context_egl: pass the vars in the right order to DestroySurface
...
https://bugzilla.gnome.org/show_bug.cgi?id=728514
2014-05-27 10:49:26 +10:00
Matthew Waters
37c08c58c5
gl/eglimage: add eglimage context feature
...
Allows us to selectively use EGLImages only when available
https://bugzilla.gnome.org/show_bug.cgi?id=728234
2014-05-20 23:37:52 +10:00
Sebastian Dröge
cad1bb32c8
gl: Try harder to load symbols from the correct place
...
This commit makes the loading of the GModules threadsafe, and
always first tries to load the symbol for the GL library that
is selected for the current context. Only then it falls back
to looking into the current module (NULL), and only as a last
resort the context specific function (e.g. eglGetProcAddress())
is called.
Also add configure parameters to select the names of the library
modules instead of using the defaults, and let the defaults be
independent of the G_MODULE_SUFFIX.
https://bugzilla.gnome.org/show_bug.cgi?id=728753
2014-05-01 14:36:54 +02:00
Julien Isorce
e870244e39
gl: keep only one occurence of '#include <EGL/egl.h>'
...
To simply maintainance if we need to put specific includes around it.
2014-03-19 14:43:13 +00:00
Руслан Ижбулатов
2a8f52a976
gl: fix the use of always-defined macros
...
After 2a0f0399ae
GST_GL_* macros are always
defined to 0 or 1. Don't use #ifdef ... or #if defined() on them.
https://bugzilla.gnome.org/show_bug.cgi?id=726591
2014-03-18 06:17:03 +00:00
Matthew Waters
49b37650f6
gl: Add EGLDisplay display subclass
2014-03-17 10:56:39 +01:00
Matthew Waters
25a5dabda9
[899/906] egl: warn if we resort to display handles from the window
2014-03-15 18:37:07 +01:00
Matthew Waters
3ad466945e
[891/906] context: add support for wrapping external contexts
2014-03-15 18:37:07 +01:00
Matthew Waters
0d1d42b205
[890/906] x11: add display subclass
...
GstGLDisplayX11 holds the display connection and name. Each thread requires
it's own X11 Display connection (initialised from name) due to the fact that
we do not want to call XInitThreads(). Doing so would result in segfaults
when integrating with GUI toolkits Gtk, Qt, etc.
The Display connection is for OpenGL platforms where a constant display is
required in order to share contexts (egl). In the case of a wrapped context
(added later), we do not have GstGLWindow to retreive the display from so a
'master' connection is used instead.
2014-03-15 18:37:06 +01:00
Matthew Waters
775ea000dc
[824/906] android: Build fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=709786
2014-03-15 18:37:03 +01:00
Julien Isorce
414989b388
[822/906] gstglcontext_egl: avoid non working EGL confs on rpi/wayland
2014-03-15 18:37:02 +01:00
Matthew Waters
311592f8b1
[807/906] context: Move some window error enums to context
2014-03-15 18:37:02 +01:00
Matthew Waters
cb7bf213fe
[806/906] egl: doesn't require the EGLConfig from the other context
...
libEGL should give us the same or similar EGLConfig from the
EGLDisplay we have.
2014-03-15 18:37:01 +01:00
Julien Isorce
561a71c244
[803/906] raspberrypi: add support for dispmanx
...
See https://bugzilla.gnome.org/show_bug.cgi?id=703342
2014-03-15 18:37:01 +01:00
Matthew Waters
b24021b1ac
[801/906] context: Reimplement GL context sharing
...
https://bugzilla.gnome.org/show_bug.cgi?id=704806
2014-03-15 18:37:01 +01:00
Matthew Waters
32f40b28a5
[796/906] move egl into its own directory
2014-03-15 18:37:01 +01:00