etnaviv: rework TS enable to be a derived state

Graphics / Mesa 3D Graphics Library / Mesa - Lucas Stach [pengutronix.de] - 14 October 2017 10:40 EDT

Draw operations should not use the TS if the TS buffer content is invalid, as this leads to wrong rendering or even GPU hangs. As the TS valid status can change between draws (clear operations changing it to valid, blits using the RS to the color or ZS buffer changing it to invalid), the TS_MEM_CONFIG must be updated before each draw if the status has changed.

This fixes the remaining TS related piglit failures (regressions of a standard run against a piglit run with TS completely disabled).

4daee67 etnaviv: rework TS enable to be a derived state
src/gallium/drivers/etnaviv/etnaviv_clear_blit.c | 5 +--
src/gallium/drivers/etnaviv/etnaviv_context.h | 1 +
src/gallium/drivers/etnaviv/etnaviv_state.c | 42 ++++++++++++++++++++++--
3 files changed, 43 insertions(+), 5 deletions(-)

Upstream: cgit.freedesktop.org


  • Share