diff --git a/src/mesa/state_tracker/st_cb_flush.c b/src/mesa/state_tracker/st_cb_flush.c index bec1c2f177b..12289d8cf4e 100644 --- a/src/mesa/state_tracker/st_cb_flush.c +++ b/src/mesa/state_tracker/st_cb_flush.c @@ -57,6 +57,7 @@ st_flush(struct st_context *st, */ st_context_free_zombie_objects(st); + st_flush_bitmap_cache(st); st->pipe->flush(st->pipe, fence, flags); } @@ -69,7 +70,6 @@ st_finish(struct st_context *st) { struct pipe_fence_handle *fence = NULL; - st_flush_bitmap_cache(st); st_flush(st, &fence, PIPE_FLUSH_ASYNC | PIPE_FLUSH_HINT_FINISH); if (fence) { @@ -91,8 +91,6 @@ st_glFlush(struct gl_context *ctx) { struct st_context *st = st_context(ctx); - st_flush_bitmap_cache(st); - /* Don't call st_finish() here. It is not the state tracker's * responsibilty to inject sleeps in the hope of avoiding buffer * synchronization issues. Calling finish() here will just hide