Matthew Waters
311592f8b1
[807/906] context: Move some window error enums to context
2014-03-15 18:37:02 +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
c639a2d126
[797/906] x11: fix build for clang
2014-03-15 18:37:01 +01:00
Matthew Waters
95c08c2ee2
[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)
2014-03-15 18:37:01 +01:00
Matthew Waters
cf5e910d9b
[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.
2014-03-15 18:37:01 +01:00
Matthew Waters
b5d595f402
[792/906] build: use our own in tree headers before system ones
...
allows us to develop against the tree rather than what may be installed
2014-03-15 18:37:01 +01:00
Julien Isorce
bfac5a8d76
[791/906] glwindow/x11: remove X11EventSource as soon as the window is deleted
...
gst_gl_window_x11_send_message do not use XSendEvent anymore
2014-03-15 18:37:01 +01:00
Sebastian Dröge
f6f0c4ddad
[762/906] glimagesink: Fix some memory leaks and properly set up the buffer pool
2014-03-15 18:36:59 +01:00
Sebastian Dröge
380ab312ca
[761/906] x11: Protect event display connection with a mutex
...
We use it from different threads and need to serialize the
accesses to it.
2014-03-15 18:36:59 +01:00
Sebastian Dröge
ddfc527857
[760/906] x11: Always use the same display connection from the GL thread
...
The other display connection might be used by async calls from elsewhere
at the same time.
https://bugzilla.gnome.org/show_bug.cgi?id=704247
2014-03-15 18:36:59 +01:00
Sebastian Dröge
2b6e54d416
[752/906] glwindow: Add destroy notifies for the data of the callbacks
...
And actually call the close callback when the window is closed.
2014-03-15 18:36:58 +01:00
Sebastian Dröge
7fffd9097e
[740/906] x11: Allow setting window handle before creating the context
2014-03-15 18:36:58 +01:00
Sebastian Dröge
c479544540
[739/906] x11: Don't leak main context and main loop
2014-03-15 18:36:58 +01:00
Sebastian Dröge
a5a46aa833
[733/906] gl: Major header and include cleanup
2014-03-15 18:36:57 +01:00
Sebastian Dröge
a8d5b21013
[727/906] egl: Refactor EGL logic into a helper object
2014-03-15 18:36:57 +01:00
Matthew Waters
f9d46c29ca
[725/906] x11: use GMainContext/GMainLoop
...
allows us to be reentrant
https://bugzilla.gnome.org/show_bug.cgi?id=703445
2014-03-15 18:36:57 +01:00
Matthew Waters
f6a9c807f6
[716/906] wayland: properly choose EGL_RENDERABLE_TYPE
...
based on the gl api we chose
2014-03-15 18:36:56 +01:00
Matthew Waters
118b947e57
[711/906] wayland: support choosing Desktop GL as the api
2014-03-15 18:36:56 +01:00
Matthew Waters
ac4db593f8
[705/906] x11: don't shutdown in _finalize
...
The window's loop could be still running when _finalize is called
and if we destroy the display connection it will never be closed.
Add _open and _close vfuncs to GstGLWindow so that subclasses can
start up and shutdown at the right time.
2014-03-15 18:36:56 +01:00
Matthew Waters
2d69905592
[703/906] x11: don't segfault if destroy_cb is NULL
2014-03-15 18:36:55 +01:00
Matthew Waters
6dfee9c975
[702/906] x11: fix segfault if the x11 backend is instantiated but not used
2014-03-15 18:36:55 +01:00
Matthew Waters
9adc3c8cf3
[695/906] build: remove libtool warning about -version-info not used in convenience libraries
2014-03-15 18:36:55 +01:00
Matthew Waters
52c31328e2
[693/906] x11_glx: ask for a 3.0 GL Context
...
(falling back if needed)
2014-03-15 18:36:55 +01:00
Matthew Waters
3af4ce25ff
[692/906] window_x11: add XError trapping
...
some functions in GLX can fail if the implementation does not support
certain features we ask for (i.e. GL 3) bringing down the entire
application
2014-03-15 18:36:55 +01:00
Matthew Waters
46decac44e
[690/906] windowx11glx: use fbconfigs if supported
2014-03-15 18:36:55 +01:00
Matthew Waters
9e8eb32080
[669/906] window: seperate object creation and context creation
2014-03-15 18:36:53 +01:00
Matthew Waters
fa3c3b8434
[642/906] add gstglconfig.h for apps to find out what our capabilites are
...
ie libgstgl can be compiled with any combination of opengl/gles2
2014-03-15 18:36:52 +01:00
Matthew Waters
05d26c78e0
[639/906] add get_proc_address implementations for egl and glx
2014-03-15 18:36:52 +01:00
Matthew Waters
d993ab7e4f
[637/906] x11_egl: add prelim support for choosing opengl or gles
2014-03-15 18:36:52 +01:00
Matthew Waters
809646505c
[636/906] window_x11: compact debug info
2014-03-15 18:36:52 +01:00
Matthew Waters
76dfdd656f
[629/906] window: add GError for error handling of context creation
2014-03-15 18:36:51 +01:00
Matthew Waters
bbd3b4dbd9
[623/906] move GL includes into a single file
2014-03-15 18:36:51 +01:00
Matthew Waters
fd998dc0a5
[621/906] GstGLRendererAPI => GstGLAPI and get GstGLAPI from a window
2014-03-15 18:36:51 +01:00
Matthew Waters
e357b4aa13
[617/906] fix 'set but not used' compiler warnings
2014-03-15 18:36:50 +01:00
Matthew Waters
1679a0be7e
[616/906] move window-specific code into seperate subfolders
2014-03-15 18:36:50 +01:00