Matthew Waters
78957c45c2
glcontext: track sharedness with a cookie
...
The previous approach of traversing the other_context weak ref tree was
1. Less performant
2. Incorrect for context destruction removing a link in the tree
Example of 2:
c1 = context_create (NULL)
c2 = context_create (c1)
c3 = context_create (c2)
context_can_share (c1, c3) == TRUE
context_destroy (c2)
unref (c2)
context_can_share (c1, c3) returns FALSE when it should be TRUE!
This does not remove the restriction that context sharedness can only
be tracked between GstGLContext's.
2017-12-09 19:32:05 +00:00
Jan Schmidt
c096fec277
3dvideo: Add simple gtk example stereoscopic video player
...
https://bugzilla.gnome.org/show_bug.cgi?id=611157
2017-12-09 19:32:04 +00:00
Matthew Waters
aff768f34c
gl/examples: update qt examples for api changes
2017-12-09 19:32:04 +00:00
Matthew Waters
2210ba5d46
glmemory: separate pbo transfer from texture transfers
...
When supported, the potentially longer pbo upload/download can be
initiated before the texture upload/download, potentially increasing
throughput.
2017-12-09 19:32:04 +00:00
Matthew Waters
900bcea9de
glmemory: implement on top of glbasebuffer
...
Provides convenient access to PBO usage.
Currently texture updates are coupled tightly to data transfers.
2017-12-09 19:32:04 +00:00
Thiago Santos
33b5cd5426
Fix a common typo: retreive -> retrieve
...
Seems to have been copy pasted around a few places
2017-12-09 19:32:03 +00:00
Julien Isorce
66c8c8ad87
gl/example: fix build error when compiling cocoa-videooverlay
...
libtool: error: ignoring unknown tag OBJC
and
clang: error: argument unused during compilation: '-pthread'
2017-12-09 19:32:03 +00:00
Edward Hervey
786b857e62
examples: Fix gl usage without wayland support
...
Not all platforms have wayland support. Handle that gracefully at
compile time
2017-12-09 19:32:03 +00:00
Matthew Waters
411d4d13b4
gl/examples: update gtk examples for glupload
2017-12-09 19:32:03 +00:00
Matthew Waters
81485d0b22
gl/examples: update gtk examples for wayland
2017-12-09 19:32:03 +00:00
Matthew Waters
70ccb610f6
tests/gl/gtk: implement setting a wayland display/surface
2017-12-09 19:32:03 +00:00
Jan Schmidt
506129ed42
Fix flags order in GL examples for uninstalled build
2017-12-09 19:32:01 +00:00
Matthew Waters
2cbf2abea0
tests/gl: fix typo
2017-12-09 19:32:01 +00:00
Matthew Waters
72993f54fa
gl: remove useless gl{En,Dis}able (GL_TEXTURE_*) calls
...
We are using shaders everywhere and so they are not needed
2017-12-09 19:32:01 +00:00
Matthew Waters
a4287991ae
gl/examples: fixup generic cube example for NDC
...
translating outside the clip region doesn't work
2017-12-09 19:31:58 +00:00
Julien Isorce
8ca59af389
gl/examples: add sdlshare2 that uses glimagesink to output textures
...
https://bugzilla.gnome.org/show_bug.cgi?id=739681
2017-12-09 19:31:58 +00:00
Julien Isorce
1d88b95201
glimagesink: provide GstSample in client-draw signal
...
Instead of prividing texture and size directly.
And apply changes to examples.
https://bugzilla.gnome.org/show_bug.cgi?id=739681
2017-12-09 19:31:58 +00:00
Julien Isorce
0f90283520
sdlshare: use glupload and unmap frame
2017-12-09 19:31:58 +00:00
Julien Isorce
74b8117e53
examples: initialize NSApp at the beginning
2017-12-09 19:31:58 +00:00
Matthew Waters
ae08ada8f0
gl/tests: fix deadlock on glcontext wrapped context test
2017-12-09 19:31:57 +00:00
hoonhee.lee
a4af602d0c
tests: glcontext: remove unnecessary semicolon
...
https://bugzilla.gnome.org/show_bug.cgi?id=745875
2017-12-09 19:31:56 +00:00
Nicolas Dufresne
7c32611c87
gl-test: Port unit tests to new API
2017-12-09 19:31:55 +00:00
Matthew Waters
149cbb2e31
gl: update unit test for glmemory api change
2017-12-09 19:31:54 +00:00
Matthew Waters
8f59549ec5
gl/tests: update glwindow api change
2017-12-09 19:31:53 +00:00
Matthew Waters
07d41de7c4
gl/qt/examples: update for NSOpenGL -> CGL change
2017-12-09 19:31:53 +00:00
Matthew Waters
1dfeae2c42
gl: split glcolorconvert usage from glupload
...
the separation allows the transfer operation to occur in a separate
thread/time which may increase performance in specific circumstances.
2017-12-09 19:31:52 +00:00
Matthew Waters
bef3f020a6
glcontext: allow wrapped contexts to be utilised like non-wrapped contexts
...
Fill in the missing pieces like get_proc_address, the gl function vtable
2017-12-09 19:31:52 +00:00
Nicolas Dufresne
7c7af39c4a
gltest: Port to new API
...
https://bugzilla.gnome.org/show_bug.cgi?id=740900
2017-12-09 19:31:52 +00:00
Matthew Waters
b99d53e0ff
gl/examples: fixup sdl example for gluPerspective removal
2017-12-09 19:31:51 +00:00
Thijs Vermeir
035f6f975a
gl/cocoa: Fix example on Mac OS X 10.10
...
Using NSApp directly seems to confuse something, as the compiler
was expecting an id<NSFileManagerDelegate>. Switched to using
[NSApplication sharedApplication], and specified the delegate
protocol on the window class as well.
Similar to https://bugzilla.gnome.org/show_bug.cgi?id=738740
2017-12-09 19:31:51 +00:00
Matthew Waters
892d056a44
gl: remove the use of glu
2017-12-09 19:31:51 +00:00
Matthew Waters
00506bf183
glupload: rearchitecture for non GLMemory inputs/outputs
...
Allows other memory types to be implemented/returned/used by the caller.
2017-12-09 19:31:50 +00:00
Sebastian Dröge
673b0190af
gl/cocoa: Remove GNUStep support
...
Until gcc and GNUStep properly support Objective-C blocks and other
"new" features of Objective-C we can't properly support them without
making the code much more ugly.
https://bugzilla.gnome.org/show_bug.cgi?id=739152
2017-12-09 19:31:50 +00:00
Julien Isorce
56c9d7f111
gl: add unit test that checks for glimagesink drain query handling
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732694
2017-12-09 19:31:49 +00:00
Matthew Waters
6811c39ff9
gl/examples: update for other-context property removal
2017-12-09 19:31:49 +00:00
Matthew Waters
be5d0d81e4
glcontext: add api for retreiving the current context and api
...
that is current in the calling thread.
2017-12-09 19:31:48 +00:00
Matthew Waters
d4592ec132
tests/glcolorconvert: do reorder checking for rgba formats
2017-12-09 19:31:47 +00:00
Matthew Waters
652753de18
tests/glmemory: add simple transfer test
...
tests transferring to/from the GL with a 1x1 RGBA pixel.
2017-12-09 19:31:47 +00:00
Jan Schmidt
6b96a87003
examples: Fix Qt/GL qglwtextureshare example for X11
...
We need to pass the X11 display to GstGL or else it will
use its own X11 Display pointer, and the GL Context won't get shared
correctly on newer X servers
2017-12-09 19:31:47 +00:00
Jan Schmidt
491513adf6
examples: port GL/Qt examples to Qt5
...
Update the GL Qt integration examples for Qt5 changes and for GstGL
signal signature changes.
2017-12-09 19:31:47 +00:00
Matthew Waters
b2df178d41
examples/gl: update for signal signature change
2017-12-09 19:31:47 +00:00
Matthew Waters
d946559238
gl/tests: update for upload API changes
2017-12-09 19:31:46 +00:00
Matthew Waters
821bc8da5b
examples/gl/gtk: use the sync bus callback to set the window handle
...
And output error messages.
2017-12-09 19:31:46 +00:00
Wang Xin-yu (王昕宇)
a8093c56d5
gl: qglwtextureshare demo fixes and cleanup
...
1. glcontextid function is replaced by gstreamer gst_gl_context_new_wrapped .
2. call gst_init before gst_gl_display_new , seems gst_gl_display_new depends
on gst_allocator_register , which only worked after gst_init called
3. flush gstreamer OpenGL context before using shared texture, fix
flicker problem.
https://bugzilla.gnome.org/show_bug.cgi?id=735566
2017-12-09 19:31:46 +00:00
Lubosz Sarnecki
f3311f2b1e
examples: fix gtk+ 3.14 deprecation error
...
https://developer.gnome.org/gtk3/3.13/GtkWidget.html#gtk-widget-set-double-buffered
https://bugzilla.gnome.org/show_bug.cgi?id=734482
2017-12-09 19:31:45 +00:00
Sebastian Rasmussen
06961ea200
examples/gl: unref bus and element after usage
...
gst_pipeline_get_bus() and gst_bin_get_by_interface() both
return references that need to be unreferenced after usage.
https://bugzilla.gnome.org/show_bug.cgi?id=734527
2017-12-09 19:31:45 +00:00
Matthew Waters
5e2f15403c
gl/tests: update for API changes
2017-12-09 19:31:45 +00:00
Руслан Ижбулатов
7c62b9ceaa
gl: Reorder CFLAGS to include in-source dirs first in examples
...
https://bugzilla.gnome.org/show_bug.cgi?id=733426
2017-12-09 19:31:44 +00:00
Tim-Philipp Müller
59f0f140ae
examples: fix compilation of gl fxtest example on win32 with Gtk+ 3.0
...
https://bugzilla.gnome.org/show_bug.cgi?id=733063
2017-12-09 19:31:44 +00:00
Matthew Waters
cd467278e8
gl/examples: gitignore generated files
2017-12-09 19:31:44 +00:00
Wang Xin-yu (王昕宇)
869f9da13f
gl : fix qglwtextureshare demo
2017-12-09 19:31:44 +00:00
Sebastian Dröge
7ba2288f3e
glupload: Fix memory leak in unit test
2017-12-09 19:31:44 +00:00
Sebastian Dröge
fcb15bd609
glcontext: Fix memory leaks in unit test
2017-12-09 19:31:44 +00:00
Matthew Waters
2ddcde1acb
gl/examples: update for TEXTURE_2D change
2017-12-09 19:31:43 +00:00
Matthew Waters
c3fb73335f
gl/examples: add GST_PLUGINS_BASE_CFLAGS
2017-12-09 19:31:43 +00:00
Matthew Waters
3a9803f31f
gl/examples: remove spurious include for doublecube example
2017-12-09 19:31:43 +00:00
Matthew Waters
21e9ad2b8e
gl/examples: add the srcdir and builddir includes
...
And remove references to $(GST_PLUGINS_GL_*)
2017-12-09 19:31:42 +00:00
Matthew Waters
e523cdd21a
glfilterapp: remove the reshape/draw properties
...
The reshape property was never used.
Replace the draw property with a signal.
Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
https://bugzilla.gnome.org/show_bug.cgi?id=704507
2017-12-09 19:31:42 +00:00
Matthew Waters
31ee764a8a
gl/examples: Port to using signals instead of properties
...
Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
https://bugzilla.gnome.org/show_bug.cgi?id=704507
2017-12-09 19:31:42 +00:00
Matthew Waters
f01472f5a2
tests: update for glupload changes
2017-12-09 19:31:42 +00:00
Matthew Waters
1f48a074be
tests: update for recent glupload changes
...
GstGLUploadMeta object is now the GstVideoGLTextureUploadMeta
provider.
2017-12-09 19:31:41 +00:00
Julien Isorce
b84a2eaf9f
gl: rename platform cocoa to cgl
...
Before:
GST_GL_PLATFORM=cocoa GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink
After:
GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink
but still pass --enable-cocoa to configure script
because currently it can only be used with cocoa API.
We could later have cgl/gstglcontext_cgl.h that manages
a CGLContextObj directly and cocoa/gstglcontext_cocoa.h
would just wrap it.
So that it could be used with other Apple's window APIs.
https://bugzilla.gnome.org/show_bug.cgi?id=729245
2017-12-09 19:31:41 +00:00
Matthew Waters
6c1a4e30c4
gl/upload: implement lazy init
...
Rename init_format to set_format
2017-12-09 19:31:39 +00:00
Matthew Waters
2246e51250
gl/examples: fix compilation for clutter examples
...
ClutterX11TexturePixmap is deprecated in Clutter 1.6 and we ask for
at least 1.8
2017-12-09 19:31:39 +00:00
Luis de Bethencourt
64a144f114
gl/clutter: safer check for cogl version
...
Use COGL_VERSION_ENCODE to check for the minimum required and maximum allowed
cogl version. In certain situations just using the COGL_VERSION_* macro name can
give you the following error:
error "COGL_VERSION_MAX_ALLOWED must be >= COGL_VERSION_MIN_REQUIRED"
2017-12-09 19:31:39 +00:00
Luis de Bethencourt
f29a98cc5f
gl/examples/generic: remove trailing whitespaces
2017-12-09 19:31:39 +00:00
Sebastian Dröge
ea7c8f9771
examples: Fix CFLAGS in clutter GL examples
2017-12-09 19:31:39 +00:00
Sebastian Dröge
405774bf2b
examples: Add all gl subdirs to DIST_SUBDIRS to fix the build
2017-12-09 19:31:39 +00:00
Julien Isorce
70bc469a8a
gl: pass NSView instead of NSWindow in cocoa-videooverlay example
...
https://bugzilla.gnome.org/show_bug.cgi?id=728451
2017-12-09 19:31:39 +00:00
Julien Isorce
e0f94ae094
gl: add copyright to cocoa example
2017-12-09 19:31:38 +00:00
Julien Isorce
5150408da3
gl: rename cocoa example and move it to its parent directory
2017-12-09 19:31:38 +00:00
Julien Isorce
a6b2cd4c14
gl: remove unuseful README for cocoa example
2017-12-09 19:31:38 +00:00
Thiago Santos
72f3b228c8
examples: gl: add missing entry to cflags to find gst/gl/gl.h
...
Otherwise build fails
2017-12-09 19:31:38 +00:00
Stefan Sauer
2cb93951df
tests: drop direct include
...
It is only allowed to include gdk/gdkx.h and that will bring all the x11 things.
2017-12-09 19:31:38 +00:00
Jan Schmidt
6b1b6d25de
gl/sdl example: Fix uninstalled build
2017-12-09 19:31:38 +00:00
Matthew Waters
84459c386b
gl/examples/sdl: update for the latest gstgl changes
2017-12-09 19:31:38 +00:00
Matthew Waters
05bfd277a8
gl/examples: move to -bad
...
- fix all the compiler errors
- give them their own gl directory
2017-12-09 19:31:38 +00:00
Luis de Bethencourt
8c46b24d51
gl: check the correct GstGLMemory in basic_test
2017-12-09 19:31:37 +00:00
Matthew Waters
30c6efc432
gl/mem: allocate the memory per plane
...
This patch provides the basic infrastructure required for this.
Upload and Download has been ported to this.
Has the nice effect of allowing GstGLMemory to be our
refcounted texture object for any texture type (not just RGBA).
Should not lose any features/video formats.
2017-12-09 19:31:36 +00:00
Tim-Philipp Müller
efeaf7467b
tests: fix gl unit tests for recent API changes
2017-12-09 19:31:35 +00:00
Matthew Waters
e225af3e0d
gl: silence all the compiler warnings
2017-12-09 19:31:34 +00:00
Matthew Waters
da5b9d3e0f
[900/906] tests/gstglcontext: reduce the number of frames displayed
...
Was causing timeouts on intel hardware due to vsync handling.
2017-12-09 19:31:34 +00:00
Matthew Waters
97f6bc0bfc
[891/906] context: add support for wrapping external contexts
2017-12-09 19:31:33 +00:00
Matthew Waters
54d70702cc
[878/906] tests: update for glmem api change
2017-12-09 19:31:33 +00:00
Matthew Waters
970fbacf96
[869/906] tests: add some upload tests
2017-12-09 19:31:33 +00:00
Matthew Waters
84425ad43d
[853/906] display: remove _{set,get}_context
...
A GstGLDisplay doesn't need a GstGLContext and its use
was cause a reference cycle
2017-12-09 19:31:32 +00:00
Matthew Waters
efa22442a9
[838/906] gl: Use GL_TEXTURE_2D instead of GL_TEXTURE_RECTANGLE
...
We create our textures (in Desktop GL) with GL_TEXTURE_RECTANGLE,
vaapi attempts to bind our texture to GL_TEXTURE_2D which throws a
GL_INVALID_OPERATION error and as thus, no video.
Also, by moving exclusively to GL_TEXTURE_2D and the npot extension
we also remove a difference between the Desktop GL and GLES2 code.
https://bugzilla.gnome.org/show_bug.cgi?id=712287
2017-12-09 19:31:32 +00:00
Julien Isorce
6e732b0408
[821/906] tests: fix test_share on GLESv2
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
Matthew Waters
adb7eddc84
[811/906] tests: update for GstGLContext addition
2017-12-09 19:31:31 +00:00
Julien Isorce
ba7c562a9e
[809/906] tests: port test_share to GLES2
...
Also add a deinit function to release fbo, tex and shader.
2017-12-09 19:31:31 +00:00
Matthew Waters
0537f8ea26
[802/906] add GstGLContext test that tests context sharing
2017-12-09 19:31:31 +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
4c35d682c9
[603/906] update FSF address
2017-12-09 19:31:25 +00:00
Matthew Waters
c7ddead74b
[554/906] GstGLMemory: update for GstAllocator API changes
2017-12-09 19:31:24 +00:00
Matthew Waters
ffdc6d496e
[514/906] add GstGLMemory and allocator
...
implement custom GstMemory for GL textures
currently map/unmap returns NULL although it might be favourable to upload/download/cache the image data
2017-12-09 19:31:24 +00:00