Commit graph

1600 commits

Author SHA1 Message Date
Nicolas Dufresne e004cfd6fe Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-12-09 19:32:27 +00:00
Sebastian Dröge 6b1fa09077 glshader: Make reference counting of attach() consistent
https://bugzilla.gnome.org/show_bug.cgi?id=747990
https://bugzilla.gnome.org/show_bug.cgi?id=702960
2017-12-09 19:32:27 +00:00
Matthew Waters d47a515315 build/gl/meson: check for GLES3/gl3ext.h existence
791e7522eb for meson

https://bugzilla.gnome.org/show_bug.cgi?id=781885
2017-12-09 19:32:27 +00:00
Jens Georg 73af514e1a build: Check for GLES3/gl3ext.h existence
Some OpenGL drivers do not ship this but use GLES2/gl2ext.h instead.
This is also in line with Khronos's recommendations

https://bugzilla.gnome.org/show_bug.cgi?id=781885
2017-12-09 19:32:27 +00:00
Sebastian Dröge aef461d4a0 glmemory: Only use glDrawBuffer if available
Otherwise fall back to glDrawBuffers. Also check if glReadBuffer exists
before using it.

glDrawBuffer does not exist for GLES, only glDrawBuffers does.

https://bugzilla.gnome.org/show_bug.cgi?id=782376
2017-12-09 19:32:27 +00:00
Haihua Hu e2ff120d97 glupload: passthrough composition caps features in directviv upload
https://bugzilla.gnome.org/show_bug.cgi?id=782046
2017-12-09 19:32:27 +00:00
Thibault Saunier 95ac4d5175 docs: Port all docstring to gtk-doc markdown 2017-12-09 19:32:27 +00:00
Thibault Saunier b11df33ee2 docs: Stop linking to inexistant symbols 2017-12-09 19:32:27 +00:00
Claudio Saavedra 7566c43130 meson: add missing gstglrenderbuffer.h header
https://bugzilla.gnome.org/show_bug.cgi?id=781179
2017-12-09 19:32:27 +00:00
Scott D Phillips 995d110fe6 meson: gl: set default value of 0 for glconf vars
meson's configure_file emits only a comment like /* #undef ... */
for values which are unset in the configuration_data. For
gstglconfig.h, this differs from the autotools build where the
preprocessor definitions are always either 0 or 1. So loop over a
list of variables to set to zero as default.

Also sync up the gstglconfig.h.meson file with the additional
macros defined by the autotools build.

https://bugzilla.gnome.org/show_bug.cgi?id=781043
2017-12-09 19:32:27 +00:00
Vincent Penquerc'h 326b8763de glcontext: fix display leak
https://bugzilla.gnome.org/show_bug.cgi?id=781019
2017-12-09 19:32:27 +00:00
Vincent Penquerc'h 697cd40ee4 gldisplay: fix list leak
Windows aren't always removed in time, and it turns out to be
very, very hard to remove a window in a way that's not racy and
not deadlocky. Since the window itself doesn't leak, freeing
the list on object destruction is enough.

https://bugzilla.gnome.org/show_bug.cgi?id=781018
2017-12-09 19:32:27 +00:00
Jan Schmidt 920d295c97 gl: Remove duplicate typedef of GstGLFramebufferClass
The GstGLFramebufferClass struct is typedeffed in
gstgl_fwd.h, and having a duplicate elsewhere is
breaking the cerbero build on my OSX machine,
even though it seems to be working in CI.
2017-12-09 19:32:27 +00:00
Josep Torra 2cdce1d75f glwindow/cocoa: fix warnings reported by XCode 8.1.0
gstglwindow_cocoa.m:345:16: error: unused variable 'window' [-Werror,-Wunused-variable]
  GstGLWindow *window = GST_GL_WINDOW (window_cocoa);
               ^
gstglwindow_cocoa.m:445:11: error: unused variable 'external_view' [-Werror,-Wunused-variable]
  NSView *external_view = (__bridge NSView *)priv->external_view;
          ^
