gallium/radeon: mark shader rings as highest-priority buffers

and rename the enum

Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
Marek Olšák
2016-08-11 22:00:49 +02:00
parent e2bb24f213
commit 95020c6dfd
5 changed files with 7 additions and 7 deletions

View File

@@ -2280,7 +2280,7 @@ static void evergreen_emit_gs_rings(struct r600_context *rctx, struct r600_atom
radeon_emit(cs, PKT3(PKT3_NOP, 0, 0)); radeon_emit(cs, PKT3(PKT3_NOP, 0, 0));
radeon_emit(cs, radeon_add_to_buffer_list(&rctx->b, &rctx->b.gfx, rbuffer, radeon_emit(cs, radeon_add_to_buffer_list(&rctx->b, &rctx->b.gfx, rbuffer,
RADEON_USAGE_READWRITE, RADEON_USAGE_READWRITE,
RADEON_PRIO_RINGS_STREAMOUT)); RADEON_PRIO_SHADER_RINGS));
radeon_set_config_reg(cs, R_008C44_SQ_ESGS_RING_SIZE, radeon_set_config_reg(cs, R_008C44_SQ_ESGS_RING_SIZE,
state->esgs_ring.buffer_size >> 8); state->esgs_ring.buffer_size >> 8);
@@ -2290,7 +2290,7 @@ static void evergreen_emit_gs_rings(struct r600_context *rctx, struct r600_atom
radeon_emit(cs, PKT3(PKT3_NOP, 0, 0)); radeon_emit(cs, PKT3(PKT3_NOP, 0, 0));
radeon_emit(cs, radeon_add_to_buffer_list(&rctx->b, &rctx->b.gfx, rbuffer, radeon_emit(cs, radeon_add_to_buffer_list(&rctx->b, &rctx->b.gfx, rbuffer,
RADEON_USAGE_READWRITE, RADEON_USAGE_READWRITE,
RADEON_PRIO_RINGS_STREAMOUT)); RADEON_PRIO_SHADER_RINGS));
radeon_set_config_reg(cs, R_008C4C_SQ_GSVS_RING_SIZE, radeon_set_config_reg(cs, R_008C4C_SQ_GSVS_RING_SIZE,
state->gsvs_ring.buffer_size >> 8); state->gsvs_ring.buffer_size >> 8);
} else { } else {

View File

@@ -1963,7 +1963,7 @@ static void r600_emit_gs_rings(struct r600_context *rctx, struct r600_atom *a)
radeon_emit(cs, PKT3(PKT3_NOP, 0, 0)); radeon_emit(cs, PKT3(PKT3_NOP, 0, 0));
radeon_emit(cs, radeon_add_to_buffer_list(&rctx->b, &rctx->b.gfx, rbuffer, radeon_emit(cs, radeon_add_to_buffer_list(&rctx->b, &rctx->b.gfx, rbuffer,
RADEON_USAGE_READWRITE, RADEON_USAGE_READWRITE,
RADEON_PRIO_RINGS_STREAMOUT)); RADEON_PRIO_SHADER_RINGS));
radeon_set_config_reg(cs, R_008C44_SQ_ESGS_RING_SIZE, radeon_set_config_reg(cs, R_008C44_SQ_ESGS_RING_SIZE,
state->esgs_ring.buffer_size >> 8); state->esgs_ring.buffer_size >> 8);
@@ -1972,7 +1972,7 @@ static void r600_emit_gs_rings(struct r600_context *rctx, struct r600_atom *a)
radeon_emit(cs, PKT3(PKT3_NOP, 0, 0)); radeon_emit(cs, PKT3(PKT3_NOP, 0, 0));
radeon_emit(cs, radeon_add_to_buffer_list(&rctx->b, &rctx->b.gfx, rbuffer, radeon_emit(cs, radeon_add_to_buffer_list(&rctx->b, &rctx->b.gfx, rbuffer,
RADEON_USAGE_READWRITE, RADEON_USAGE_READWRITE,
RADEON_PRIO_RINGS_STREAMOUT)); RADEON_PRIO_SHADER_RINGS));
radeon_set_config_reg(cs, R_008C4C_SQ_GSVS_RING_SIZE, radeon_set_config_reg(cs, R_008C4C_SQ_GSVS_RING_SIZE,
state->gsvs_ring.buffer_size >> 8); state->gsvs_ring.buffer_size >> 8);
} else { } else {

View File

@@ -200,7 +200,6 @@ enum radeon_bo_priority {
RADEON_PRIO_VERTEX_BUFFER, RADEON_PRIO_VERTEX_BUFFER,
RADEON_PRIO_SHADER_RW_BUFFER = 32, RADEON_PRIO_SHADER_RW_BUFFER = 32,
RADEON_PRIO_RINGS_STREAMOUT,
RADEON_PRIO_SCRATCH_BUFFER, RADEON_PRIO_SCRATCH_BUFFER,
RADEON_PRIO_COMPUTE_GLOBAL, RADEON_PRIO_COMPUTE_GLOBAL,
@@ -220,6 +219,7 @@ enum radeon_bo_priority {
RADEON_PRIO_CMASK = 60, RADEON_PRIO_CMASK = 60,
RADEON_PRIO_DCC, RADEON_PRIO_DCC,
RADEON_PRIO_HTILE, RADEON_PRIO_HTILE,
RADEON_PRIO_SHADER_RINGS,
/* 63 is the maximum value */ /* 63 is the maximum value */
}; };

View File

@@ -561,7 +561,6 @@ static const char *priority_to_string(enum radeon_bo_priority priority)
ITEM(SAMPLER_BUFFER), ITEM(SAMPLER_BUFFER),
ITEM(VERTEX_BUFFER), ITEM(VERTEX_BUFFER),
ITEM(SHADER_RW_BUFFER), ITEM(SHADER_RW_BUFFER),
ITEM(RINGS_STREAMOUT),
ITEM(SCRATCH_BUFFER), ITEM(SCRATCH_BUFFER),
ITEM(COMPUTE_GLOBAL), ITEM(COMPUTE_GLOBAL),
ITEM(SAMPLER_TEXTURE), ITEM(SAMPLER_TEXTURE),
@@ -574,6 +573,7 @@ static const char *priority_to_string(enum radeon_bo_priority priority)
ITEM(CMASK), ITEM(CMASK),
ITEM(DCC), ITEM(DCC),
ITEM(HTILE), ITEM(HTILE),
ITEM(SHADER_RINGS),
}; };
#undef ITEM #undef ITEM

View File

@@ -1772,7 +1772,7 @@ void si_init_all_descriptors(struct si_context *sctx)
si_init_buffer_resources(&sctx->rw_buffers, si_init_buffer_resources(&sctx->rw_buffers,
&sctx->descriptors[SI_DESCS_RW_BUFFERS], &sctx->descriptors[SI_DESCS_RW_BUFFERS],
SI_NUM_RW_BUFFERS, SI_SGPR_RW_BUFFERS, SI_NUM_RW_BUFFERS, SI_SGPR_RW_BUFFERS,
RADEON_USAGE_READWRITE, RADEON_PRIO_RINGS_STREAMOUT, RADEON_USAGE_READWRITE, RADEON_PRIO_SHADER_RINGS,
&ce_offset); &ce_offset);
si_init_descriptors(&sctx->vertex_buffers, SI_SGPR_VERTEX_BUFFERS, si_init_descriptors(&sctx->vertex_buffers, SI_SGPR_VERTEX_BUFFERS,
4, SI_NUM_VERTEX_BUFFERS, NULL, NULL); 4, SI_NUM_VERTEX_BUFFERS, NULL, NULL);