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