-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 07/18/2011 06:11 PM, Marek Olšák wrote: > ES 2.0.25 page 127 says: > > If the value of FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is NONE, then > querying any other pname will generate INVALID_ENUM.
Hurray for be different just for the sake of being different! > See also: > b9e9df78a03edb35472c2e231aef4747e09db792 > > NOTE: This is a candidate for the 7.10 and 7.11 branches. > --- > src/mesa/main/fbobject.c | 22 +++++++++++++++------- > 1 files changed, 15 insertions(+), 7 deletions(-) > > diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c > index 8496936..1e11513 100644 > --- a/src/mesa/main/fbobject.c > +++ b/src/mesa/main/fbobject.c > @@ -2134,10 +2134,13 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum > target, GLenum attachment, > { > const struct gl_renderbuffer_attachment *att; > struct gl_framebuffer *buffer; > + GLboolean is_gl; > GET_CURRENT_CONTEXT(ctx); > > ASSERT_OUTSIDE_BEGIN_END(ctx); > > + is_gl = ctx->API == API_OPENGL; > + Maybe this would be better GLenum err = (ctx->API == API_OPENGL) ? GL_INVALID_OPERATION : GL_INVALID_ENUM; Every time I look at error generation code in Mesa, I feel a little ill. It always ends up being so much ugly code. meh. > buffer = get_framebuffer_target(ctx, target); > if (!buffer) { > _mesa_error(ctx, GL_INVALID_ENUM, > @@ -2188,7 +2191,12 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum > target, GLenum attachment, > } > else { > assert(att->Type == GL_NONE); > - *params = 0; > + if (is_gl) { > + *params = 0; > + } else { > + _mesa_error(ctx, GL_INVALID_ENUM, > + "glGetFramebufferAttachmentParameterivEXT(pname)"); > + } > } > return; > case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT: > @@ -2196,7 +2204,7 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum > target, GLenum attachment, > *params = att->TextureLevel; > } > else if (att->Type == GL_NONE) { > - _mesa_error(ctx, GL_INVALID_OPERATION, > + _mesa_error(ctx, is_gl ? GL_INVALID_OPERATION : GL_INVALID_ENUM, > "glGetFramebufferAttachmentParameterivEXT(pname)"); > } > else { > @@ -2214,7 +2222,7 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum > target, GLenum attachment, > } > } > else if (att->Type == GL_NONE) { > - _mesa_error(ctx, GL_INVALID_OPERATION, > + _mesa_error(ctx, is_gl ? GL_INVALID_OPERATION : GL_INVALID_ENUM, > "glGetFramebufferAttachmentParameterivEXT(pname)"); > } > else { > @@ -2232,7 +2240,7 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum > target, GLenum attachment, > } > } > else if (att->Type == GL_NONE) { > - _mesa_error(ctx, GL_INVALID_OPERATION, > + _mesa_error(ctx, is_gl ? GL_INVALID_OPERATION : GL_INVALID_ENUM, > "glGetFramebufferAttachmentParameterivEXT(pname)"); > } > else { > @@ -2246,7 +2254,7 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum > target, GLenum attachment, > "glGetFramebufferAttachmentParameterivEXT(pname)"); > } > else if (att->Type == GL_NONE) { > - _mesa_error(ctx, GL_INVALID_OPERATION, > + _mesa_error(ctx, is_gl ? GL_INVALID_OPERATION : GL_INVALID_ENUM, > "glGetFramebufferAttachmentParameterivEXT(pname)"); > } > else { > @@ -2267,7 +2275,7 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum > target, GLenum attachment, > return; > } > else if (att->Type == GL_NONE) { > - _mesa_error(ctx, GL_INVALID_OPERATION, > + _mesa_error(ctx, is_gl ? GL_INVALID_OPERATION : GL_INVALID_ENUM, > "glGetFramebufferAttachmentParameterivEXT(pname)"); > } > else { > @@ -2301,7 +2309,7 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum > target, GLenum attachment, > "glGetFramebufferAttachmentParameterivEXT(pname)"); > } > else if (att->Type == GL_NONE) { > - _mesa_error(ctx, GL_INVALID_OPERATION, > + _mesa_error(ctx, is_gl ? GL_INVALID_OPERATION : GL_INVALID_ENUM, > "glGetFramebufferAttachmentParameterivEXT(pname)"); > } > else if (att->Texture) { -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iEYEARECAAYFAk4mINUACgkQX1gOwKyEAw/O5ACdEu8vAh6KY0fa+/GJpMH9UwaM hIEAn3VAcVw5XvNpHlXZ9YJP+st+MMJp =SvMB -----END PGP SIGNATURE----- _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev