Mesa (master): r600g: Make sure to initialize DB_DEPTH_CONTROL register for compute

Tom Stellard tstellar at kemper.freedesktop.org
Wed Sep 19 21:06:33 UTC 2012


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

Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Thu Sep 13 17:14:56 2012 +0000

r600g: Make sure to initialize DB_DEPTH_CONTROL register for compute

The kernel CS checker will fail if this register is not initialized.

Reviewed-by: Marek Olšák <maraeo at gmail.com>

---

 src/gallium/drivers/r600/evergreen_state.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

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




More information about the mesa-commit mailing list