summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2016-06-03 20:51:47 +0200
committerMarek Olšák <[email protected]>2016-06-08 00:22:45 +0200
commit2fd74a05bb1a53f2edbc2df3f7e77f84c630ac5f (patch)
tree7e82886887b2c78ff31e26d9af1d982733a099cc
parentaa7fe7044328039903993dde6edb32b7953ae9b0 (diff)
radeonsi: don't flag renderbuffer feedback loop if DCC has just been disabled
Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
-rw-r--r--src/gallium/drivers/radeonsi/si_descriptors.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c
index b2c37135e95..e0c966666a1 100644
--- a/src/gallium/drivers/radeonsi/si_descriptors.c
+++ b/src/gallium/drivers/radeonsi/si_descriptors.c
@@ -606,7 +606,9 @@ static void si_set_shader_image(struct si_context *ctx,
* The decompression is relatively cheap if the surface
* has been decompressed already.
*/
- if (!r600_texture_disable_dcc(&screen->b, tex))
+ if (r600_texture_disable_dcc(&screen->b, tex))
+ uses_dcc = false;
+ else
ctx->b.decompress_dcc(&ctx->b.b, tex);
}
@@ -616,7 +618,7 @@ static void si_set_shader_image(struct si_context *ctx,
images->compressed_colortex_mask &= ~(1 << slot);
}
- if (tex->dcc_offset &&
+ if (uses_dcc &&
p_atomic_read(&tex->framebuffers_bound))
ctx->need_check_render_feedback = true;