From: brian Date: Tue, 10 Nov 2009 23:00:35 +0000 (-0700) Subject: mesa: move check_begin/end_texture_render() calls X-Git-Tag: mesa-7.8~2493 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bc569cd6bee0550c7f83412476b6b39e89c51ac3;p=platform%2Fupstream%2Fmesa.git mesa: move check_begin/end_texture_render() calls --- diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index 9bf4341..6d8d187 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -1288,26 +1288,28 @@ _mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer) } else { FLUSH_VERTICES(ctx, _NEW_BUFFERS); + _mesa_reference_framebuffer(&ctx->ReadBuffer, newReadFb); } } if (bindDrawBuf) { - if (oldDrawFb->Name != 0) { - check_end_texture_render(ctx, ctx->DrawBuffer); - } - if (oldDrawFb == newDrawFb) { bindDrawBuf = GL_FALSE; /* no change */ } else { FLUSH_VERTICES(ctx, _NEW_BUFFERS); - _mesa_reference_framebuffer(&ctx->DrawBuffer, newDrawFb); - } - if (newDrawFb->Name != 0) { - /* check if newly bound framebuffer has any texture attachments */ - check_begin_texture_render(ctx, newDrawFb); + if (oldDrawFb->Name != 0) { + check_end_texture_render(ctx, oldDrawFb); + } + + if (newDrawFb->Name != 0) { + /* check if newly bound framebuffer has any texture attachments */ + check_begin_texture_render(ctx, newDrawFb); + } + + _mesa_reference_framebuffer(&ctx->DrawBuffer, newDrawFb); } }