Julien Isorce
f037b28a7b
gl: initialize output params to 0 before calling gl functions
...
The client side API of the Chromium's GPU Process has asserts
in debug mode that check that output params are initialized to 0.
2015-07-02 15:16:56 +01:00
Matthew Waters
e1b077d6af
glshader: attempt to detect the gles2 inside opengl3 case
...
This is necessary to use gles2 shaders in a GL 3 core context on
OS X which fails without a proper #version being set on the shaders.
2015-05-14 14:58:07 +10:00
Matthew Waters
3d0bc93edc
glshader: remove references to gl3 specific shaders
...
We rely specifically on gles2 shaders being supported by the GL
implementation with GL3 core profile.
2015-05-14 14:58:07 +10:00
Matthew Waters
a29a18cc3a
glshader: attribute locations are -1 on error
2015-03-13 17:41:17 +00:00
Neos3452
40a4530c5d
glshader: prevent from getting attributes without vertex shader
...
It doesn't make sense to query for vertex attributes without a vertex
shader. Moreover this is causing a crash on OSX.
https://bugzilla.gnome.org/show_bug.cgi?id=746168
2015-03-13 17:35:18 +00:00
Edward Hervey
f09272f434
gl: Add/Update more debug statements
...
Where possible, use the _OBJECT variants in order to track better from
which object the debug statement is coming from
Define (and use) GST_CAT_DEFAULT where applicable
Use GST_PTR_FORMAT where applicable
2015-02-12 15:57:55 +01:00
Matthew Waters
fca0bc97a4
glshader add support for gl3
2014-11-28 09:14:25 +11:00
Matthew Waters
d2cbc7cc16
glshader: advertise the default vertex and fragment shaders on desktop GL
2014-10-30 18:58:49 +11:00
Lubosz Sarnecki
d2cac06eeb
glshader: expose opengl handle in getter
...
https://bugzilla.gnome.org/show_bug.cgi?id=734482
2014-08-21 17:38:36 +10:00
Matthew Waters
da35876537
glfeature: remove GST_GL_API_GLES3
...
instead check the gl version using gst_gl_context_check_gl_version()
2014-05-30 10:29:37 +10:00
Matthew Waters
c247be334a
gl: make all GObjects inherit from GstObject
...
Aids memory leak debugging with GST_TRACE=mem-live
2014-05-08 15:33:43 +10:00
Julien Isorce
64e5b5a203
gl: add convenient functions to setup default vertex and fragment shaders
...
Most of our 2D filters use the same simple vertex shader.
Also define the default fragment shader as the identity.
Avoid duplicating the same vertex and fragment shader text.
2014-04-30 15:35:49 +01:00
Matthew Waters
870503dc6b
gl: silence all the compiler warnings
2014-03-16 15:17:44 +01:00
Matthew Waters
9b22b0e0ba
[812/906] move the GL vtable from GstGLDisplay to GstGLContext
...
Conflicts:
tests/check/libs/gstglcontext.c
2014-03-15 18:37:02 +01:00
Sebastian Dröge
d87a0eaf1d
[749/906] glshader: Add some more debug output
2014-03-15 18:36:58 +01:00
Julien Isorce
dd7e054e2c
[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
2014-03-15 18:36:57 +01:00
Sebastian Dröge
98cca97840
[719/906] gl: Fix compilation with GLES2
2014-03-15 18:36:56 +01:00
Matthew Waters
11b810fcf5
[718/906] shader: make it possible to unref in the non-GL thread
2014-03-15 18:36:56 +01:00
Matthew Waters
09496fc8a1
[713/906] shader: make it possible to create the object in a non-GL thread
2014-03-15 18:36:56 +01:00
Matthew Waters
13067b104c
[704/906] Use gst_object_[un]ref so we can get refcounts in the log
2014-03-15 18:36:56 +01:00
Matthew Waters
39e5b7c97f
[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.
2014-03-15 18:36:54 +01:00
Matthew Waters
8b59321a7e
[668/906] shader: fix gles2 segfault
2014-03-15 18:36:53 +01:00
Matthew Waters
7b03a572d9
[647/906] remove dependecy on glew
2014-03-15 18:36:52 +01:00
Matthew Waters
fa3c3b8434
[642/906] add gstglconfig.h for apps to find out what our capabilites are
...
ie libgstgl can be compiled with any combination of opengl/gles2
2014-03-15 18:36:52 +01:00
Matthew Waters
86844030d6
[627/906] shader: check for invalid objects
2014-03-15 18:36:51 +01:00
Matthew Waters
cc8e54541b
[624/906] OPENGL_ES2 => HAVE_GLES2 and add HAVE_OPENGL
...
use GstGLAPI to determine which code paths to execute.
perform some cleanups
2014-03-15 18:36:51 +01:00
Matthew Waters
13ec239924
[605/906] shader: move to gst debugging
2014-03-15 18:36:50 +01:00
Matthew Waters
93f7e993ad
[603/906] update FSF address
2014-03-15 18:36:50 +01:00
Julien Isorce
a1649a497a
[495/906] glES2.0: properly use glDeleteShader
2014-03-15 18:36:43 +01:00
Julien Isorce
052c23c3c5
[491/906] glES2.0: properly fails if driver/kernel inconsistency
2014-03-15 18:36:43 +01:00
Julien Isorce
2394987226
[490/906] gldisplay: error out instead of g_assert
2014-03-15 18:36:43 +01:00
Julien Isorce
591b4282ed
[477/906] OpenGL ES 2.0: fix build since glfiltershader changes
2014-03-15 18:36:42 +01:00
Luc Deschenaux
268f1a30b2
[471/906] glshader: add dynamic fragment shader filter
...
Also add fragment shader parser
Fix bug #600195
2014-03-15 18:36:42 +01:00
Julien Isorce
d21aaa22bf
[467/906] tests: various build fixes
...
- cmake could not find glib
- put gtk variables at the beginning to avoid GL conflicts
- update examples to clutter-1.8
- use const instead of deprecated G_CONST_RETURN
- set max pending events to 0 to make cube example works again
2014-03-15 18:36:42 +01:00
Stefan Kost
edefb7826c
[462/906] various: add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed. Includes some gst-indent changes as well :/
2014-03-15 18:36:41 +01:00
Julien Isorce
db7d436bd8
[387/906] glmixer: add a glmixer base element
...
glmixer can be seen as a glfilter except it handles N requested
sink pads.
Each sink pad and the src pad are video/x-raw-gl.
glmixer is responsible for managing different framerates from inputs.
It uses OpenGL context sharing. It means that each input is in its
own OpenGL context shared together and shared with the OpenGL context
of the ouput gl chain.
Also add a glmosaic which is an example of implementation of glmixer.
For now glmosaic is a cube but it will be fixed in the next commits.
For now the glmixer has some weird behaviours in some configurations
but it will be improved in the next commits.
The autotools builds is temporarly broken since those changes
have been made on win32.
2014-03-15 18:36:37 +01:00
Julien Isorce
ec0bb66fe9
[321/906] add OpenGL ES 2.x support.
...
In OpenGL 2.x for Embedded System, a lot of basic scene/draw functions
have been removed. It means that everything is made using vertex and
fragment shaders.
I have also added a gstglwindow backend for winCE that uses EGL
(Native Platform Graphics Intercace) (which is a full part of
OpenGL ES specification). It remove the use of wgl/glx functions.
2014-03-15 18:36:33 +01:00
David Schleef
d015d5862d
[310/906] Global reindent
...
Indent parameters:
INDENT_PARAMETERS="--braces-on-if-line \
--case-brace-indentation0 \
--case-indentation2 \
--braces-after-struct-decl-line \
--line-length80 \
--no-tabs \
--cuddle-else \
--dont-line-up-parentheses \
--honour-newlines \
--continuation-indentation4 \
--tab-size8 \
--indent-level2"
2014-03-15 18:36:33 +01:00
Julien Isorce
92e733dce0
[304/906] only load RGBA files.png
2014-03-15 18:36:32 +01:00
David Schleef
43e574aa8f
[298/906] Revert "Fix indention"
...
This reverts commit 96e4ab18c2cf9876f6c031b9aba6282d0bd45a93.
You should have asked first. And you would have been told "no",
because it causes people on development branches to do a huge
amount of extra work.
2014-03-15 18:36:32 +01:00
Sebastian Dröge
369b1d4ff2
[295/906] Fix indention
2014-03-15 18:36:32 +01:00
Julien Isorce
cfd7f1be38
[257/906] begin gstglwindow_x11.c implementation
2014-03-15 18:36:29 +01:00
Julien Isorce
5a84fd49a9
[252/906] avoid a dead lock on window closure
2014-03-15 18:36:29 +01:00
Filippo Argiolas
41e5676c47
[230/906] explicit check g_getenv return value to be not NULL
2014-03-15 18:36:28 +01:00
Filippo Argiolas
30b33ab63f
[228/906] output shaders info log only if GST_GL_SHADER_DEBUG env variable is set. Should fix TODO task 18
2014-03-15 18:36:28 +01:00
Julien Isorce
10853e1c2f
[212/906] add a glbumper (bump mapping filter through GLSL) that exposes how to use both vertex and fragment shaders
2014-03-15 18:36:27 +01:00
Filippo Argiolas
aeadf6bc0e
[127/906] Imported GstGLShader from cvs branch. Added a demo laplacian convolution filter to demonstrate how this can be integrated with minimum effort.
2014-03-15 18:36:22 +01:00