mesa: remove _mesa_set_vp_override() from _mesa_Bitmap()
authorBrian Paul <brianp@vmware.com>
Tue, 11 Aug 2009 14:37:22 +0000 (08:37 -0600)
committerBrian Paul <brianp@vmware.com>
Tue, 11 Aug 2009 14:38:51 +0000 (08:38 -0600)
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

index c07de9ce998070bd3e44022d077fdcbf38a0d317..6d31f32443a316668dbc4500ac844e77484e1abc 100644 (file)
@@ -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);
 }