r600g: initialize SQ_VTX_SEMANTIC_* in the start_cs command buffer
authorMarek Olšák <maraeo@gmail.com>
Fri, 5 Oct 2012 03:50:30 +0000 (05:50 +0200)
committerMarek Olšák <maraeo@gmail.com>
Tue, 9 Oct 2012 22:16:49 +0000 (00:16 +0200)
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
src/gallium/drivers/r600/r600_hw_context.c
src/gallium/drivers/r600/r600_state.c

index db641596461e1a3bf97777ea9e2772f9936fcc32..247f804f6c74f7056bede89dfc5f7a9ef276a7cf 100644 (file)
@@ -233,38 +233,6 @@ static const struct r600_reg r600_context_reg_list[] = {
        {R_028C08_PA_SU_VTX_CNTL, 0, 0},
        {R_028DFC_PA_SU_POLY_OFFSET_CLAMP, 0, 0},
        {R_028350_SX_MISC, 0, 0},
-       {R_028380_SQ_VTX_SEMANTIC_0, 0, 0},
-       {R_028384_SQ_VTX_SEMANTIC_1, 0, 0},
-       {R_028388_SQ_VTX_SEMANTIC_2, 0, 0},
-       {R_02838C_SQ_VTX_SEMANTIC_3, 0, 0},
-       {R_028390_SQ_VTX_SEMANTIC_4, 0, 0},
-       {R_028394_SQ_VTX_SEMANTIC_5, 0, 0},
-       {R_028398_SQ_VTX_SEMANTIC_6, 0, 0},
-       {R_02839C_SQ_VTX_SEMANTIC_7, 0, 0},
-       {R_0283A0_SQ_VTX_SEMANTIC_8, 0, 0},
-       {R_0283A4_SQ_VTX_SEMANTIC_9, 0, 0},
-       {R_0283A8_SQ_VTX_SEMANTIC_10, 0, 0},
-       {R_0283AC_SQ_VTX_SEMANTIC_11, 0, 0},
-       {R_0283B0_SQ_VTX_SEMANTIC_12, 0, 0},
-       {R_0283B4_SQ_VTX_SEMANTIC_13, 0, 0},
-       {R_0283B8_SQ_VTX_SEMANTIC_14, 0, 0},
-       {R_0283BC_SQ_VTX_SEMANTIC_15, 0, 0},
-       {R_0283C0_SQ_VTX_SEMANTIC_16, 0, 0},
-       {R_0283C4_SQ_VTX_SEMANTIC_17, 0, 0},
-       {R_0283C8_SQ_VTX_SEMANTIC_18, 0, 0},
-       {R_0283CC_SQ_VTX_SEMANTIC_19, 0, 0},
-       {R_0283D0_SQ_VTX_SEMANTIC_20, 0, 0},
-       {R_0283D4_SQ_VTX_SEMANTIC_21, 0, 0},
-       {R_0283D8_SQ_VTX_SEMANTIC_22, 0, 0},
-       {R_0283DC_SQ_VTX_SEMANTIC_23, 0, 0},
-       {R_0283E0_SQ_VTX_SEMANTIC_24, 0, 0},
-       {R_0283E4_SQ_VTX_SEMANTIC_25, 0, 0},
-       {R_0283E8_SQ_VTX_SEMANTIC_26, 0, 0},
-       {R_0283EC_SQ_VTX_SEMANTIC_27, 0, 0},
-       {R_0283F0_SQ_VTX_SEMANTIC_28, 0, 0},
-       {R_0283F4_SQ_VTX_SEMANTIC_29, 0, 0},
-       {R_0283F8_SQ_VTX_SEMANTIC_30, 0, 0},
-       {R_0283FC_SQ_VTX_SEMANTIC_31, 0, 0},
        {R_028614_SPI_VS_OUT_ID_0, 0, 0},
        {R_028618_SPI_VS_OUT_ID_1, 0, 0},
        {R_02861C_SPI_VS_OUT_ID_2, 0, 0},
index b675d270f236a6e1d6ff5b2d716c15de311b9c34..76af2a7f5ddbe5f8df002bcc26151cd8a25e9b01 100644 (file)
@@ -2498,10 +2498,6 @@ void r600_init_atom_start_cs(struct r600_context *rctx)
 
        r600_store_context_reg(cb, R_028B20_VGT_STRMOUT_BUFFER_EN, 0);
 
-       r600_store_context_reg_seq(cb, R_028400_VGT_MAX_VTX_INDX, 2);
-       r600_store_value(cb, ~0); /* R_028400_VGT_MAX_VTX_INDX */
-       r600_store_value(cb, 0); /* R_028404_VGT_MIN_VTX_INDX */
-
        r600_store_ctl_const(cb, R_03CFF0_SQ_VTX_BASE_VTX_LOC, 0);
 
        r600_store_context_reg_seq(cb, R_028028_DB_STENCIL_CLEAR, 2);
@@ -2557,6 +2553,42 @@ void r600_init_atom_start_cs(struct r600_context *rctx)
        r600_store_value(cb, 0); /* R_0288CC_SQ_PGM_CF_OFFSET_PS */
        r600_store_value(cb, 0); /* R_0288D0_SQ_PGM_CF_OFFSET_VS */
 
+       r600_store_context_reg_seq(cb, R_028380_SQ_VTX_SEMANTIC_0, 34);
+       r600_store_value(cb, 0); /* R_028380_SQ_VTX_SEMANTIC_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_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_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); /* R_0283FC_SQ_VTX_SEMANTIC_31 */
+       r600_store_value(cb, ~0); /* R_028400_VGT_MAX_VTX_INDX */
+       r600_store_value(cb, 0); /* R_028404_VGT_MIN_VTX_INDX */
+
        r600_store_context_reg(cb, R_0288A4_SQ_PGM_RESOURCES_FS, 0);
        r600_store_context_reg(cb, R_0288DC_SQ_PGM_CF_OFFSET_FS, 0);