Mesa (master): mesa: Only allow queries of window system FBO on desktop GL w/ARB_fbo
Ian Romanick
idr at kemper.freedesktop.org
Tue Oct 11 16:01:47 UTC 2011
Module: Mesa
Branch: master
Commit: da2e41cd88dd68b658534390ed69dd422172d07b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=da2e41cd88dd68b658534390ed69dd422172d07b
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Mon Oct 3 12:04:09 2011 -0700
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 <ian.d.romanick at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
---
src/mesa/main/fbobject.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index e945f0b..f9da54e 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);
}
More information about the mesa-commit
mailing list