summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_state.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/r600/r600_state.c')
-rw-r--r--src/gallium/drivers/r600/r600_state.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c
index 1b7869c3e65..60c861fc8e0 100644
--- a/src/gallium/drivers/r600/r600_state.c
+++ b/src/gallium/drivers/r600/r600_state.c
@@ -1456,6 +1456,11 @@ static void r600_set_framebuffer_state(struct pipe_context *ctx,
if (rctx->framebuffer.state.nr_cbufs) {
rctx->flags |= R600_CONTEXT_CB_FLUSH;
+
+ if (rctx->chip_class >= R700 &&
+ rctx->framebuffer.state.cbufs[0]->texture->nr_samples > 1) {
+ rctx->flags |= R600_CONTEXT_FLUSH_AND_INV_CB_META;
+ }
}
if (rctx->framebuffer.state.zsbuf) {
rctx->flags |= R600_CONTEXT_DB_FLUSH;