diff options
author | Marek Olšák <[email protected]> | 2016-06-03 20:51:47 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2016-06-08 00:22:45 +0200 |
commit | 2fd74a05bb1a53f2edbc2df3f7e77f84c630ac5f (patch) | |
tree | 7e82886887b2c78ff31e26d9af1d982733a099cc /src | |
parent | aa7fe7044328039903993dde6edb32b7953ae9b0 (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]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_descriptors.c | 6 |
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; |