weston/libweston/renderer-gl
Pekka Paalanen f60c9cc1e9 gl-renderer: implement output capture
This services output capture tasks for the 'framebuffer' and 'full
framebuffer' pixel sources.

Both pixel sources come from the same source: the EGLSurface. The only
difference is the area. The EGLSurface contains the borders used for
output decorations, hence 'full framebuffer' is possible to capture.

We use GL_ANGLE_pack_reverse_row_order extension to make glReadPixels
return the image data in the layout we need for wl_shm buffers directly.
Without the extension we have to flip manually.

Another extension to the same effect is MESA_pack_invert, but this is
not specified for GL ES. It also uses a different token value, so it
cannot be directly substituted even if supported.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2022-11-29 11:00:52 +02:00
..
egl-glue.c gl_renderer: log EGL features 2022-05-18 14:18:53 +03:00
fragment.glsl gl-renderer: add matrix 2022-09-28 10:28:28 +00:00
gl-renderer-internal.h gl-renderer: implement output capture 2022-11-29 11:00:52 +02:00
gl-renderer.c gl-renderer: implement output capture 2022-11-29 11:00:52 +02:00
gl-renderer.h gl-renderer: pass initial output area explicitly 2022-09-23 12:42:05 +00:00
gl-shader-config-color-transformation.c gl-renderer: add matrix 2022-09-28 10:28:28 +00:00
gl-shaders.c gl-renderer: add matrix 2022-09-28 10:28:28 +00:00
meson.build gl-renderer: implement 3 x 1D LUT color pre-curve 2021-06-21 14:36:33 +00:00
vertex.glsl gl-renderer: move vertex shader into new file 2021-02-25 13:16:02 +02:00