Mesa (main): aco: cleanup setup_vs_output_info()

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Oct 12 09:18:13 UTC 2021


Module: Mesa
Branch: main
Commit: b3269444fd6c67c5fd33836149b3f46bfc12ae85
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3269444fd6c67c5fd33836149b3f46bfc12ae85

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Oct  7 10:18:43 2021 +0200

aco: cleanup setup_vs_output_info()

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13243>

---

 src/amd/compiler/aco_instruction_selection_setup.cpp | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

diff --git a/src/amd/compiler/aco_instruction_selection_setup.cpp b/src/amd/compiler/aco_instruction_selection_setup.cpp
index c2bf55e5960..d593dd45474 100644
--- a/src/amd/compiler/aco_instruction_selection_setup.cpp
+++ b/src/amd/compiler/aco_instruction_selection_setup.cpp
@@ -247,10 +247,10 @@ get_reg_class(isel_context* ctx, RegType type, unsigned components, unsigned bit
 }
 
 void
-setup_vs_output_info(isel_context* ctx, nir_shader* nir, bool export_prim_id,
-                     bool export_clip_dists, const radv_vs_output_info* outinfo)
+setup_vs_output_info(isel_context* ctx, nir_shader* nir,
+                     const radv_vs_output_info* outinfo)
 {
-   ctx->export_clip_dists = export_clip_dists;
+   ctx->export_clip_dists = outinfo->export_clip_dists;
    ctx->num_clip_distances = util_bitcount(outinfo->clip_dist_mask);
    ctx->num_cull_distances = util_bitcount(outinfo->cull_dist_mask);
 
@@ -269,8 +269,7 @@ void
 setup_vs_variables(isel_context* ctx, nir_shader* nir)
 {
    if (ctx->stage == vertex_vs || ctx->stage == vertex_ngg) {
-      const radv_vs_output_info* outinfo = &ctx->program->info->vs.outinfo;
-      setup_vs_output_info(ctx, nir, outinfo->export_prim_id, outinfo->export_clip_dists, outinfo);
+      setup_vs_output_info(ctx, nir, &ctx->program->info->vs.outinfo);
 
       /* TODO: NGG streamout */
       if (ctx->stage.hw == HWStage::NGG)
@@ -292,8 +291,7 @@ setup_gs_variables(isel_context* ctx, nir_shader* nir)
       ctx->program->config->lds_size =
          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) {
-      const radv_vs_output_info* outinfo = &ctx->program->info->vs.outinfo;
-      setup_vs_output_info(ctx, nir, false, outinfo->export_clip_dists, 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);
@@ -315,8 +313,7 @@ setup_tes_variables(isel_context* ctx, nir_shader* nir)
    ctx->tcs_num_patches = ctx->args->shader_info->num_tess_patches;
 
    if (ctx->stage == tess_eval_vs || ctx->stage == tess_eval_ngg) {
-      const radv_vs_output_info* outinfo = &ctx->program->info->tes.outinfo;
-      setup_vs_output_info(ctx, nir, outinfo->export_prim_id, outinfo->export_clip_dists, outinfo);
+      setup_vs_output_info(ctx, nir, &ctx->program->info->tes.outinfo);
 
       /* TODO: NGG streamout */
       if (ctx->stage.hw == HWStage::NGG)
@@ -900,9 +897,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], false,
-                           args->shader_info->vs.outinfo.export_clip_dists,
-                           &args->shader_info->vs.outinfo);
+      setup_vs_output_info(&ctx, shaders[0], &args->shader_info->vs.outinfo);
    } else {
       for (unsigned i = 0; i < shader_count; i++) {
          nir_shader* nir = shaders[i];



More information about the mesa-commit mailing list