diff options
author | Marek Olšák <[email protected]> | 2012-02-02 08:27:01 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2012-02-21 21:42:27 +0100 |
commit | 182fd4c54476ced92b61412b0cac5be32e257b53 (patch) | |
tree | 43a7c64157184e9293283c2a351ab5a590a2c79b /src/gallium/drivers/r600/evergreen_state.c | |
parent | f126253040654d52db134063a69ebaf0c417d410 (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.c | 14 |
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) |