2017-12-09 19:32:27 +00:00
Nicolas Dufresne ae30818f7b gldisplay: Fix assert caused by missing debug category 2017-12-09 19:32:27 +00:00
Scott D Phillips 8d3d6d3595 gl/format: correct return enums in gst_gl_format_from_video_info
In commit

> 956c4d0 gl/format: use our own GL format enum's instead of gstvideo's

the name and return type of gst_gl_format_from_video_info changed,
but some returns of the old type were missed. Here they are
updated to the correct type.

https://bugzilla.gnome.org/show_bug.cgi?id=780064
2017-12-09 19:32:27 +00:00
George Kiagiadakis 6b6a8a46b5 glupload: adjust memory offset calculation for dmabuf buffers
The data in the dmabuf fd may not start from byte 0, therefore
we need to inform EGL about this additional offset.

https://bugzilla.gnome.org/show_bug.cgi?id=779790
2017-12-09 19:32:27 +00:00
Matthew Waters 61ee2685c0 gl: GL_ARRAY_BUFFER is not a part of VAO state
As a result we need to bind it on every draw in order to have the
correct state in the GL state machine.
2017-12-09 19:32:27 +00:00
Matthew Waters 66468b4245 gl/format: use our own GL format enum's instead of gstvideo's
They can describe in more detail (such as component sizes) the requested format.
2017-12-09 19:32:27 +00:00
Vincent Penquerc'h b71e104d00 glupload: fix GValue leak
https://bugzilla.gnome.org/show_bug.cgi?id=779869
2017-12-09 19:32:27 +00:00
Sebastian Dröge e976c200b0 gl/eagl: It's -fobjc-arc not -fobj-arc 2017-12-09 19:32:27 +00:00
Nick Kallen 7b42f26b80 applemedia/gl: Update code to use ARC
All code interacting with Objective-C objects should now use Automated
Reference Counting rather than manual memory management or Garbage
Collection. Because ARC prohibits C-structs from containing
references to Objective-C objects, all such fields are now typed
'gpointer'. Setting and gettings Objective-C fields on such a
struct now uses explicit __bridge_* calls to tell ARC about
object lifetimes.

https://bugzilla.gnome.org/show_bug.cgi?id=777847
2017-12-09 19:32:27 +00:00
Arun Raghavan ee49afed97 gl: Missed one backwards compat define in GST_GL_TYPE_CONTEXT
Continued from 296b4251e3
2017-12-09 19:32:27 +00:00
Sebastian Dröge a4a8ef5507 gl: Fixup for last commit 2017-12-09 19:32:27 +00:00
Sebastian Dröge de16dc2555 gl: Fix backwards compat GST_GL_TYPE_* functions/macros
These have to be macros instead of inline function as they must behave
more or less like an integer literal, i.e. include the function call.
2017-12-09 19:32:26 +00:00
Sebastian Dröge dde95e8270 gl/viv-fb: Don't use deprecated symbols and make macros more consistent
https://bugzilla.gnome.org/show_bug.cgi?id=778825
2017-12-09 19:32:26 +00:00
Sebastian Dröge f5ea12a471 glcolorconvert: Check return value of gst_gl_context_check_framebuffer_status()
CID 1401588
2017-12-09 19:32:26 +00:00
Sebastian Dröge 6a32795949 gl: Add viv-fb to DIST_SUBDIRS to fix "make distcheck" 2017-12-09 19:32:26 +00:00
Sebastian Dröge 108eef7ac7 glutils: Mark private functions as G_GNUC_INTERNAL 2017-12-09 19:32:26 +00:00
Sebastian Dröge 1c1094e4e7 glupload: Add support for Vivante DirectTexture uploads
Together with the upcoming gstreamer-imx patch, this allows zerocopy
between imxvpudec and other elements and glimagesink.

This is losely based on a patch by Haihua Hu <b55597@freescale.com>
from https://github.com/Freescale/meta-freescale/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/

https://bugzilla.gnome.org/show_bug.cgi?id=779067
2017-12-09 19:32:26 +00:00
Sebastian Dröge ed7c9f70d9 gl: Add support for Vivante EGL FB windowing system
This is very similar to how dispmanx on the Raspberry Pi works.

