r600g: Make sure to initialize DB_DEPTH_CONTROL register for compute
authorTom Stellard <thomas.stellard@amd.com>
Thu, 13 Sep 2012 17:14:56 +0000 (17:14 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Wed, 19 Sep 2012 18:58:53 +0000 (14:58 -0400)
The kernel CS checker will fail if this register is not initialized.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
src/gallium/drivers/r600/evergreen_state.c

index 816e7df414577158e7841caabd612343af7bf0a5..f244e8a5cadc275ece78ab25b2053c7c9552b21c 100644 (file)
@@ -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);
        }