diff options
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.c | 6 |
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; |