summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/evergreen_state.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2012-02-02 08:27:01 +0100
committerMarek Olšák <[email protected]>2012-02-21 21:42:27 +0100
commit182fd4c54476ced92b61412b0cac5be32e257b53 (patch)
tree43a7c64157184e9293283c2a351ab5a590a2c79b /src/gallium/drivers/r600/evergreen_state.c
parentf126253040654d52db134063a69ebaf0c417d410 (diff)
r600g: move all invariant state from draw_vbo into start_cs
Diffstat (limited to 'src/gallium/drivers/r600/evergreen_state.c')
-rw-r--r--src/gallium/drivers/r600/evergreen_state.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index 2155fa0eac9..3667aba5af8 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -1864,7 +1864,7 @@ static void cayman_init_atom_start_cs(struct r600_context *rctx)
r600_store_context_reg(cb, CM_R_028804_DB_EQAA, 0x110000);
- r600_store_context_reg_seq(cb, R_028380_SQ_VTX_SEMANTIC_0, 32);
+ 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);
@@ -1897,6 +1897,10 @@ static void cayman_init_atom_start_cs(struct r600_context *rctx)
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_ctl_const(cb, R_03CFF0_SQ_VTX_BASE_VTX_LOC, 0);
}
void evergreen_init_atom_start_cs(struct r600_context *rctx)
@@ -2291,7 +2295,7 @@ void evergreen_init_atom_start_cs(struct r600_context *rctx)
r600_store_config_reg(cb, R_008A14_PA_CL_ENHANCE, (3 << 1) | 1);
- r600_store_context_reg_seq(cb, R_028380_SQ_VTX_SEMANTIC_0, 32);
+ 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);
@@ -2323,7 +2327,11 @@ 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); /* R_028380_SQ_VTX_SEMANTIC_31 */
+ 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_ctl_const(cb, R_03CFF0_SQ_VTX_BASE_VTX_LOC, 0);
}
void evergreen_polygon_offset_update(struct r600_context *rctx)