Mesa (master): etnaviv: flush source TS before resolve
Lucas Stach
lynxeye at kemper.freedesktop.org
Fri Jul 14 15:25:38 UTC 2017
Module: Mesa
Branch: master
Commit: bccd21ee88f633efafb59d0ef8a42478f2faa90b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bccd21ee88f633efafb59d0ef8a42478f2faa90b
Author: Lucas Stach <l.stach at pengutronix.de>
Date: Mon Jun 26 17:26:20 2017 +0200
etnaviv: flush source TS before resolve
If we blit from a rendertarget or a depthstencil buffer there might still
be dirty data in the TS buffer which needs to be flushed out.
Fixes missing shadow tiles in glmark2 shadow.
Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel at pengutronix.de>
---
src/gallium/drivers/etnaviv/etnaviv_clear_blit.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c b/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c
index 66c6444533..d9ff9624fa 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c
@@ -479,6 +479,10 @@ etna_try_rs_blit(struct pipe_context *pctx,
etna_set_state(ctx->stream, VIVS_GL_FLUSH_CACHE,
VIVS_GL_FLUSH_CACHE_COLOR | VIVS_GL_FLUSH_CACHE_DEPTH);
etna_stall(ctx->stream, SYNC_RECIPIENT_RA, SYNC_RECIPIENT_PE);
+
+ if (src->levels[blit_info->src.level].ts_size &&
+ src->levels[blit_info->src.level].ts_valid)
+ etna_set_state(ctx->stream, VIVS_TS_FLUSH_CACHE, VIVS_TS_FLUSH_CACHE_FLUSH);
}
/* Set up color TS to source surface before blit, if needed */
More information about the mesa-commit
mailing list