Based on a patch by Haihua Hu <b55597@freescale.com> from
https://github.com/Freescale/meta-freescale/tree/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad

https://bugzilla.gnome.org/show_bug.cgi?id=778825
2017-12-09 19:32:26 +00:00
Sebastian Dröge a6cbe2a2cb glmemory: Use glBlitFramebuffer() instead of glCopyTexImage2D() if available
glBlitFramebuffer() is new GLES3/GL3 API. They are probably often
implemented in terms of each other, and glBlitFramebuffer() can
potentially be implemented more flexible. Let's use it if available.

Also it actually works on imx6 with DirectVIV textures.

Based on a patch by Haihua Hu <jared.hu@nxp.com> from
https://github.com/Freescale/meta-freescale/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/

https://bugzilla.gnome.org/show_bug.cgi?id=779070
2017-12-09 19:32:26 +00:00
Sebastian Dröge 48f79e9f60 configure: Remove unused Mali EGL/fbdev_window support
This existed a long time ago but there's no actual code for this
anymore.
2017-12-09 19:32:26 +00:00
Thibault Saunier cdec2d0181 meson: Build GIR files 2017-12-09 19:32:26 +00:00
Matthew Waters ad20a945de gl: update sys dependants for function removals
4315a4b54d forgot to change the androidmedia/videotoolbox/caopengllayer
sources as required.
2017-12-09 19:32:26 +00:00
Juan Pablo Ugarte c469827ddb glslstage: define GL constants if needed instead of using #ifdef
https://bugzilla.gnome.org/show_bug.cgi?id=777144
2017-12-09 19:32:26 +00:00
Matthew Waters 69da104456 glutils: document functions 2017-12-09 19:32:26 +00:00
Matthew Waters de6c39189f glutils: privatise matrix multiplication/videoaffinetransformation retrieval 2017-12-09 19:32:26 +00:00
Matthew Waters ceda9dc1aa gl/utils: also take care of the local GL context in query functions
Simplifies a deduplicates a lot of code in elements retrieving/setting
the local OpenGL context.
2017-12-09 19:32:26 +00:00
Matthew Waters d00a13f01d glutils: remove trivial helper function
gst_gl_caps_replace_all_caps_features() is only used in two places and can
be trivially reproduced.
2017-12-09 19:32:26 +00:00
Matthew Waters 0348225001 gl/docs: add symbols from -unused.txt 2017-12-09 19:32:26 +00:00
Matthew Waters 0a0a45fefd gl/docs: some type fixes of type names 2017-12-09 19:32:26 +00:00
Matthew Waters cbc7efdcb6 glwindow: use the same parameter names between vfuncs and functions of the same name
Silences GI warnings about symbol's not being used from source code
comment block
2017-12-09 19:32:26 +00:00
Matthew Waters e4c7f28bf7 glbasememory: type fix for GstGLBaseMemoryAllocatorAllocFunction 2017-12-09 19:32:26 +00:00
Matthew Waters 738cd580c9 gldisplay: add missing transfer annotations 2017-12-09 19:32:26 +00:00
Matthew Waters 87a4eafaf9 gl: add skip annotations to non-GI possible struct constructors 2017-12-09 19:32:26 +00:00
Matthew Waters f7d300b28e glbasememory: remove unused and #if 0'ed function definitions 2017-12-09 19:32:26 +00:00
Matthew Waters 31b38a5f54 gl: add necessary get_type() functions for allocation params structures
All using the existing GstGLAllocationParams infrastructure
2017-12-09 19:32:26 +00:00
Matthew Waters 53cc73b5f4 gldisplay: some annotation updates/typo fixes 2017-12-09 19:32:25 +00:00
Matthew Waters 2fa355c761 gl: remove reference to non-existant header
../../../../gst-libs/gst/gl/gl.h:57:45: fatal error: gst/gl/gstglcontrolbindingproxy.h: No such file or directory
 #include <gst/gl/gstglcontrolbindingproxy.h>
                                             ^
2017-12-09 19:32:25 +00:00