diff options
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/main/clear.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mesa/main/clear.c b/src/mesa/main/clear.c index c5d612f4a6c..c12983f8dcd 100644 --- a/src/mesa/main/clear.c +++ b/src/mesa/main/clear.c @@ -692,12 +692,6 @@ clear_bufferfi(struct gl_context *ctx, GLenum buffer, GLint drawbuffer, drawbuffer); return; } - - if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) { - _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT, - "glClearBufferfi(incomplete framebuffer)"); - return; - } } if (ctx->RasterDiscard) @@ -707,6 +701,12 @@ clear_bufferfi(struct gl_context *ctx, GLenum buffer, GLint drawbuffer, _mesa_update_state( ctx ); } + if (!no_error && ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) { + _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT, + "glClearBufferfi(incomplete framebuffer)"); + return; + } + if (ctx->DrawBuffer->Attachment[BUFFER_DEPTH].Renderbuffer) mask |= BUFFER_BIT_DEPTH; if (ctx->DrawBuffer->Attachment[BUFFER_STENCIL].Renderbuffer) |