Mesa (master): mesa: remove _mesa_set_vp_override() from _mesa_Bitmap()

Brian Paul brianp at kemper.freedesktop.org
Tue Aug 11 14:39:27 UTC 2009


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

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Aug 11 08:37:22 2009 -0600

mesa: remove _mesa_set_vp_override() from _mesa_Bitmap()

This reverts part of commit 2c9812e3d346eb07180da520909b142e8afc1c59.
The calls to _mesa_set_vp_override() were causing extra state validation
and caused the gallium state tracker's bitmap cache to get flushed on
every call.

---

 src/mesa/main/drawpix.c |   16 ++++------------
 1 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/src/mesa/main/drawpix.c b/src/mesa/main/drawpix.c
index c07de9c..6d31f32 100644
--- a/src/mesa/main/drawpix.c
+++ b/src/mesa/main/drawpix.c
@@ -239,11 +239,6 @@ _mesa_Bitmap( GLsizei width, GLsizei height,
       return;    /* do nothing */
    }
 
-   /* We're not using the current vertex program, and the driver may install
-    * it's own.
-    */
-   _mesa_set_vp_override(ctx, GL_TRUE);
-
    if (ctx->NewState) {
       _mesa_update_state(ctx);
    }
@@ -251,13 +246,13 @@ _mesa_Bitmap( GLsizei width, GLsizei height,
    if (!valid_fragment_program(ctx)) {
       _mesa_error(ctx, GL_INVALID_OPERATION,
                   "glBitmap (invalid fragment program)");
-      goto end;
+      return;
    }
 
    if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
       _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
                   "glBitmap(incomplete framebuffer)");
-      goto end;
+      return;
    }
 
    if (ctx->RenderMode == GL_RENDER) {
@@ -273,12 +268,12 @@ _mesa_Bitmap( GLsizei width, GLsizei height,
                                         (GLvoid *) bitmap)) {
             _mesa_error(ctx, GL_INVALID_OPERATION,
                         "glBitmap(invalid PBO access)");
-            goto end;
+            return;
          }
          if (_mesa_bufferobj_mapped(ctx->Unpack.BufferObj)) {
             /* buffer is mapped - that's an error */
             _mesa_error(ctx, GL_INVALID_OPERATION, "glBitmap(PBO is mapped)");
-            goto end;
+            return;
          }
       }
 
@@ -303,7 +298,4 @@ _mesa_Bitmap( GLsizei width, GLsizei height,
    /* update raster position */
    ctx->Current.RasterPos[0] += xmove;
    ctx->Current.RasterPos[1] += ymove;
-
-end:
-   _mesa_set_vp_override(ctx, GL_FALSE);
 }




More information about the mesa-commit mailing list