Julien Isorce [Fri, 30 Aug 2013 13:12:37 +0000 (14:12 +0100)]
[803/906] raspberrypi: add support for dispmanx
See https://bugzilla.gnome.org/show_bug.cgi?id=703342
Matthew Waters [Thu, 29 Aug 2013 10:12:27 +0000 (20:12 +1000)]
[802/906] add GstGLContext test that tests context sharing
Matthew Waters [Thu, 29 Aug 2013 10:10:42 +0000 (20:10 +1000)]
[801/906] context: Reimplement GL context sharing
https://bugzilla.gnome.org/show_bug.cgi?id=704806
Julien Isorce [Wed, 28 Aug 2013 09:32:29 +0000 (10:32 +0100)]
[800/906] glimagesink: avoid to draw texture while releasing stored buffer
Spoted by generic/cube example with ClientDrawCallback set to
returning TRUE (it means drawing as fast as possible)
Julien Isorce [Wed, 28 Aug 2013 09:07:24 +0000 (10:07 +0100)]
[799/906] glimagesink: fix asynchrone drawing
Simplify gst_glimage_sink_redisplay which is there
only to ask the window for a redraw.
Put a lock to make sure we are not realeasing
the stored buffer while still drawing the corresponding
texture
Matthew Waters [Wed, 21 Aug 2013 14:29:36 +0000 (00:29 +1000)]
[798/906] build: install needed header
Matthew Waters [Wed, 21 Aug 2013 05:40:52 +0000 (15:40 +1000)]
[797/906] x11: fix build for clang
Matthew Waters [Wed, 21 Aug 2013 04:05:56 +0000 (14:05 +1000)]
[796/906] move egl into its own directory
Matthew Waters [Wed, 21 Aug 2013 03:57:56 +0000 (13:57 +1000)]
[795/906] android: port to GstGLContext
not tested
Matthew Waters [Thu, 15 Aug 2013 07:09:04 +0000 (17:09 +1000)]
[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)
Matthew Waters [Wed, 14 Aug 2013 00:44:19 +0000 (10:44 +1000)]
[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.
Matthew Waters [Tue, 13 Aug 2013 10:10:56 +0000 (20:10 +1000)]
[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
Julien Isorce [Fri, 16 Aug 2013 15:29:12 +0000 (16:29 +0100)]
[791/906] glwindow/x11: remove X11EventSource as soon as the window is deleted
gst_gl_window_x11_send_message do not use XSendEvent anymore
Julien Isorce [Fri, 16 Aug 2013 14:26:28 +0000 (15:26 +0100)]
[790/906] glimagesink: retrieve window only when clientDrawCallback return true
Sebastian Dröge [Wed, 7 Aug 2013 15:11:59 +0000 (17:11 +0200)]
[789/906] egl: Create a window surface if necessary
Tonu Jaansoo [Wed, 7 Aug 2013 09:46:49 +0000 (11:46 +0200)]
[788/906] osx: Fix compilation
Tonu Jaansoo [Wed, 7 Aug 2013 09:42:46 +0000 (11:42 +0200)]
[787/906] gl: The GLSL rectangle resampler does not always work with int tex coords
Use floats instead.
Sebastian Dröge [Wed, 24 Jul 2013 11:35:27 +0000 (13:35 +0200)]
[786/906] glprototypes: Add support for NV extensions for DrawBuffers and ReadBuffer
Sebastian Dröge [Wed, 24 Jul 2013 11:34:20 +0000 (13:34 +0200)]
[785/906] egl: Use EGL_KHR_surfaceless_context instead of creating a useless surface if available
Julien Isorce [Mon, 22 Jul 2013 18:00:42 +0000 (19:00 +0100)]
[784/906] gloverlay: add G_BEGIN/END declaration
Sebastian Dröge [Fri, 19 Jul 2013 14:28:20 +0000 (16:28 +0200)]
[783/906] glimagesink: Fix format string warning
Sebastian Dröge [Fri, 19 Jul 2013 08:07:54 +0000 (10:07 +0200)]
[782/906] gldownload: Use strlen() instead of sizeof(char*)
gstgldownload.c:846:22: error: argument to 'sizeof' in 'memcpy' call is the same expression as the source; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]
Matthew Waters [Fri, 19 Jul 2013 06:48:03 +0000 (16:48 +1000)]
[781/906] download: propogate errors from the GL thread
Matthew Waters [Thu, 18 Jul 2013 10:21:57 +0000 (20:21 +1000)]
[780/906] up/download: check return values
So we fail properly
Matthew Waters [Thu, 18 Jul 2013 09:37:32 +0000 (19:37 +1000)]
[779/906] download: remove _thread variants of the API
Matthew Waters [Thu, 18 Jul 2013 09:36:27 +0000 (19:36 +1000)]
[778/906] upload: remove _thread variants of the API
Matthew Waters [Thu, 18 Jul 2013 09:17:18 +0000 (19:17 +1000)]
[777/906] upload: overhaul and addition of new video formats
use the shaders from eglglessink (adapted for Desktop GL)
error out properly
Matthew Waters [Wed, 17 Jul 2013 11:17:03 +0000 (21:17 +1000)]
[776/906] download: fix compiler warning about missing string format
Sebastian Dröge [Fri, 19 Jul 2013 07:20:09 +0000 (09:20 +0200)]
[775/906] configure: Check for GLeglImageOES and others again
https://bugzilla.gnome.org/show_bug.cgi?id=704498
Sebastian Dröge [Thu, 18 Jul 2013 18:26:44 +0000 (20:26 +0200)]
[774/906] win32: Fix some compiler errors/warnings
Mathieu Duponchelle [Wed, 17 Jul 2013 23:42:31 +0000 (01:42 +0200)]
[773/906] glfilters: Mark writable-only properties as readable as well
https://bugzilla.gnome.org/show_bug.cgi?id=704429
Mathieu Duponchelle [Wed, 17 Jul 2013 23:41:05 +0000 (01:41 +0200)]
[772/906] glfilters: Mark them as Video filters in their classification
It makes it possible for applications like pitivi to
use them.
https://bugzilla.gnome.org/show_bug.cgi?id=704429
Sebastian Dröge [Wed, 17 Jul 2013 09:22:02 +0000 (11:22 +0200)]
[771/906] gl: Some less long/ulong/gulong usage
Mathieu Duponchelle [Tue, 16 Jul 2013 16:28:33 +0000 (18:28 +0200)]
[770/906] tests/examples: port some of the examples.
This commit is a first step, removes glupload, switch new-decoded-pad
to pad-added, but these examples still fail for various reasons.
Mathieu Duponchelle [Tue, 16 Jul 2013 16:27:07 +0000 (18:27 +0200)]
[769/906] tests/examples: fix and port some of the examples.
Realize widgets, remove glupload element.
Sebastian Dröge [Tue, 16 Jul 2013 14:17:11 +0000 (16:17 +0200)]
[768/906] gltestsrc: Fix usage of FBO API
Sebastian Dröge [Tue, 16 Jul 2013 12:22:53 +0000 (14:22 +0200)]
[767/906] glimagesink: Remove GValue usage for fraction handling
Matthew Waters [Thu, 4 Jul 2013 00:01:52 +0000 (10:01 +1000)]
[766/906] utils: generate a RGBA texture in all cases
Matthew Waters [Wed, 3 Jul 2013 11:01:25 +0000 (21:01 +1000)]
[765/906] wayland: remove fullscreen
Matthew Waters [Wed, 3 Jul 2013 04:37:13 +0000 (14:37 +1000)]
[764/906] filter: fix pad template caps
upload is for the sink template
download is form the src template
Matthew Waters [Wed, 3 Jul 2013 04:13:00 +0000 (14:13 +1000)]
[763/906] memory: copy properly depending on where the most recent data is
Sebastian Dröge [Tue, 16 Jul 2013 12:11:46 +0000 (14:11 +0200)]
[762/906] glimagesink: Fix some memory leaks and properly set up the buffer pool
Sebastian Dröge [Tue, 16 Jul 2013 11:28:19 +0000 (13:28 +0200)]
[761/906] x11: Protect event display connection with a mutex
We use it from different threads and need to serialize the
accesses to it.
Sebastian Dröge [Tue, 16 Jul 2013 11:23:54 +0000 (13:23 +0200)]
[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
Sebastian Dröge [Mon, 15 Jul 2013 19:44:20 +0000 (21:44 +0200)]
[759/906] gldownload: #ifdef some GLES2 specific code to fix compilation
Sebastian Dröge [Mon, 15 Jul 2013 16:07:12 +0000 (18:07 +0200)]
[758/906] android: Don't require a window to be set
This allows the filters to be usable without a GL sink downstream.
Sebastian Dröge [Mon, 15 Jul 2013 16:01:55 +0000 (18:01 +0200)]
[757/906] egl: Create an offscreen surface if no window was provided
Sebastian Dröge [Mon, 15 Jul 2013 15:20:00 +0000 (17:20 +0200)]
[756/906] gldownload: Reset the viewport after download RGB via GLES2
Sebastian Dröge [Mon, 15 Jul 2013 15:11:59 +0000 (17:11 +0200)]
[755/906] gldownload: Unbind framebuffer after downloading RGB with GLES2
Sebastian Dröge [Mon, 15 Jul 2013 15:08:42 +0000 (17:08 +0200)]
[754/906] gldownload: Add support for RGB reordering when using GLES2
Sebastian Dröge [Mon, 15 Jul 2013 15:08:23 +0000 (17:08 +0200)]
[753/906] gldisplay: Sending a message is synchronous, we can allocate the memory on the stack
Sebastian Dröge [Mon, 15 Jul 2013 13:58:04 +0000 (15:58 +0200)]
[752/906] glwindow: Add destroy notifies for the data of the callbacks
And actually call the close callback when the window is closed.
Sebastian Dröge [Mon, 15 Jul 2013 13:25:57 +0000 (15:25 +0200)]
[751/906] gldisplay: Don't hold lock while sending a message to the GL thread
https://bugzilla.gnome.org/show_bug.cgi?id=704247
Sebastian Dröge [Mon, 15 Jul 2013 12:11:20 +0000 (14:11 +0200)]
[750/906] glupload: Add support for RGB reordering when using GLES2
Sebastian Dröge [Mon, 15 Jul 2013 05:39:07 +0000 (07:39 +0200)]
[749/906] glshader: Add some more debug output
Sebastian Dröge [Fri, 12 Jul 2013 12:31:48 +0000 (14:31 +0200)]
[748/906] glupload: GL_STENCIL_ATTACHMENT is needed for desktop GL, not GLES
Sebastian Dröge [Fri, 12 Jul 2013 12:26:58 +0000 (14:26 +0200)]
[747/906] gl: Constify YUV conversion shaders
Sebastian Dröge [Fri, 12 Jul 2013 12:20:41 +0000 (14:20 +0200)]
[746/906] android: Add comment to clarify the type of a variable
Sebastian Dröge [Fri, 12 Jul 2013 12:20:05 +0000 (14:20 +0200)]
[745/906] gl: Simplify and optimize YUV conversion shaders a bit
Sebastian Dröge [Fri, 12 Jul 2013 09:35:52 +0000 (11:35 +0200)]
[744/906] gl: Use __GST_GL_H__ instead of __GL_H__ as a multi-include guard
GL/gl.h might use the latter already.
Sebastian Dröge [Thu, 11 Jul 2013 19:30:53 +0000 (21:30 +0200)]
[743/906] win32: Allow setting window handle before creating the context
Sebastian Dröge [Thu, 11 Jul 2013 19:22:57 +0000 (21:22 +0200)]
[742/906] cocoa: Allow setting window handle before creating the context
Sebastian Dröge [Thu, 11 Jul 2013 19:17:42 +0000 (21:17 +0200)]
[741/906] wayland: Don't leak main context and loop
Sebastian Dröge [Thu, 11 Jul 2013 19:15:41 +0000 (21:15 +0200)]
[740/906] x11: Allow setting window handle before creating the context
Sebastian Dröge [Thu, 11 Jul 2013 18:58:36 +0000 (20:58 +0200)]
[739/906] x11: Don't leak main context and main loop
Sebastian Dröge [Thu, 11 Jul 2013 18:51:47 +0000 (20:51 +0200)]
[738/906] gl: Include glu.h after gl.h
Sebastian Dröge [Thu, 11 Jul 2013 14:21:00 +0000 (16:21 +0200)]
[737/906] glimagesink: Request and set the window handle much earlier
Sebastian Dröge [Thu, 11 Jul 2013 14:05:48 +0000 (16:05 +0200)]
[736/906] glimagesink: Give MARGINAL rank to be able to autoplug it if nothing else is available
Sebastian Dröge [Wed, 10 Jul 2013 09:31:17 +0000 (11:31 +0200)]
[735/906] gl: Add support for Android
https://bugzilla.gnome.org/show_bug.cgi?id=703340
Sebastian Dröge [Thu, 11 Jul 2013 09:37:17 +0000 (11:37 +0200)]
[734/906] win32: Make automake happy by using noinst_HEADERS
Sebastian Dröge [Thu, 11 Jul 2013 09:03:31 +0000 (11:03 +0200)]
[733/906] gl: Major header and include cleanup
Julien Isorce [Wed, 10 Jul 2013 15:03:04 +0000 (16:03 +0100)]
[732/906] build: fix repeated typedefs
Write forward declarations in another way to avoid
repeated typedefs "error: redefinition of typedef".
Raised when using i686-apple-darwin11-llvm-gcc-4.2
It seems that C apple compiler does not support
C11 feature.
https://bugzilla.gnome.org/show_bug.cgi?id=703885
Julien Isorce [Wed, 10 Jul 2013 14:47:23 +0000 (15:47 +0100)]
[731/906] cocoa: fix build when GNUSTEP is not defined
Sebastian Dröge [Wed, 10 Jul 2013 09:30:16 +0000 (11:30 +0200)]
[730/906] glcompat: Properly check for GLchar and other types
On Android for example these are no #defines but typedefs
Sebastian Dröge [Wed, 10 Jul 2013 09:24:34 +0000 (11:24 +0200)]
[729/906] gl: Include config.h everywhere
Matthew Waters [Wed, 3 Jul 2013 04:13:56 +0000 (14:13 +1000)]
[728/906] glimagesink: fix for gles2
https://bugzilla.gnome.org/show_bug.cgi?id=703508
Sebastian Dröge [Wed, 3 Jul 2013 07:12:39 +0000 (09:12 +0200)]
[727/906] egl: Refactor EGL logic into a helper object
Matthew Waters [Tue, 2 Jul 2013 12:45:08 +0000 (22:45 +1000)]
[726/906] window: don't call a NULL destroy function
Matthew Waters [Tue, 2 Jul 2013 12:06:03 +0000 (22:06 +1000)]
[725/906] x11: use GMainContext/GMainLoop
allows us to be reentrant
https://bugzilla.gnome.org/show_bug.cgi?id=703445
Matthew Waters [Tue, 2 Jul 2013 08:33:42 +0000 (18:33 +1000)]
[724/906] wayland: make reentrant
https://bugzilla.gnome.org/show_bug.cgi?id=703445
Julien Isorce [Mon, 1 Jul 2013 13:43:14 +0000 (14:43 +0100)]
[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.
Руслан Ижбулатов [Sun, 30 Jun 2013 21:36:35 +0000 (01:36 +0400)]
[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
Sebastian Dröge [Fri, 28 Jun 2013 09:10:22 +0000 (11:10 +0200)]
[721/906] glfilter: Use uint64 for the OpenGL context property
ulong/long properties are deprecated and should not be used anymore
for portability reasons.
Sebastian Dröge [Fri, 28 Jun 2013 09:00:46 +0000 (11:00 +0200)]
[720/906] examples: Stop using deprecated GLib thread API
Sebastian Dröge [Fri, 28 Jun 2013 09:00:07 +0000 (11:00 +0200)]
[719/906] gl: Fix compilation with GLES2
Matthew Waters [Thu, 27 Jun 2013 14:34:48 +0000 (00:34 +1000)]
[718/906] shader: make it possible to unref in the non-GL thread
Matthew Waters [Thu, 27 Jun 2013 14:31:36 +0000 (00:31 +1000)]
[717/906] remove outdated cmake build files
Matthew Waters [Mon, 17 Jun 2013 09:45:27 +0000 (19:45 +1000)]
[716/906] wayland: properly choose EGL_RENDERABLE_TYPE
based on the gl api we chose
Matthew Waters [Sun, 16 Jun 2013 10:47:05 +0000 (20:47 +1000)]
[715/906] display: inherit from the right object class
Matthew Waters [Sun, 16 Jun 2013 10:44:47 +0000 (20:44 +1000)]
[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
Matthew Waters [Sun, 16 Jun 2013 10:41:29 +0000 (20:41 +1000)]
[713/906] shader: make it possible to create the object in a non-GL thread
Matthew Waters [Sun, 16 Jun 2013 10:38:27 +0000 (20:38 +1000)]
[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.
Matthew Waters [Sun, 16 Jun 2013 10:37:06 +0000 (20:37 +1000)]
[711/906] wayland: support choosing Desktop GL as the api
Matthew Waters [Sun, 16 Jun 2013 10:34:15 +0000 (20:34 +1000)]
[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.
Matthew Waters [Thu, 13 Jun 2013 08:33:47 +0000 (18:33 +1000)]
[709/906] display: some more cleanups
Matthew Waters [Thu, 13 Jun 2013 07:57:35 +0000 (17:57 +1000)]
[708/906] display: a cleanup and removal of old code
Matthew Waters [Thu, 13 Jun 2013 06:55:37 +0000 (16:55 +1000)]
[707/906] display: move error_message to utils
Matthew Waters [Thu, 13 Jun 2013 06:31:38 +0000 (16:31 +1000)]
[706/906] display: move activate_context into utils
Matthew Waters [Thu, 13 Jun 2013 06:04:40 +0000 (16:04 +1000)]
[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.
Matthew Waters [Thu, 13 Jun 2013 04:36:41 +0000 (14:36 +1000)]
[704/906] Use gst_object_[un]ref so we can get refcounts in the log