From 065eeb79f706d10340044447cc5821e64063ea9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolai=20H=C3=A4hnle?= Date: Fri, 1 Jul 2016 11:37:59 +0200 Subject: [PATCH] radeonsi: correctly mark levels of 3D textures as fully decompressed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Account for the fact that max_layer is minified for higher levels. Reviewed-by: Marek Olšák --- src/gallium/drivers/radeonsi/si_blit.c | 4 ++-- 1 file 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); } }