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@amd.com>
This commit is contained in:
Nicolai Hähnle
2016-04-22 16:59:17 -05:00
parent 01a3bb5d8b
commit 7a215a3e27

View File

@@ -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;
}