[Mesa-dev] [PATCH 1/3] radeonsi: return Z_INVALID if the Z buffer is invalid

alexdeucher at gmail.com alexdeucher at gmail.com
Wed Nov 14 11:14:41 PST 2012


From: Alex Deucher <alexander.deucher at amd.com>

setting the DB format to Z_INVALID disables the depth buffer.

Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
---
 src/gallium/drivers/radeonsi/si_state.c |   10 +++-------
 1 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index e7a4005..1f76788 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -1109,7 +1109,7 @@ static uint32_t si_translate_dbformat(enum pipe_format format)
 	case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT:
 		return V_028040_Z_32_FLOAT;
 	default:
-		return ~0U;
+		return V_028040_Z_INVALID;
 	}
 }
 
@@ -1438,7 +1438,7 @@ static bool si_is_colorbuffer_format_supported(enum pipe_format format)
 
 static bool si_is_zs_format_supported(enum pipe_format format)
 {
-	return si_translate_dbformat(format) != ~0U;
+	return si_translate_dbformat(format) != V_028040_Z_INVALID;
 }
 
 boolean si_is_format_supported(struct pipe_screen *screen,
@@ -1739,12 +1739,8 @@ static void si_db(struct r600_context *rctx, struct si_pm4_state *pm4,
 		       S_028008_SLICE_MAX(state->zsbuf->u.tex.last_layer));
 
 	si_pm4_set_reg(pm4, R_02803C_DB_DEPTH_INFO, 0x1);
-	if (format != ~0U) {
-		si_pm4_set_reg(pm4, R_028040_DB_Z_INFO, z_info);
 
-	} else {
-		si_pm4_set_reg(pm4, R_028040_DB_Z_INFO, 0);
-	}
+	si_pm4_set_reg(pm4, R_028040_DB_Z_INFO, z_info);
 
 	if (rtex->surface.flags & RADEON_SURF_SBUFFER) {
 		si_pm4_set_reg(pm4, R_028044_DB_STENCIL_INFO, s_info);
-- 
1.7.7.5



More information about the mesa-dev mailing list