freedreno: avoid stalling at ringbuffer wraparound
authorRob Clark <robclark@freedesktop.org>
Fri, 6 Sep 2013 17:20:46 +0000 (13:20 -0400)
committerRob Clark <robclark@freedesktop.org>
Sat, 14 Sep 2013 17:31:58 +0000 (13:31 -0400)
commit6e9c386d16b3b38be6d1496758ef983b64744844
treedd9df0e10d4548821ff27d2904d1994434212073
parentca505303a72970f40792f16d79eedab35b27b6ed
freedreno: avoid stalling at ringbuffer wraparound

Because of how the tiling works, we can't really flush at arbitrary
points very easily.  So wraparound is handled by resetting to top of
ringbuffer.  Previously this would stall until current rendering is
complete.  Instead cycle through multiple ringbuffers to avoid a stall.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/drivers/freedreno/freedreno_context.c
src/gallium/drivers/freedreno/freedreno_context.h