Sebastian Dröge
d98d5c657e
eglglessink: Add some simple TODOs
2012-10-18 14:35:14 +02:00
Reynaldo H. Verdejo Pinochet
98b9862167
eglglessink: Lock while altering display region coords
2012-10-18 14:35:14 +02:00
Reynaldo H. Verdejo Pinochet
a2fce44139
eglglessink: Fix _get_compat_format_from_caps() logic
...
It's a getter so it shouldn't messing with the sink context.
Adding insult to injury it was setting selected_fmt without
locking.
The associated changes to the buffer functions are merely
make-it build fixes. Those functions are barely drafted
and in WIP state.
2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
47d0505f40
eglglessink: Drop unneded initial set to NULL
2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
0c681dc2a6
eglglessink: Minor formatting and comment fixes
2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
63d8cd88c7
eglglessink: Clean-up gl/egl allocations at _stop()
...
Also, conditionaly destroy window if the sink created its own.
2012-10-18 14:35:13 +02:00
Sebastian Dröge
99765c3333
eglglessink: Add support for NV12 and NV21
...
Also YUY2 and UYVY but this is disabled for now as it
doesn't work completely yet. Something is wrong with
the chroma.
2012-10-18 14:35:13 +02:00
Sebastian Dröge
72d05a681f
eglglessink: Add support for I420 and YV12 color formats
2012-10-18 14:35:13 +02:00
Sebastian Dröge
d3995c1a7b
eglglessink: Preparations for supporting multiple textures for more YUV formats
2012-10-18 14:35:13 +02:00
Sebastian Dröge
3f734aafc7
eglglessink: Use the attrib locations as really used inside the shader
2012-10-18 14:35:13 +02:00
Sebastian Dröge
24261a4fe7
eglglessink: Really decouple vertex and texture positions in the shader
2012-10-18 14:35:13 +02:00
Sebastian Dröge
dafcdb0da3
eglglessink: Decouple texture and vertex positions
2012-10-18 14:35:13 +02:00
Sebastian Dröge
cb034b2ecd
eglglessink: Reorder vertex value order to make a bit more sense
2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
8018681187
eglglessink: Handle frame scaling to fill surface
2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
90d5b76dc5
eglglessink: Draft set_render_rectangle() from the xOverlay interface
2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
f8b69a7c7f
eglglessink: Remove stale comment
2012-10-18 14:35:13 +02:00
Reynaldo H. Verdejo Pinochet
1c008e95b3
eglglessink: Move VBO setup to setcaps
2012-10-18 14:35:12 +02:00
Reynaldo H. Verdejo Pinochet
d56d126031
eglglessink: Don't do context ops at render
...
We don't need to repeatedly call
eglMakeCurrent() while using the
same context anyway.
2012-10-18 14:35:12 +02:00
Reynaldo H. Verdejo Pinochet
ca74f676fd
eglglessink: Don't clear surface color at render
2012-10-18 14:35:12 +02:00
Sebastian Dröge
9e23d0fc87
eglglessink: Rename shader variables to make more sense
2012-10-18 14:35:12 +02:00
Sebastian Dröge
d42d5e1139
eglglessink: Add support for AYUV
2012-10-18 14:35:12 +02:00
Sebastian Dröge
c4643491c4
eglglessink: Reorder caps a bit to make more sense
2012-10-18 14:35:12 +02:00
Sebastian Dröge
6adf608c99
eglglessink: Set rank to PRIMARY
2012-10-18 14:35:12 +02:00
Sebastian Dröge
1c58d921ff
eglglessink: Add support for RGBA
2012-10-18 14:35:12 +02:00
Sebastian Dröge
930b4c179e
eglglessink: Correctly generated caps for the supported formats
2012-10-18 14:35:12 +02:00
Sebastian Dröge
f9a5fc255d
eglglessink: Add ::get_caps() vfunc that returns the actually supported caps
2012-10-18 14:35:12 +02:00
Sebastian Dröge
86ebf86433
eglglessink: Also require a configuration with EGL_SURFACE_TYPE containing EGL_WINDOW_BIT
2012-10-18 14:35:12 +02:00
Sebastian Dröge
7e8cc569dd
eglglessink: Fix compiler warnings
2012-10-18 14:35:12 +02:00
Reynaldo H. Verdejo Pinochet
19c3b4d892
eglglessink: Clear surface to black by default
2012-10-18 14:35:12 +02:00
Reynaldo H. Verdejo Pinochet
19739bfb74
eglglessink: Make sure we get a config we can use with GLES2
2012-10-18 14:35:12 +02:00
Reynaldo H. Verdejo Pinochet
24b926a6cc
eglglessink: set_window_handle() has been tested to work now
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
7ac284b1a1
eglglessink: Avoid autoscaling by default
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
a81b036355
eglglessink: Avoid repeatedly setting 2D resizing params
...
Moved to initial texture setup so it hapens
just once while on the same context.
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
a96fa541ee
eglglessink: Avoid initializing EGL at _set_window_handle()
...
_start() should take care of that.
This change asumes _setcaps() will
happen always after _start() is
done.
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
ead20f4f0b
eglglessink: Don't ask for a window if we already have one
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
22eb374b57
eglglessink: Fix EGL attribs var naming
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
c2cf1fa639
eglglessink: Fix slow path rendering on Android
...
Specify missing and mandatory params for npot
Before calling glTexImage2D.
In particular, _WRAP_T and _WRAP_S need to be
set to GL_CLAMP_TO_EDGE to avoid all-black
rendering with npot sized frames.
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
f33167f95b
eglglessink: Add test on usable eglconfigs returned
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
303a346fc2
eglglessink: Drop stale error_locked label
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
5763c8d308
eglglessink: Cleanup stale code comments
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
391137a20e
eglglessink: GlViewPort() should use actual surface size
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
f707961183
eglglessink: Avoid reiniting EGL after the first time
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
75fe18200a
eglglessink: Use correct template caps
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
e439c01382
eglglessink: Fix missing texture setup bits
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
68eac71910
eglglessink: Add error checking on eglSwapBuffers
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
f8dcc8aaa5
eglglessink: Fix stale&wrong 0.5 alpha blend
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
12d66a7d54
eglglessink: Add float precision specifier to fragment shader
...
This is required by GLES and fixes compilation of fragment
shader prog.
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
28aadcad4e
eglglessink: Add log reporting at shader compilation failure
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
b4887425cc
eglglessink: Add some missing checks on shader ops
...
- Check whether there is shader compiler support
and bail out otherwise.
- Add checks on compile and linking ops
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
2a84a72fe7
eglglessink: Fix setup chain logic
...
Mostly a procedural reordering. Idea is to avoid
trying to setup a surface without a display.This
change relies on the asumption that:
1.- set_window_handle() can happen at any time
2.- setcaps will never get called before _start()
is done.
If both conditions are meet the new procedure
should work as expected.
2012-10-18 14:35:10 +02:00