gallium: flush pipe before updating bitmap texture
authorBrian Paul <brian.paul@tungstengraphics.com>
Tue, 29 Apr 2008 23:29:33 +0000 (17:29 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Tue, 29 Apr 2008 23:30:21 +0000 (17:30 -0600)
Fixes duplicated text bug in progs/tests/texwrap.c

src/mesa/state_tracker/st_cb_bitmap.c

index 6c2d9a4b897da8d5978b15b92d452687fa436067..836758a336542080ee94dcc20eaa7aaf5ab43129 100644 (file)
@@ -589,6 +589,11 @@ st_flush_bitmap_cache(struct st_context *st)
          pipe_surface_unmap(surf);
          pipe_surface_reference(&surf, NULL);
 
+         /* flush in case the previous texture contents haven't been
+          * used yet. XXX this is not ideal!  Revisit.
+          */
+         st->pipe->flush( st->pipe, 0x0, NULL );
+
          pipe->texture_update(pipe, cache->texture, 0, 0x1);
 
          draw_bitmap_quad(st->ctx,
@@ -597,7 +602,6 @@ st_flush_bitmap_cache(struct st_context *st)
                           st->ctx->Current.RasterPos[2],
                           BITMAP_CACHE_WIDTH, BITMAP_CACHE_HEIGHT,
                           cache->texture);
-
       }
       reset_cache(st);
    }