summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2016-04-22 16:59:17 -0500
committerNicolai Hähnle <[email protected]>2016-04-27 11:16:40 -0500
commit7a215a3e274e7c793ab9c015004f5323cf85a50c (patch)
tree3439ecdc118dcdb281cd4ccdc4f19874a33019cb
parent01a3bb5d8bcdbcf5b27fadc6299c2d768c5c888a (diff)
radeonsi: expclear must be disabled on first Z/S clear
The documentation and the HW team say so. 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 b87275d8646..6fa5b975d9d 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;
}