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@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user