r600g: add winsys support for CTL constants.
[mesa.git] / src / gallium / winsys / r600 / drm / r600_hw_context.c
index 53783e8f507878adb0936281f7464400861ff32f..88a86d2cf28b3aaa6f35b44f4f99fbb93ae9a6da 100644 (file)
@@ -134,6 +134,11 @@ static const struct r600_reg r600_config_reg_list[] = {
        {PKT3_SET_CONFIG_REG, R600_CONFIG_REG_OFFSET, R_009838_DB_WATERMARKS, 0, 0},
 };
 
+static const struct r600_reg r600_ctl_const_list[] = {
+       {PKT3_SET_CTL_CONST, R600_CTL_CONST_OFFSET, R_03CFF0_SQ_VTX_BASE_VTX_LOC, 0, 0},
+       {PKT3_SET_CTL_CONST, R600_CTL_CONST_OFFSET, R_03CFF4_SQ_VTX_START_INST_LOC, 0, 0},
+};
+
 static const struct r600_reg r600_context_reg_list[] = {
        {PKT3_SET_CONTEXT_REG, R600_CONTEXT_REG_OFFSET, R_028350_SX_MISC, 0, 0},
        {PKT3_SET_CONTEXT_REG, R600_CONTEXT_REG_OFFSET, R_0286C8_SPI_THREAD_GROUPING, 0, 0},
@@ -591,6 +596,10 @@ int r600_context_init(struct r600_context *ctx, struct radeon *radeon)
                                   Elements(r600_context_reg_list));
        if (r)
                goto out_err;
+       r = r600_context_add_block(ctx, r600_ctl_const_list,
+                                  Elements(r600_ctl_const_list));
+       if (r)
+               goto out_err;
 
        /* PS SAMPLER BORDER */
        for (int j = 0, offset = 0; j < 18; j++, offset += 0x10) {