summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2012-09-13 17:14:56 +0000
committerTom Stellard <thomas.stellard@amd.com>2012-09-19 14:58:53 -0400
commit9db64530bbb7b584bce9ac2153035b0939f06681 (patch)
tree62b31283bae8101edbb371fb192847ed4d15986a
parent69d814885bbb274d3223f44c421293e7591f51c0 (diff)
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@gmail.com>
-rw-r--r--src/gallium/drivers/r600/evergreen_state.c4
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 816e7df4145..f244e8a5cad 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);
}