etnaviv: use dummy RT buffer when rendering without color buffer
authorLucas Stach <l.stach@pengutronix.de>
Wed, 14 Nov 2018 13:51:49 +0000 (14:51 +0100)
committerLucas Stach <l.stach@pengutronix.de>
Mon, 19 Nov 2018 14:48:10 +0000 (15:48 +0100)
commit8ca8a6a7b13798fa494c10890b2336c08c9e44aa
tree17139c26e68158a33e82f94058bc6abbe8f0cdc2
parent8706204074755279041ff5f119186862a57863fa
etnaviv: use dummy RT buffer when rendering without color buffer

At least GC2000 seems to push some dirt from the PE color cache into
the last bound render target when drawing depth only. Newer cores
seem to behave properly and don't do this, but I have found no way
to fix it on GC2000. Flushes and stalls don't seem to make any
difference.

In order to stop the core from pushing the dirt into a precious real
render target, plug in dummy buffer when rendering without a color
buffer.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
src/gallium/drivers/etnaviv/etnaviv_context.c
src/gallium/drivers/etnaviv/etnaviv_context.h
src/gallium/drivers/etnaviv/etnaviv_state.c