summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gallium/auxiliary/draw/draw_prim.c11
-rw-r--r--src/gallium/auxiliary/draw/draw_private.h1
2 files changed, 6 insertions, 6 deletions
diff --git a/src/gallium/auxiliary/draw/draw_prim.c b/src/gallium/auxiliary/draw/draw_prim.c
index f589d0c017..ddcde01d9a 100644
--- a/src/gallium/auxiliary/draw/draw_prim.c
+++ b/src/gallium/auxiliary/draw/draw_prim.c
@@ -158,15 +158,15 @@ static INLINE void fetch_and_store(struct draw_context *draw)
void draw_do_flush( struct draw_context *draw, unsigned flags )
{
- static boolean flushing = FALSE;
-
if (0)
debug_printf("Flushing with %d verts, %d prims\n",
draw->vs.queue_nr,
draw->pq.queue_nr );
- if (!flushing) {
- flushing = TRUE;
+ if (draw->flushing)
+ return;
+
+ draw->flushing = TRUE;
if (flags >= DRAW_FLUSH_SHADER_QUEUE) {
if (draw->vs.queue_nr) {
@@ -189,8 +189,7 @@ void draw_do_flush( struct draw_context *draw, unsigned flags )
}
}
- flushing = FALSE;
- }
+ draw->flushing = FALSE;
}
diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h
index 8a879809c3..7007ee22c4 100644
--- a/src/gallium/auxiliary/draw/draw_private.h
+++ b/src/gallium/auxiliary/draw/draw_private.h
@@ -223,6 +223,7 @@ struct draw_context
} pt;
+ boolean flushing;
/* pipe state that we need: */
const struct pipe_rasterizer_state *rasterizer;