summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_state.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2014-12-29 01:25:48 +0100
committerMarek Olšák <[email protected]>2015-01-07 12:06:43 +0100
commita1bbccf5214f95d8e23d6da88f51aae6032cbfe9 (patch)
treeeac9272e81a1c59399cdce998f2d89a623234c08 /src/gallium/drivers/radeonsi/si_state.c
parentca9c5b2be5ed6aa34032264432bb5465d37641ed (diff)
radeonsi: change TC cache flushing strategy for textures
Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.c')
-rw-r--r--src/gallium/drivers/radeonsi/si_state.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 4b146b5c86d..9e1b3cd6577 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2004,6 +2004,12 @@ static void si_set_framebuffer_state(struct pipe_context *ctx,
SI_CONTEXT_FLUSH_AND_INV_DB_META;
}
+ /* Only flush TC when changing the framebuffer state, because
+ * the only client not using TC that can change textures is
+ * the framebuffer. */
+ sctx->b.flags |= SI_CONTEXT_INV_TC_L1 |
+ SI_CONTEXT_INV_TC_L2;
+
util_copy_framebuffer_state(&sctx->framebuffer.state, state);
sctx->framebuffer.export_16bpc = 0;