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:
@@ -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 {
|
||||||
|
@@ -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 {
|
||||||
|
@@ -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 */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
|
||||||
|
@@ -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);
|
||||||
|
Reference in New Issue
Block a user