Nicolas Dufresne
fbc2375d57
gl: Move DRM_CFLAGS into gst-gl.m4
2018-02-27 13:12:59 -05:00
Nicolas Dufresne
b8bc2b87d0
gl: Add missing gbm directory to dist dir
...
This fixes make distcheck
2018-02-26 07:46:26 -05:00
Carlos Rafael Giani
ee59537657
gl: Add DRM cflags
...
This prevents cross compilation errors like:
usr/include/xf86drm.h:40:10: fatal error: drm.h: No such file or directory
These are caused because gstgldisplay_gbm.h includes xf86drm.h .
https://bugzilla.gnome.org/show_bug.cgi?id=793837
2018-02-26 07:27:20 -05:00
Nicolas Dufresne
1a97338dc7
gl: Add meson support for GBM backend
...
https://bugzilla.gnome.org/show_bug.cgi?id=782923
2018-02-23 21:09:45 -05:00
Carlos Rafael Giani
4df219f336
gl: Add Mesa3D GBM backend
...
This makes it possible to use the GStreamer OpenGL elements without a
windowing system if a libdrm- and Mesa3D-supported GPU is present
https://bugzilla.gnome.org/show_bug.cgi?id=782923
2018-02-23 21:09:45 -05:00
Tim-Philipp Müller
41d7356fa1
meson: fix multi-line string
...
https://bugzilla.gnome.org/show_bug.cgi?id=793629
2018-02-20 11:52:43 +00:00
Víctor Manuel Jáquez Leal
1784f62895
gl/wayland: Memory leak when display couldn't connect
...
When trying to create a wayland display, it may fail because there
is not actually display to connect. It this case NULL is returned
but the created instance is not freed.
This patch unrefs the failed display.
https://bugzilla.gnome.org/show_bug.cgi?id=793483
2018-02-16 13:56:50 +01:00
Tim-Philipp Müller
992fb96843
gl: g-i: expose platform-specific display API in bindings
...
https://bugzilla.gnome.org/show_bug.cgi?id=786391
2018-02-08 17:00:31 +00:00
Matthew Waters
bc604f3597
gl: remove more deprecated type aliases
...
Additions on top of
https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=32a17f313494cbadaf8ec4e337d742e8d7e1b67b
https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=c8b99139b1ef3f8891548b0f2607a135917c338e
2018-02-08 21:14:56 +11:00
Matthew Waters
54701ceb40
gl/display/egl: Fix precondition in display_egl_get_from_native
...
We don't really want type=NONE as input and it was already impossible
for that to occur with the other condtions.
CID #1427144
2018-02-08 16:16:59 +11:00
Philippe Normand
c8b99139b1
glcontext: remove deprecated type alias
...
Now for real without un-needed comments...
2018-02-06 16:13:07 +00:00
Philippe Normand
32a17f3134
glcontext: remove deprecated type alias
2018-02-06 16:08:47 +00:00
Matthew Waters
90198daed1
gl: some annotation fixes
2018-02-05 14:58:06 +11:00
Matthew Waters
576f4e0c64
gl/build/meson: fix gl_api variable names
2018-02-05 14:56:07 +11:00
Matthew Waters
e620cf32cf
glmemory: fixup GL_RGB565 usage when performing texsubimage
...
An additional change for the texsubimage use case on top of
https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=c2b2c68beaddbea0ec4fe7b099507cc492f6dd7c
https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=ea6bed111bab9b394d787f7760c6a3b953630d3a
https://bugzilla.gnome.org/show_bug.cgi?id=783066
https://bugzilla.gnome.org/show_bug.cgi?id=792584
2018-02-01 23:30:51 +11:00
Nicolas Dufresne
17b118c120
glimagesink: Allow resetting render rectangle
...
As documented, passing -1 to x and/or y should reset the render
rectangle to the window/display size.
https://bugzilla.gnome.org/show_bug.cgi?id=792798
2018-01-30 09:58:14 +00:00
Roland Peffer
0ffc2015aa
meson: gl: fix build on windows
...
https://bugzilla.gnome.org/show_bug.cgi?id=791772
2018-01-16 13:59:08 +00:00
Tim-Philipp Müller
df0831ce57
meson: fix check whether both gles2 and opengl headers can be included
...
cc.compiles() doesn't support the prefix: kwarg currently, so it
never had any effect.
https://github.com/mesonbuild/meson/issues/2364
https://bugzilla.gnome.org/show_bug.cgi?id=787964
2018-01-16 11:27:18 +00:00
Matthew Waters
b25413fb1c
gl/wayland: move roundtrip on show to window thread
...
This makes it thread safe and fixes a possible deadlock.
Keeping the roundtrip off the window thread will result in two different
threads call wl_display_dispatch_queue() for the same queue which
violates the assumption for _dispatch_queue()'s thread-safety
guarantees.
https://bugzilla.gnome.org/show_bug.cgi?id=788754
https://bugzilla.gnome.org/show_bug.cgi?id=792156
https://bugzilla.gnome.org/show_bug.cgi?id=758984
2018-01-04 15:39:36 +11:00
Tim-Philipp Müller
c117460420
glcolorconvert: re-enable -Wformat-nonliteral warning
...
We can pass string constants here to g_strdup_printf(),
so do so and re-enable the -Wformat-nonliteral warning
we had to disable when merging the opengl libs.
2018-01-03 09:21:49 +00:00
Tim-Philipp Müller
ae4f9aebcc
glcolorconvert: fix missing printf arg for apple rectangular texture case
...
Found by -Wformat-nonliteral (to be re-enabled in a separate commit).
2018-01-03 09:21:38 +00:00
Philippe Normand
81f8257354
gl: cocoa: fix formatting for function definition
...
This is a follow-up of 5d35e1fa15
2017-12-30 12:29:13 +00:00
Philippe Normand
5d35e1fa15
gl: cocoa: Implement set_render_rectangle
...
Resize the internal NSView according to the provided render rectangle.
https://bugzilla.gnome.org/show_bug.cgi?id=791445
2017-12-30 12:24:12 +00:00
Tim-Philipp Müller
d679f752f1
gl: don't link to system gstallocators
...
We already link to the in-tree gstallocators, no need
to link to it again here, which also ends up being the
system gstallocators lib.
https://bugzilla.gnome.org/show_bug.cgi?id=791956
2017-12-26 15:36:44 +01:00
Tim-Philipp Müller
0dd66648c3
gl: fix up a few more #if HAVE_FOO
...
error: "HAVE_PNG" is not defined, evaluates to 0 [-Werror=undef]
2017-12-19 16:51:24 +00:00
Josep Torra
70f93db181
gl: cocoa: fix a warning when building in MacOS 10.12
...
gstglwindow_cocoa.m:186:60: error: incompatible pointer types sending 'GstGLContextCocoa *'
(aka 'struct _GstGLContextCocoa *') to parameter of type 'GstGLContext *' (aka 'struct _GstGLContext *')
2017-12-19 12:42:29 +00:00
Víctor Manuel Jáquez Leal
7b8108a4ca
gl: display: demote error level at display creation error
...
https://bugzilla.gnome.org/show_bug.cgi?id=791391
2017-12-19 12:41:00 +00:00
Tim-Philipp Müller
8227135f3b
gl: hook up to build system
...
Tests and documentation will follow separately.
The mixer elements in the opengl plugin need to stay
in -bad for now since they use GstVideoAggregator.
https://bugzilla.gnome.org/show_bug.cgi?id=754094
2017-12-19 12:01:48 +00:00
Tim-Philipp Müller
59fe9c9122
gl: remove GST_USE_UNSTABLE_API bits
2017-12-19 12:01:37 +00:00
Nicolas Dufresne
b769f02261
gldisplay: Prefer wayland over X11
...
As most Wayland compositors supports XWayland, X11 backend get
selected. This also realign better GStreamer decision to what
happens with GTK and other stack out there.
2017-12-09 19:32:31 +00:00
Nicolas Dufresne
4cb1a1ca97
gldisplay: Add missing GL API to the doc
2017-12-09 19:32:31 +00:00
Matt Fischer
c98f92ee03
gldownload: Add dmabuf exporting
...
This patch adds code to gldownload to export the image as a
dmabuf if requested. The element now exposes memory:DMABuf as
a cap feature, and if it is selected, the element exports the
texture to an EGL image and then a dmabuf. It also implements a
fallback to system memory download in case the exportation failed.
https://bugzilla.gnome.org/show_bug.cgi?id=776927
2017-12-09 19:32:31 +00:00
Matthew Waters
1abd0804f4
gl/caopengllayer: use public GstGLContext instead of Cocoa-specific one
...
Allows keeping the GstGLCAOpenGLLayer public but not the winsys-specific
context/display/window.
2017-12-09 19:32:31 +00:00
Matthew Waters
6533e25e9c
Revert "gl: cocoa: sprinkle some GST_EXPORT"
...
This reverts commit 94d798c333
.
cocoac headers don't need to be public as all the functionality can be
provided by the base class
2017-12-09 19:32:31 +00:00
Tim-Philipp Müller
84249c6f55
gl: cocoa: sprinkle some GST_EXPORT
...
Undefined symbols for architecture x86_64:
"_gst_gl_context_cocoa_get_type", referenced from:
__create_layer in libgstopengl_la-caopengllayersink.o
Might need some more in other headers, but first need to
clarify what exactly should be exported, there are some
inconsistencies (installed header files vs. funcs in docs).
2017-12-09 19:32:31 +00:00
Jan Schmidt
a4834c4352
viv-fb: Don't destroy the native FB display
...
It causes crashes in applications because the result of
fbGetDisplay() might be in use elsewhere in the application
and Vivante doesn't seem to do any refcounting
2017-12-09 19:32:31 +00:00
Jan Schmidt
7d1f3db884
Revert "gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass"
...
This reverts commit 47fd4d391e
.
This patch is incorrect. It doesn't actually compile, and causes a crash
because the viv-fb window implementation needs a native EGL handle
to pass to fbCreateWindow, but the GstGLDisplayEGL handleis actually
an EGLDisplay now (and gets cast to the wrong type)
2017-12-09 19:32:31 +00:00
Tim-Philipp Müller
4e2ede5e6d
meson: remove outdated comment in build file
2017-12-09 19:32:31 +00:00
Edward Hervey
5915f45e27
all: Fix left-shift undefined behaviour
...
Cast to the target type before shifting (or use macro if available)
2017-12-09 19:32:31 +00:00
Matthew Waters
5345acac54
glbasefilter: actually indicate start internally
...
Otherwise when we stop, the necessary stop functions will not be called
and things may be leaked.
https://bugzilla.gnome.org/show_bug.cgi?id=788280
2017-12-09 19:32:30 +00:00
Matthew Waters
a534d8d74c
gl/shader: allow setting non-square matrices as uniforms on gles platforms
...
It is possible with GLES3
2017-12-09 19:32:30 +00:00
Matthew Waters
fab729c61f
gl/query: split tests and fix some corresponding issues in usage
2017-12-09 19:32:30 +00:00
Jérôme Laheurte
247e232ec4
Use value instead of version macro when testing for mac OS version
...
https://bugzilla.gnome.org/show_bug.cgi?id=788404
2017-12-09 19:32:30 +00:00
Cassandra Rommel
2ed379c732
gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass
...
This simplifies the code a lot without any functional changes apart from
not closing the display connection. Closing the display connection is
not safe to do as it is shared between all other code in the same
process and no reference counting or anything happens at the platform
layer.
2017-12-09 19:32:30 +00:00
Justin Kim
5b35e2339a
glcontext_egl: Add gstglwindow header
...
Otherwise, compiler complains implicit function declaration warning.
https://bugzilla.gnome.org/show_bug.cgi?id=788413
2017-12-09 19:32:30 +00:00
Ponnam Srinivas
e686f1b628
glfilter: Unmap video frame in error case
...
https://bugzilla.gnome.org/show_bug.cgi?id=788194
2017-12-09 19:32:30 +00:00
Haihua Hu
c33fc416b2
gl/viv-fb: transform screen coordinate to viewport coordinate
...
In y direction, screen coordinate are opposite to viewport coordinate.
https://bugzilla.gnome.org/show_bug.cgi?id=787394
2017-12-09 19:32:30 +00:00
Haihua Hu
8ef4a7ddaf
gl/viv-fb: fix wrong pos (x,y) calculate in queue_resize
...
queue_resize viewport coordinate calculate is wrong and
force queue_resize when do _set_render_rectangle in case
user input pos changed
https://bugzilla.gnome.org/show_bug.cgi?id=787394
2017-12-09 19:32:30 +00:00
Nicolas Dufresne
707385690d
Request minimum buffer even if need_pool is FALSE
...
When tee is used, it will not request a pool, but still it wants to
know how many buffers are required.
https://bugzilla.gnome.org/show_bug.cgi?id=730758
2017-12-09 19:32:30 +00:00
Matthew Waters
a5aff145a2
gl/wayland: call eglTerminate() before wl_display_disconnect()
...
Calling these two functions in the wrong order will result in
use-after-free inside wayland.
https://bugzilla.gnome.org/show_bug.cgi?id=787293
2017-12-09 19:32:30 +00:00