Mesa (master): mesa: move check_begin/end_texture_render() calls

Brian Paul brianp at kemper.freedesktop.org
Tue Nov 10 17:17:40 PST 2009


Module: Mesa
Branch: master
Commit: bc569cd6bee0550c7f83412476b6b39e89c51ac3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bc569cd6bee0550c7f83412476b6b39e89c51ac3

Author: brian <brian at cvp965.(none)>
Date:   Tue Nov 10 16:00:35 2009 -0700

mesa: move check_begin/end_texture_render() calls

---

 src/mesa/main/fbobject.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

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);
       }
    }
 



More information about the mesa-commit mailing list