summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2016-07-01 11:37:59 +0200
committerNicolai Hähnle <[email protected]>2016-07-06 10:42:49 +0200
commit065eeb79f706d10340044447cc5821e64063ea9e (patch)
tree46ff66fe5e77f9af67d8a3687a5ae81252ad003f
parent19f8d2a843dc4b3b40b5b85371007e8ecc83186d (diff)
radeonsi: correctly mark levels of 3D textures as fully decompressed
Account for the fact that max_layer is minified for higher levels. Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r--src/gallium/drivers/radeonsi/si_blit.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_blit.c b/src/gallium/drivers/radeonsi/si_blit.c
index a48c5bc19e1..114878738ba 100644
--- a/src/gallium/drivers/radeonsi/si_blit.c
+++ b/src/gallium/drivers/radeonsi/si_blit.c
@@ -214,7 +214,7 @@ si_blit_decompress_zs_planes_in_place(struct si_context *sctx,
/* The texture will always be dirty if some layers aren't flushed.
* I don't think this case occurs often though. */
- if (first_layer == 0 && last_layer == max_layer) {
+ if (first_layer == 0 && last_layer >= max_layer) {
fully_decompressed_mask |= 1u << level;
}
}
@@ -361,7 +361,7 @@ static void si_blit_decompress_color(struct pipe_context *ctx,
/* The texture will always be dirty if some layers aren't flushed.
* I don't think this case occurs often though. */
- if (first_layer == 0 && last_layer == max_layer) {
+ if (first_layer == 0 && last_layer >= max_layer) {
rtex->dirty_level_mask &= ~(1 << level);
}
}