Mesa (master): radeonsi: expclear must be disabled on first Z/S clear

Nicolai Hähnle nh at kemper.freedesktop.org
Wed Apr 27 16:16:55 UTC 2016


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

Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Apr 22 16:59:17 2016 -0500

radeonsi: expclear must be disabled on first Z/S clear

The documentation and the HW team say so.

Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 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 b87275d..6fa5b97 100644
--- a/src/gallium/drivers/radeonsi/si_blit.c
+++ b/src/gallium/drivers/radeonsi/si_blit.c
@@ -497,7 +497,7 @@ static void si_clear(struct pipe_context *ctx, unsigned buffers,
 		if (buffers & PIPE_CLEAR_DEPTH) {
 			/* Need to disable EXPCLEAR temporarily if clearing
 			 * to a new value. */
-			if (zstex->depth_cleared && zstex->depth_clear_value != depth) {
+			if (!zstex->depth_cleared || zstex->depth_clear_value != depth) {
 				sctx->db_depth_disable_expclear = true;
 			}
 
@@ -513,7 +513,7 @@ static void si_clear(struct pipe_context *ctx, unsigned buffers,
 
 			/* Need to disable EXPCLEAR temporarily if clearing
 			 * to a new value. */
-			if (zstex->stencil_cleared && zstex->stencil_clear_value != stencil) {
+			if (!zstex->stencil_cleared || zstex->stencil_clear_value != stencil) {
 				sctx->db_stencil_disable_expclear = true;
 			}
 




More information about the mesa-commit mailing list