[Mesa-dev] [PATCH 2/5] r600g: Make sure to initialize DB_DEPTH_CONTROL register for compute

Tom Stellard tom at stellard.net
Mon Sep 17 14:08:57 PDT 2012


From: Tom Stellard <thomas.stellard at amd.com>

The kernel CS checker will fail if this register is not initialized.
---
 src/gallium/drivers/r600/evergreen_state.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index 816e7df..f244e8a 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -2523,6 +2523,9 @@ void evergreen_init_common_regs(struct r600_command_buffer *cb,
 	r600_store_value(cb, 0); /* R_028AC4_DB_SRESULTS_COMPARE_STATE1 */
 	r600_store_value(cb, 0); /* R_028AC8_DB_PRELOAD_CONTROL */
 
+	/* The cs checker requires this register to be set. */
+	r600_store_context_reg(cb, R_028800_DB_DEPTH_CONTROL, 0);
+
 	r600_store_context_reg(cb, R_028848_SQ_PGM_RESOURCES_2_PS, S_028848_SINGLE_ROUND(V_SQ_ROUND_NEAREST_EVEN));
 	r600_store_context_reg(cb, R_028864_SQ_PGM_RESOURCES_2_VS, S_028864_SINGLE_ROUND(V_SQ_ROUND_NEAREST_EVEN));
 
@@ -2863,7 +2866,6 @@ void evergreen_init_atom_start_cs(struct r600_context *rctx)
 
 	r600_store_context_reg(cb, R_0288A8_SQ_PGM_RESOURCES_FS, 0);
 
-	r600_store_context_reg(cb, R_028800_DB_DEPTH_CONTROL, 0);
 	if (rctx->screen->has_streamout) {
 		r600_store_context_reg(cb, R_028B28_VGT_STRMOUT_DRAW_OPAQUE_OFFSET, 0);
 	}
-- 
1.7.11.4



More information about the mesa-dev mailing list