r600g: there are 16 const buffer size regs for each shader stage
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 23 Oct 2012 15:58:54 +0000 (11:58 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 26 Oct 2012 13:32:55 +0000 (09:32 -0400)
we were previously only setting 8 of them.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
src/gallium/drivers/r600/evergreen_state.c

index 0d02d52b1d3bf142098ba58e708c4f2f559f9bdc..29e6822a4af5b61bc7c93e424af6d0d00f278a86 100644 (file)
@@ -3011,7 +3011,7 @@ void evergreen_init_atom_start_cs(struct r600_context *rctx)
        r600_store_context_reg(cb, R_0288A8_SQ_PGM_RESOURCES_FS, 0);
 
        /* to avoid GPU doing any preloading of constant from random address */
-       r600_store_context_reg_seq(cb, R_028140_ALU_CONST_BUFFER_SIZE_PS_0, 8);
+       r600_store_context_reg_seq(cb, R_028140_ALU_CONST_BUFFER_SIZE_PS_0, 16);
        r600_store_value(cb, 0); /* R_028140_ALU_CONST_BUFFER_SIZE_PS_0 */
        r600_store_value(cb, 0);
        r600_store_value(cb, 0);
@@ -3020,7 +3020,16 @@ void evergreen_init_atom_start_cs(struct r600_context *rctx)
        r600_store_value(cb, 0);
        r600_store_value(cb, 0);
        r600_store_value(cb, 0);
-       r600_store_context_reg_seq(cb, R_028180_ALU_CONST_BUFFER_SIZE_VS_0, 8);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+
+       r600_store_context_reg_seq(cb, R_028180_ALU_CONST_BUFFER_SIZE_VS_0, 16);
        r600_store_value(cb, 0); /* R_028180_ALU_CONST_BUFFER_SIZE_VS_0 */
        r600_store_value(cb, 0);
        r600_store_value(cb, 0);
@@ -3029,6 +3038,14 @@ void evergreen_init_atom_start_cs(struct r600_context *rctx)
        r600_store_value(cb, 0);
        r600_store_value(cb, 0);
        r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
+       r600_store_value(cb, 0);
 
        r600_store_context_reg_seq(cb, R_028B94_VGT_STRMOUT_CONFIG, 2);
        r600_store_value(cb, 0); /* R_028B94_VGT_STRMOUT_CONFIG */