freedreno: clear vs scissor
authorRob Clark <robclark@freedesktop.org>
Tue, 21 Oct 2014 14:30:49 +0000 (10:30 -0400)
committerRob Clark <robclark@freedesktop.org>
Wed, 22 Oct 2014 00:08:49 +0000 (20:08 -0400)
commit01b757e2b0fb97a146b0ef278b449cecab0d15e8
treea2b0089ba5f796a23ecb558f88ab72ba17daaede
parent1ab6543431b5a4eaf589cdabf2227088dd62ce6f
freedreno: clear vs scissor

The optimization of avoiding restore (mem2gmem) if there was a clear
falls down a bit if you don't have a fullscreen scissor.  We need to
make the decision logic a bit more clever to keep track of *what* was
cleared, so that we can (a) completely skip mem2gmem if entire buffer
was cleared, or (b) skip mem2gmem on a per-tile basis for tiles that
were completely cleared.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
src/gallium/drivers/freedreno/a3xx/fd3_gmem.c
src/gallium/drivers/freedreno/freedreno_context.c
src/gallium/drivers/freedreno/freedreno_context.h
src/gallium/drivers/freedreno/freedreno_draw.c
src/gallium/drivers/freedreno/freedreno_gmem.c
src/gallium/drivers/freedreno/freedreno_gmem.h