diff options
author | Brian Paul <[email protected]> | 2008-04-23 18:08:20 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2008-04-23 18:08:20 -0600 |
commit | 14d1ca8d867d6e44c756cb759f92421107118b2e (patch) | |
tree | d68f30e4928d571e7d7b833885949715f57cc743 /src/gallium/auxiliary/draw/draw_private.h | |
parent | 8437f5c763c1a1ac364d71426109c2b095bbcc72 (diff) |
gallium: fix issues in recursive flushing
When flushing/rendering, some stages (like AA line/point) need to set
pipe/driver state. Those driver functions often call draw_flush().
That leads to recursion.
Use new draw->suspend_flush flag to explicitly prevent that in the key places.
Remove the draw->vcache_flushing field.
Reuse draw->flushing as a debug/assertion var.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_private.h')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_private.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h index 39aa81b43cf..ca5021c5c65 100644 --- a/src/gallium/auxiliary/draw/draw_private.h +++ b/src/gallium/auxiliary/draw/draw_private.h @@ -178,9 +178,9 @@ struct draw_context boolean bypass_clipping; } driver; - boolean flushing; - boolean vcache_flushing; - boolean bypass_clipping; /* set if either api or driver bypass_clipping true */ + boolean flushing; /**< debugging/sanity */ + boolean suspend_flushing; /**< internally set */ + boolean bypass_clipping; /**< set if either api or driver bypass_clipping true */ /* pipe state that we need: */ const struct pipe_rasterizer_state *rasterizer; |