Matthew Waters
ac1a2297f5
[726/906] window: don't call a NULL destroy function
2017-12-09 19:31:29 +00:00
Matthew Waters
3c2810c3d6
[725/906] x11: use GMainContext/GMainLoop
...
allows us to be reentrant
https://bugzilla.gnome.org/show_bug.cgi?id=703445
2017-12-09 19:31:29 +00:00
Matthew Waters
17e4fe41d3
[724/906] wayland: make reentrant
...
https://bugzilla.gnome.org/show_bug.cgi?id=703445
2017-12-09 19:31:29 +00:00
Julien Isorce
bbc71ed90f
[723/906] gstglwindow: close has to be called in the glthread.
...
Indeed 'glXMakeCurrent (window_x11->device, None, NULL);'
has to be called in the thread where the glcontext is actually
current.
Otherwise glXDestroyContext may crash.
2017-12-09 19:31:28 +00:00
Руслан Ижбулатов
9af1cee2f7
[722/906] gl: Fix build on Win32
...
1) Need to include GL/glext.h on W32 to provide necessary macros
2) W32 macros that pre-processor has by default are different for different
toolchains. Borland uses __WIN32__, everyone else has _WIN32, so check both.
Side-note: glext.h is not supplied by mingw-w64 at the moment, but can be
downloaded from http://www.opengl.org/registry/
https://bugzilla.gnome.org/show_bug.cgi?id=703364
2017-12-09 19:31:28 +00:00
Sebastian Dröge
6c89d7e839
[721/906] glfilter: Use uint64 for the OpenGL context property
...
ulong/long properties are deprecated and should not be used anymore
for portability reasons.
2017-12-09 19:31:28 +00:00
Sebastian Dröge
685d855ded
[719/906] gl: Fix compilation with GLES2
2017-12-09 19:31:28 +00:00
Matthew Waters
5b13d0ebf4
[718/906] shader: make it possible to unref in the non-GL thread
2017-12-09 19:31:28 +00:00
Matthew Waters
71c8edf9c0
[717/906] remove outdated cmake build files
2017-12-09 19:31:28 +00:00
Matthew Waters
bc5d65928f
[716/906] wayland: properly choose EGL_RENDERABLE_TYPE
...
based on the gl api we chose
2017-12-09 19:31:28 +00:00
Matthew Waters
5ec9f248a1
[715/906] display: inherit from the right object class
2017-12-09 19:31:28 +00:00
Matthew Waters
1c84c0fb96
[714/906] Add GstGLFramebuffer to replace _display_gen_fbo and friends
...
This version is simply API compatible with _display_gen_fbo.
The next version will likely revamp the API
2017-12-09 19:31:28 +00:00
Matthew Waters
d7f5cac7ce
[713/906] shader: make it possible to create the object in a non-GL thread
2017-12-09 19:31:28 +00:00
Matthew Waters
ef6b1ca760
[712/906] wayland: shutdown properly
...
We cannot use _finalize as this will be called before GstGLWindow's
_finalize. This causes us to try and perform operations with the
wayland server when the connection has been severed.
2017-12-09 19:31:28 +00:00
Matthew Waters
380f918802
[711/906] wayland: support choosing Desktop GL as the api
2017-12-09 19:31:28 +00:00
Matthew Waters
951daee416
[710/906] window: fail if the user specifies an GL api that we cannot work with
...
It would've been caught later in an g_assert anyway.
2017-12-09 19:31:28 +00:00
Matthew Waters
2ae5b50fa4
[709/906] display: some more cleanups
2017-12-09 19:31:28 +00:00
Matthew Waters
6e86d0e920
[708/906] display: a cleanup and removal of old code
2017-12-09 19:31:28 +00:00
Matthew Waters
bdf5b5be0f
[707/906] display: move error_message to utils
2017-12-09 19:31:28 +00:00
Matthew Waters
5bc069a5d5
[706/906] display: move activate_context into utils
2017-12-09 19:31:28 +00:00
Matthew Waters
4f117323b8
[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.
2017-12-09 19:31:28 +00:00
Matthew Waters
761bc0156a
[704/906] Use gst_object_[un]ref so we can get refcounts in the log
2017-12-09 19:31:28 +00:00
Matthew Waters
9e7af77dc8
[703/906] x11: don't segfault if destroy_cb is NULL
2017-12-09 19:31:28 +00:00
Matthew Waters
5818b015d6
[702/906] x11: fix segfault if the x11 backend is instantiated but not used
2017-12-09 19:31:28 +00:00
Matthew Waters
c6988cb064
[701/906] display: move context creation into window
2017-12-09 19:31:28 +00:00
Matthew Waters
9c633e658a
[700/906] display: move most of the code into utils for sorting later
...
This contains a hack that essentially requires one GstGLDisplay
per process.
2017-12-09 19:31:28 +00:00
Matthew Waters
38e0434d95
[699/906] display: remove list of upload and download objects
...
and only create an up/download object when needed.
2017-12-09 19:31:28 +00:00
Matthew Waters
81334a1af0
[698/906] move sink-specific stuff from GstGLDisplay into glimagesink
2017-12-09 19:31:28 +00:00
Matthew Waters
ad31c9f8e2
[697/906] display: allow the user to try and choose the GL api we use via env variable
...
GST_GL_API=opengl,opengl3,gles2,gles3
2017-12-09 19:31:28 +00:00
Matthew Waters
f5472457bf
[696/906] glapi: fix memory leak from not freeing a string
2017-12-09 19:31:28 +00:00
Matthew Waters
06eb6f4965
[695/906] build: remove libtool warning about -version-info not used in convenience libraries
2017-12-09 19:31:28 +00:00
Matthew Waters
696477bbf6
[693/906] x11_glx: ask for a 3.0 GL Context
...
(falling back if needed)
2017-12-09 19:31:27 +00:00
Matthew Waters
957b4cf08b
[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
2017-12-09 19:31:27 +00:00
Matthew Waters
d88a9c0044
[691/906] feature: make gst_gl_check_extension public
...
prevents duplication of code of extension string parsing in GstGLWindow's
2017-12-09 19:31:27 +00:00
Matthew Waters
df675e7335
[690/906] windowx11glx: use fbconfigs if supported
2017-12-09 19:31:27 +00:00
Matthew Waters
d71ab51c9f
[688/906] display: properly shutdown if we error after context creation
...
The _finalize() code checks to see if the context was created before
attempting to destroy it. We never did say that we had created the context.
2017-12-09 19:31:27 +00:00
Matthew Waters
01518880fa
[685/906] filter: improve error handling
2017-12-09 19:31:27 +00:00
Matthew Waters
a9b5bfe9d7
[684/906] display: lack of format-string causing a compiler warning
2017-12-09 19:31:27 +00:00
Matthew Waters
94d1326a7f
[683/906] feature: remove double free
2017-12-09 19:31:27 +00:00
Matthew Waters
1a04002052
[681/906] win32: fix gl api calls on 32-bit
...
win has the bright idea of having 5 different calling conventions.
we should probably use the right one so we don't crash from stack
corruption.
2017-12-09 19:31:27 +00:00
Matthew Waters
31a5beb3f3
[680/906] overlay: tentative port to new GstGLFuncs API
2017-12-09 19:31:27 +00:00
Matthew Waters
b9a10f8e15
[678/906] window_win32_wgl: implement wglGetProcAddress for extension functions
2017-12-09 19:31:27 +00:00
Matthew Waters
ed98971953
[677/906] memory: fix GSIZE printf format on win32
2017-12-09 19:31:27 +00:00
Matthew Waters
8d07dcbd5e
[676/906] windwo_win32: port to new API
2017-12-09 19:31:27 +00:00
Matthew Waters
72ac429e57
[675/906] upload: provide nicer debugging
2017-12-09 19:31:27 +00:00
Matthew Waters
6e8099fa20
[674/906] feature: try and catch more GL extension functions
...
if we don't find the extension in core GL, try the extension version anyway
2017-12-09 19:31:27 +00:00
Matthew Waters
1198b27830
[673/906] feature: add gstreamer license
2017-12-09 19:31:27 +00:00
Matthew Waters
792f055db4
[672/906] display: constify GstGLFuncs *gl
2017-12-09 19:31:27 +00:00
Matthew Waters
267bf848de
[671/906] win32: #include GL/glext.h on windows
...
also add some GL default variables if some GL types are not defined
2017-12-09 19:31:27 +00:00
Matthew Waters
dba83ebbd3
[670/906] display: replace glib deprecated api
2017-12-09 19:31:27 +00:00