Sebastian Dröge
9fd7e34fee
glcontext: Add more assertions to make sure that everything sets the GError during context creation if something fails
2017-12-09 19:31:40 +00:00
Matthew Waters
857200ff40
gl: make all GObjects inherit from GstObject
...
Aids memory leak debugging with GST_TRACE=mem-live
2017-12-09 19:31:39 +00:00
Matthew Waters
59592f9bfc
gl/display: clean up pre gstglcontext api and struct fields
...
https://bugzilla.gnome.org/show_bug.cgi?id=729551
2017-12-09 19:31:39 +00:00
Sebastian Dröge
8c56e1bba7
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
2017-12-09 19:31:38 +00:00
Nicolas Dufresne
1e8fc49203
gl: no need to provide full lib path to load symbols
...
- Make gstgl work on Mali
- Keep it work on RPI
- fallback to NULL name module if fails with usual lib name
https://bugzilla.gnome.org/show_bug.cgi?id=728753
2017-12-09 19:31:38 +00:00
Matthew Waters
175ca3f7b0
gl/context: output available extensions
2017-12-09 19:31:36 +00:00
Matthew Waters
1460d22e92
gl/context: provide get_gl_version
2017-12-09 19:31:36 +00:00
Sebastian Dröge
3770d2a406
gl: Add support for iOS EAGL platform
...
https://bugzilla.gnome.org/show_bug.cgi?id=703341
2017-12-09 19:31:36 +00:00
Matthew Waters
790f34c7a6
gl: fix detection of extensions with GL versions < 3
...
Mesa, for example returns valid pointers for glGetIntegerv and
glGetStringi even if the gl version is less than that required for
both those functions to supposedly exist.
https://bugzilla.gnome.org/show_bug.cgi?id=727324
2017-12-09 19:31:35 +00:00
Julien Isorce
3e3b573503
gl: fix crash if _build_extension_string is not called
...
On GLES2 then (gl->GetIntegerv && gl->GetStringi) is false
regression introduced by cc6df204e2
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2017-12-09 19:31:35 +00:00
Julien Isorce
da24ea1956
gl: fallback to glGetString if GL_NUM_EXTENSIONS fails
...
Need it on MacOSX 10.7.5
2017-12-09 19:31:35 +00:00
Matthew Waters
1732e378f1
gl: define GL_NUM_EXTENSIONS if not defined
2017-12-09 19:31:34 +00:00
Matthew Waters
e225af3e0d
gl: silence all the compiler warnings
2017-12-09 19:31:34 +00:00
Matthew Waters
d6e6ac471d
[902/906] context: implement glGetStringi handling for GL core contexts/GLES3
2017-12-09 19:31:34 +00:00
Matthew Waters
4b42da6141
[895/906] context: call window_class->close last
...
We should destroy resources before closing the display connection
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725048
2017-12-09 19:31:33 +00:00
Matthew Waters
d169aa05dc
[892/906] silence a compiler warning on older gcc versions (4.6)
2017-12-09 19:31:33 +00:00
Matthew Waters
97f6bc0bfc
[891/906] context: add support for wrapping external contexts
2017-12-09 19:31:33 +00:00
Matthew Waters
cd53fbba24
[883/906] api: provide from_string()
...
Also s/gst_gl_api_string/gst_gl_api_to_string/g
2017-12-09 19:31:33 +00:00
Matthew Waters
d6bdcbe751
[856/906] context: document it
2017-12-09 19:31:32 +00:00
Julien Isorce
e42b5bc985
[841/906] osx: allow x11/glx backend and set default runtime to cocoa/nsgl
...
https://bugzilla.gnome.org/show_bug.cgi?id=719757
2017-12-09 19:31:32 +00:00
Julien Isorce
42f1d66bc6
[833/906] gstglcontext: initialize window to NULL
2017-12-09 19:31:32 +00:00
Matthew Waters
ac0db99c94
[828/906] context: refcount the display
2017-12-09 19:31:32 +00:00
Matthew Waters
266ffc48be
[824/906] android: Build fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=709786
2017-12-09 19:31:31 +00:00
Matthew Waters
3b1ec77cf8
[818/906] window: add send_message_async vmethod
...
- provide a default synchronous send_message
- make context creation threadsafe again
2017-12-09 19:31:31 +00:00
Matthew Waters
4bec88ea28
[815/906] fix some refcount errors
2017-12-09 19:31:31 +00:00
Matthew Waters
711ad485b2
[812/906] move the GL vtable from GstGLDisplay to GstGLContext
...
Conflicts:
tests/check/libs/gstglcontext.c
2017-12-09 19:31:31 +00:00
Julien Isorce
cc38e16ef2
[804/906] rpi: call bcm_host_init in plugin_init
2017-12-09 19:31:31 +00:00
Julien Isorce
dd679dee25
[803/906] raspberrypi: add support for dispmanx
...
See https://bugzilla.gnome.org/show_bug.cgi?id=703342
2017-12-09 19:31:31 +00:00
Matthew Waters
48cd6ac353
[801/906] context: Reimplement GL context sharing
...
https://bugzilla.gnome.org/show_bug.cgi?id=704806
2017-12-09 19:31:31 +00:00
Matthew Waters
b8b9fced19
[796/906] move egl into its own directory
2017-12-09 19:31:31 +00:00
Matthew Waters
9cbb652b66
[794/906] context: add subclasses for the different platforms (egl, glx, wgl, etc)
...
- most code taken from the Window subclasses
- tested combinations: xEGL, GLX, Wayland+EGL, Cocoa (under GNUStep), WGL (Wine)
2017-12-09 19:31:30 +00:00
Matthew Waters
e80533dcee
[793/906] add a GstGLContext object that will be the basis of OpenGL contexts
...
At the moment it just sits in between GstGLDisplay and GstGLWindow
performing some of the stuff that GstGLWindow used to do.
2017-12-09 19:31:30 +00:00