diff options
author | Marek Olšák <[email protected]> | 2012-10-29 13:18:03 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2012-10-31 02:06:11 +0100 |
commit | 91107a3522459488491007c360f53c7b5020b857 (patch) | |
tree | 39b2aa92a5570a21801b19ce93941d7bea0762c3 /src | |
parent | d6600f9d390f2d37e2f680376d559e5d547c80eb (diff) |
r600g: use SQ_VTX_SEMANTIC_CLEAR to clear the semantic registers
Reviewed-by: Alex Deucher <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/r600/evergreen_state.c | 72 | ||||
-rw-r--r-- | src/gallium/drivers/r600/evergreend.h | 1 | ||||
-rw-r--r-- | src/gallium/drivers/r600/r600_state.c | 36 | ||||
-rw-r--r-- | src/gallium/drivers/r600/r600d.h | 1 |
4 files changed, 11 insertions, 99 deletions
diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index ab9a7a58603..cf3c60fbfc1 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -2533,39 +2533,9 @@ static void cayman_init_atom_start_cs(struct r600_context *rctx) r600_store_value(cb, 0); /* CM_R_0288E8_SQ_LDS_ALLOC */ r600_store_value(cb, 0); /* R_0288EC_SQ_LDS_ALLOC_PS */ - 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_context_reg(cb, R_0288F0_SQ_VTX_SEMANTIC_CLEAR, ~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 */ @@ -3011,39 +2981,9 @@ 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, 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_context_reg(cb, R_0288F0_SQ_VTX_SEMANTIC_CLEAR, ~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 */ diff --git a/src/gallium/drivers/r600/evergreend.h b/src/gallium/drivers/r600/evergreend.h index edb1a55dc8a..05206912374 100644 --- a/src/gallium/drivers/r600/evergreend.h +++ b/src/gallium/drivers/r600/evergreend.h @@ -1709,6 +1709,7 @@ #define R_0283F4_SQ_VTX_SEMANTIC_29 0x000283F4 #define R_0283F8_SQ_VTX_SEMANTIC_30 0x000283F8 #define R_0283FC_SQ_VTX_SEMANTIC_31 0x000283FC +#define R_0288F0_SQ_VTX_SEMANTIC_CLEAR 0x000288F0 #define R_0282D0_PA_SC_VPORT_ZMIN_0 0x000282D0 #define R_0282D4_PA_SC_VPORT_ZMAX_0 0x000282D4 #define R_028400_VGT_MAX_VTX_INDX 0x00028400 diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c index 607a89e30aa..f3af5687258 100644 --- a/src/gallium/drivers/r600/r600_state.c +++ b/src/gallium/drivers/r600/r600_state.c @@ -2549,39 +2549,9 @@ 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_context_reg(cb, R_0288E0_SQ_VTX_SEMANTIC_CLEAR, ~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 */ diff --git a/src/gallium/drivers/r600/r600d.h b/src/gallium/drivers/r600/r600d.h index 8cb5fea06dc..78fa6b689ec 100644 --- a/src/gallium/drivers/r600/r600d.h +++ b/src/gallium/drivers/r600/r600d.h @@ -2823,6 +2823,7 @@ #define R_0283F4_SQ_VTX_SEMANTIC_29 0x0283F4 #define R_0283F8_SQ_VTX_SEMANTIC_30 0x0283F8 #define R_0283FC_SQ_VTX_SEMANTIC_31 0x0283FC +#define R_0288E0_SQ_VTX_SEMANTIC_CLEAR 0x0288E0 #define R_028400_VGT_MAX_VTX_INDX 0x028400 #define S_028400_MAX_INDX(x) (((x) & 0xFFFFFFFF) << 0) #define G_028400_MAX_INDX(x) (((x) >> 0) & 0xFFFFFFFF) |