From da2e41cd88dd68b658534390ed69dd422172d07b Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 3 Oct 2011 12:04:09 -0700 Subject: [PATCH] mesa: Only allow queries of window system FBO on desktop GL w/ARB_fbo Neither OES_framebuffer_object nor EXT_framebuffer_object allow querying the window system FBO. Signed-off-by: Ian Romanick Reviewed-by: Brian Paul Reviewed-by: Jose Fonseca --- src/mesa/main/fbobject.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index e945f0b64e1..f9da54e73c0 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -2276,6 +2276,21 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, } if (is_winsys_fbo(buffer)) { + /* Page 126 (page 136 of the PDF) of the OpenGL ES 2.0.25 spec + * says: + * + * "If the framebuffer currently bound to target is zero, then + * INVALID_OPERATION is generated." + * + * The EXT_framebuffer_object spec has the same wording, and the + * OES_framebuffer_object spec refers to the EXT_framebuffer_object + * spec. + */ + if (ctx->API != API_OPENGL || !ctx->Extensions.ARB_framebuffer_object) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glGetFramebufferAttachmentParameteriv(bound FBO = 0)"); + return; + } /* the default / window-system FBO */ att = _mesa_get_fb0_attachment(ctx, buffer, attachment); } -- 2.30.2