cogl/gl-framebuffer: Fail without QUERY_FRAMEBUFFER_BITS

glGetIntegerv() with GL_RED_BITS/GL_GREEN_BITS/GL_BLUE_BITS/etc. is not
supported with the GL core context, so there is no point in falling back
to that without supporting COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS,
as this will cause an GL error.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>
This commit is contained in:
Olivier Fourdan 2023-06-02 14:27:29 +02:00
parent fad240f437
commit c3af4c1b15
2 changed files with 2 additions and 12 deletions

View File

@ -119,12 +119,7 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back)
else else
#endif /* HAVE_COGL_GL */ #endif /* HAVE_COGL_GL */
{ {
GE (ctx, glGetIntegerv (GL_RED_BITS, &bits->red)); return FALSE;
GE (ctx, glGetIntegerv (GL_GREEN_BITS, &bits->green));
GE (ctx, glGetIntegerv (GL_BLUE_BITS, &bits->blue));
GE (ctx, glGetIntegerv (GL_ALPHA_BITS, &bits->alpha));
GE (ctx, glGetIntegerv (GL_DEPTH_BITS, &bits->depth));
GE (ctx, glGetIntegerv (GL_STENCIL_BITS, &bits->stencil));
} }
COGL_NOTE (FRAMEBUFFER, COGL_NOTE (FRAMEBUFFER,

View File

@ -129,12 +129,7 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo)
else else
#endif /* HAVE_COGL_GL */ #endif /* HAVE_COGL_GL */
{ {
GE (ctx, glGetIntegerv (GL_RED_BITS, &bits->red)); return FALSE;
GE (ctx, glGetIntegerv (GL_GREEN_BITS, &bits->green));
GE (ctx, glGetIntegerv (GL_BLUE_BITS, &bits->blue));
GE (ctx, glGetIntegerv (GL_ALPHA_BITS, &bits->alpha));
GE (ctx, glGetIntegerv (GL_DEPTH_BITS, &bits->depth));
GE (ctx, glGetIntegerv (GL_STENCIL_BITS, &bits->stencil));
} }
if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_ALPHA_TEXTURES) && if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_ALPHA_TEXTURES) &&