Mesa (master): radeonsi: don' t mark non-dirty textures with CMASK as compressed

Marek Olšák mareko at kemper.freedesktop.org
Sun Apr 16 23:30:59 UTC 2017


Module: Mesa
Branch: master
Commit: bdd6449769527f55d7cba3443da08ae03448de34
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bdd6449769527f55d7cba3443da08ae03448de34

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Apr  7 12:36:59 2017 +0200

radeonsi: don't mark non-dirty textures with CMASK as compressed

because the compression is skipped with non-dirty textures.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/gallium/drivers/radeonsi/si_descriptors.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c
index 2f6f8eb57e..971aa43c43 100644
--- a/src/gallium/drivers/radeonsi/si_descriptors.c
+++ b/src/gallium/drivers/radeonsi/si_descriptors.c
@@ -555,8 +555,9 @@ static void si_set_sampler_view(struct si_context *sctx,
 
 static bool is_compressed_colortex(struct r600_texture *rtex)
 {
-	return rtex->cmask.size || rtex->fmask.size ||
-	       (rtex->dcc_offset && rtex->dirty_level_mask);
+	return rtex->fmask.size ||
+	       (rtex->dirty_level_mask &&
+		(rtex->cmask.size || rtex->dcc_offset));
 }
 
 static bool depth_needs_decompression(struct r600_texture *rtex,




More information about the mesa-commit mailing list