mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
radeonsi: clean up small duplication in si_shader_gs
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
eb0d3e8a90
commit
3ab0c49f04
2 changed files with 8 additions and 6 deletions
|
|
@ -205,7 +205,8 @@ struct si_shader_selector {
|
|||
unsigned gs_output_prim;
|
||||
unsigned gs_max_out_vertices;
|
||||
unsigned gs_num_invocations;
|
||||
unsigned gsvs_itemsize;
|
||||
unsigned gsvs_vertex_size;
|
||||
unsigned max_gsvs_emit_size;
|
||||
|
||||
/* masks of "get_unique_index" bits */
|
||||
uint64_t inputs_read;
|
||||
|
|
|
|||
|
|
@ -226,9 +226,9 @@ static unsigned si_gs_get_max_stream(struct si_shader *shader)
|
|||
|
||||
static void si_shader_gs(struct si_shader *shader)
|
||||
{
|
||||
unsigned gs_vert_itemsize = shader->selector->info.num_outputs * 16;
|
||||
unsigned gs_vert_itemsize = shader->selector->gsvs_vertex_size;
|
||||
unsigned gs_max_vert_out = shader->selector->gs_max_out_vertices;
|
||||
unsigned gsvs_itemsize = (gs_vert_itemsize * gs_max_vert_out) >> 2;
|
||||
unsigned gsvs_itemsize = shader->selector->max_gsvs_emit_size >> 2;
|
||||
unsigned gs_num_invocations = shader->selector->gs_num_invocations;
|
||||
unsigned cut_mode;
|
||||
struct si_pm4_state *pm4;
|
||||
|
|
@ -713,8 +713,9 @@ static void *si_create_shader_selector(struct pipe_context *ctx,
|
|||
sel->info.properties[TGSI_PROPERTY_GS_MAX_OUTPUT_VERTICES];
|
||||
sel->gs_num_invocations =
|
||||
sel->info.properties[TGSI_PROPERTY_GS_INVOCATIONS];
|
||||
sel->gsvs_itemsize = sel->info.num_outputs * 16 *
|
||||
sel->gs_max_out_vertices;
|
||||
sel->gsvs_vertex_size = sel->info.num_outputs * 16;
|
||||
sel->max_gsvs_emit_size = sel->gsvs_vertex_size *
|
||||
sel->gs_max_out_vertices;
|
||||
|
||||
for (i = 0; i < sel->info.num_inputs; i++) {
|
||||
unsigned name = sel->info.input_semantic_name[i];
|
||||
|
|
@ -1144,7 +1145,7 @@ static void si_init_gs_rings(struct si_context *sctx)
|
|||
|
||||
static void si_update_gs_rings(struct si_context *sctx)
|
||||
{
|
||||
unsigned gsvs_itemsize = sctx->gs_shader.cso->gsvs_itemsize;
|
||||
unsigned gsvs_itemsize = sctx->gs_shader.cso->max_gsvs_emit_size;
|
||||
uint64_t offset;
|
||||
|
||||
if (gsvs_itemsize == sctx->last_gsvs_itemsize)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue