On 07/16/2012 02:36 PM, Paul Berry wrote:
From the GL 3.0 spec, section 4.3.3, in the documentation for CopyPixels():"An INVALID_OPERATION error will be generated if the object bound to READ_FRAMEBUFFER_BINDING is framebuffer complete and the value of SAMPLE_BUFFERS is greater than zero." The same applies to CopyTexImage...() and CopyTexSubImage...() functions, since they are defined in terms of CopyPixels(). Previously we were generating an INVALID_FRAMEBUFFER_OPERATION error in these cases. Fixes piglit tests "EXT_framebuffer_multisample/negative-{copypixels,copyteximage}". --- src/mesa/main/drawpix.c | 2 +- src/mesa/main/teximage.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mesa/main/drawpix.c b/src/mesa/main/drawpix.c index def55dd..fdcbccc 100644 --- a/src/mesa/main/drawpix.c +++ b/src/mesa/main/drawpix.c @@ -240,7 +240,7 @@ _mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, GLsizei height, } if (ctx->ReadBuffer->Name != 0&& ctx->ReadBuffer->Visual.samples> 0) { - _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION, + _mesa_error(ctx, GL_INVALID_OPERATION, "glCopyPixels(multisample FBO)"); goto end; } diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 126386e..64b25a8 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -2005,7 +2005,7 @@ copytexture_error_check( struct gl_context *ctx, GLuint dimensions, } if (ctx->ReadBuffer->Visual.samples> 0) { - _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION, + _mesa_error(ctx, GL_INVALID_OPERATION, "glCopyTexImage%dD(multisample FBO)", dimensions); return GL_TRUE; @@ -2130,7 +2130,7 @@ copytexsubimage_error_check1( struct gl_context *ctx, GLuint dimensions, } if (ctx->ReadBuffer->Visual.samples> 0) { - _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION, + _mesa_error(ctx, GL_INVALID_OPERATION, "glCopyTexSubImage%dD(multisample FBO)", dimensions); return GL_TRUE;
LGTM. Reviewed-by: Brian Paul <[email protected]> -Brian _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
