gallium: fix issues in recursive flushing
authorBrian Paul <brian.paul@tungstengraphics.com>
Thu, 24 Apr 2008 00:08:20 +0000 (18:08 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Thu, 24 Apr 2008 00:08:20 +0000 (18:08 -0600)
commit14d1ca8d867d6e44c756cb759f92421107118b2e
treed68f30e4928d571e7d7b833885949715f57cc743
parent8437f5c763c1a1ac364d71426109c2b095bbcc72
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.
src/gallium/auxiliary/draw/draw_context.c
src/gallium/auxiliary/draw/draw_pipe_aaline.c
src/gallium/auxiliary/draw/draw_pipe_aapoint.c
src/gallium/auxiliary/draw/draw_pipe_pstipple.c
src/gallium/auxiliary/draw/draw_private.h
src/gallium/auxiliary/draw/draw_pt_vcache.c