diff options
author | Dave Airlie <airlied@redhat.com> | 2022-05-05 11:32:53 +1000 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2022-05-11 19:07:11 +0000 |
commit | a2701bfdb8ce6fdd2fbce9421480ed3bf8d167ef (patch) | |
tree | 44ef20e6e77a4cc171fe11423b1a8b3e5c0391a1 /src/amd/compiler/aco_instruction_selection_setup.cpp | |
parent | 29fbc88d6b37ebfa20ae78a6ccfb964b0e0c472c (diff) | |
download | mesa-a2701bfdb8ce6fdd2fbce9421480ed3bf8d167ef.tar.gz |
aco: move info pointer to a copy.
This is just setup to move this to a different struct later.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16342>
Diffstat (limited to 'src/amd/compiler/aco_instruction_selection_setup.cpp')
-rw-r--r-- | src/amd/compiler/aco_instruction_selection_setup.cpp | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/amd/compiler/aco_instruction_selection_setup.cpp b/src/amd/compiler/aco_instruction_selection_setup.cpp index e4f3572db70..dab56f32989 100644 --- a/src/amd/compiler/aco_instruction_selection_setup.cpp +++ b/src/amd/compiler/aco_instruction_selection_setup.cpp @@ -269,11 +269,11 @@ void setup_vs_variables(isel_context* ctx, nir_shader* nir) { if (ctx->stage == vertex_vs || ctx->stage == vertex_ngg) { - setup_vs_output_info(ctx, nir, &ctx->program->info->vs.outinfo); + setup_vs_output_info(ctx, nir, &ctx->program->info.vs.outinfo); /* TODO: NGG streamout */ if (ctx->stage.hw == HWStage::NGG) - assert(!ctx->program->info->so.num_outputs); + assert(!ctx->program->info.so.num_outputs); } if (ctx->stage == vertex_ngg) { @@ -289,9 +289,9 @@ setup_gs_variables(isel_context* ctx, nir_shader* nir) { if (ctx->stage == vertex_geometry_gs || ctx->stage == tess_eval_geometry_gs) { ctx->program->config->lds_size = - ctx->program->info->gs_ring_info.lds_size; /* Already in units of the alloc granularity */ + ctx->program->info.gs_ring_info.lds_size; /* Already in units of the alloc granularity */ } else if (ctx->stage == vertex_geometry_ngg || ctx->stage == tess_eval_geometry_ngg) { - setup_vs_output_info(ctx, nir, &ctx->program->info->vs.outinfo); + setup_vs_output_info(ctx, nir, &ctx->program->info.vs.outinfo); ctx->program->config->lds_size = DIV_ROUND_UP(nir->info.shared_size, ctx->program->dev.lds_encoding_granule); @@ -301,23 +301,23 @@ setup_gs_variables(isel_context* ctx, nir_shader* nir) void setup_tcs_info(isel_context* ctx, nir_shader* nir, nir_shader* vs) { - ctx->tcs_in_out_eq = ctx->program->info->vs.tcs_in_out_eq; - ctx->tcs_temp_only_inputs = ctx->program->info->vs.tcs_temp_only_input_mask; - ctx->tcs_num_patches = ctx->program->info->num_tess_patches; - ctx->program->config->lds_size = ctx->program->info->tcs.num_lds_blocks; + ctx->tcs_in_out_eq = ctx->program->info.vs.tcs_in_out_eq; + ctx->tcs_temp_only_inputs = ctx->program->info.vs.tcs_temp_only_input_mask; + ctx->tcs_num_patches = ctx->program->info.num_tess_patches; + ctx->program->config->lds_size = ctx->program->info.tcs.num_lds_blocks; } void setup_tes_variables(isel_context* ctx, nir_shader* nir) { - ctx->tcs_num_patches = ctx->program->info->num_tess_patches; + ctx->tcs_num_patches = ctx->program->info.num_tess_patches; if (ctx->stage == tess_eval_vs || ctx->stage == tess_eval_ngg) { - setup_vs_output_info(ctx, nir, &ctx->program->info->tes.outinfo); + setup_vs_output_info(ctx, nir, &ctx->program->info.tes.outinfo); /* TODO: NGG streamout */ if (ctx->stage.hw == HWStage::NGG) - assert(!ctx->program->info->so.num_outputs); + assert(!ctx->program->info.so.num_outputs); } if (ctx->stage == tess_eval_ngg) { @@ -331,7 +331,7 @@ setup_tes_variables(isel_context* ctx, nir_shader* nir) void setup_ms_variables(isel_context* ctx, nir_shader* nir) { - setup_vs_output_info(ctx, nir, &ctx->program->info->ms.outinfo); + setup_vs_output_info(ctx, nir, &ctx->program->info.ms.outinfo); ctx->program->config->lds_size = DIV_ROUND_UP(nir->info.shared_size, ctx->program->dev.lds_encoding_granule); @@ -403,9 +403,9 @@ init_context(isel_context* ctx, nir_shader* shader) ctx->range_ht = _mesa_pointer_hash_table_create(NULL); ctx->ub_config.min_subgroup_size = 64; ctx->ub_config.max_subgroup_size = 64; - if (ctx->shader->info.stage == MESA_SHADER_COMPUTE && ctx->program->info->cs.subgroup_size) { - ctx->ub_config.min_subgroup_size = ctx->program->info->cs.subgroup_size; - ctx->ub_config.max_subgroup_size = ctx->program->info->cs.subgroup_size; + if (ctx->shader->info.stage == MESA_SHADER_COMPUTE && ctx->program->info.cs.subgroup_size) { + ctx->ub_config.min_subgroup_size = ctx->program->info.cs.subgroup_size; + ctx->ub_config.max_subgroup_size = ctx->program->info.cs.subgroup_size; } ctx->ub_config.max_workgroup_invocations = 2048; ctx->ub_config.max_workgroup_count[0] = 65535; @@ -821,8 +821,8 @@ init_context(isel_context* ctx, nir_shader* shader) } } - ctx->program->config->spi_ps_input_ena = ctx->program->info->ps.spi_ps_input; - ctx->program->config->spi_ps_input_addr = ctx->program->info->ps.spi_ps_input; + ctx->program->config->spi_ps_input_ena = ctx->program->info.ps.spi_ps_input; + ctx->program->config->spi_ps_input_addr = ctx->program->info.ps.spi_ps_input; ctx->cf_info.nir_to_aco = std::move(nir_to_aco); @@ -916,7 +916,7 @@ setup_isel_context(Program* program, unsigned shader_count, struct nir_shader* c ctx.options = options; ctx.stage = program->stage; - program->workgroup_size = program->info->workgroup_size; + program->workgroup_size = program->info.workgroup_size; assert(program->workgroup_size); /* Mesh shading only works on GFX10.3+. */ @@ -933,7 +933,7 @@ setup_isel_context(Program* program, unsigned shader_count, struct nir_shader* c unsigned scratch_size = 0; if (program->stage == gs_copy_vs) { assert(shader_count == 1); - setup_vs_output_info(&ctx, shaders[0], &program->info->vs.outinfo); + setup_vs_output_info(&ctx, shaders[0], &program->info.vs.outinfo); } else { for (unsigned i = 0; i < shader_count; i++) { nir_shader* nir = shaders[i]; |