compositor: make GL_EXT_read_format_bgra optional
Some GL implementations do not provide GL_EXT_read_format_bgra
extension.
Set a glReadPixels format based on whether the extensions is supported
or not, and use that format in all backends.
Add RGBA->BGRA swapping copy to screenshooter to keep the shm buffer
data format as BGRA.
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
diff --git a/src/compositor.c b/src/compositor.c
index ac5e91c..17daac4 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2391,10 +2391,10 @@
return -1;
}
- if (!strstr(extensions, "GL_EXT_read_format_bgra")) {
- fprintf(stderr, "GL_EXT_read_format_bgra not available\n");
- return -1;
- }
+ if (strstr(extensions, "GL_EXT_read_format_bgra"))
+ ec->read_format = GL_BGRA_EXT;
+ else
+ ec->read_format = GL_RGBA;
if (strstr(extensions, "GL_EXT_unpack_subimage"))
ec->has_unpack_subimage = 1;