summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_pm4.c
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2014-07-09 04:00:53 +0200
committerMarek Olšák <marek.olsak@amd.com>2014-07-18 01:58:59 +0200
commit0ed0bf06961677906c7e2c5250935148dcd9e860 (patch)
treed8281bb370825838659a8d8b4db0d27c1c0706d6 /src/gallium/drivers/radeonsi/si_pm4.c
parent1635ded8287377836b2cc7c8466cb3b3c2c658f4 (diff)
downloadexternal_mesa3d-0ed0bf06961677906c7e2c5250935148dcd9e860.zip
external_mesa3d-0ed0bf06961677906c7e2c5250935148dcd9e860.tar.gz
external_mesa3d-0ed0bf06961677906c7e2c5250935148dcd9e860.tar.bz2
radeonsi: move vertex buffer descriptors from IB to memory
This removes the intermediate storage (pm4 state) and generates descriptors directly in a staging buffer. It also reduces the number of flushes, because the descriptors no longer take CS space. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_pm4.c')
-rw-r--r--src/gallium/drivers/radeonsi/si_pm4.c31
1 files changed, 0 insertions, 31 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pm4.c b/src/gallium/drivers/radeonsi/si_pm4.c
index 082da85..705b226 100644
--- a/src/gallium/drivers/radeonsi/si_pm4.c
+++ b/src/gallium/drivers/radeonsi/si_pm4.c
@@ -103,37 +103,6 @@ void si_pm4_add_bo(struct si_pm4_state *state,
state->bo_priority[idx] = priority;
}
-void si_pm4_sh_data_begin(struct si_pm4_state *state)
-{
- si_pm4_cmd_begin(state, PKT3_NOP);
-}
-
-void si_pm4_sh_data_add(struct si_pm4_state *state, uint32_t dw)
-{
- si_pm4_cmd_add(state, dw);
-}
-
-void si_pm4_sh_data_end(struct si_pm4_state *state, unsigned base, unsigned idx)
-{
- unsigned offs = state->last_pm4 + 1;
- unsigned reg = base + idx * 4;
-
- /* Bail if no data was added */
- if (state->ndw == offs) {
- state->ndw--;
- return;
- }
-
- si_pm4_cmd_end(state, false);
-
- si_pm4_cmd_begin(state, PKT3_SET_SH_REG_OFFSET);
- si_pm4_cmd_add(state, (reg - SI_SH_REG_OFFSET) >> 2);
- state->relocs[state->nrelocs++] = state->ndw;
- si_pm4_cmd_add(state, offs << 2);
- si_pm4_cmd_add(state, 0);
- si_pm4_cmd_end(state, false);
-}
-
void si_pm4_inval_shader_cache(struct si_pm4_state *state)
{
state->cp_coher_cntl |= S_0085F0_SH_ICACHE_ACTION_ENA(1);