aco,radv/llvm: do not export parameters on GFX11
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 20 Oct 2022 23:25:45 +0000 (23:25 +0000)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 24 Oct 2022 05:55:06 +0000 (07:55 +0200)
They will be exported through the attribute ring instead.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19216>

src/amd/compiler/aco_instruction_selection.cpp
src/amd/vulkan/radv_nir_to_llvm.c

index 3a4268a..7386d15 100644 (file)
@@ -10873,6 +10873,9 @@ create_vs_exports(isel_context* ctx)
    if (ctx->num_clip_distances + ctx->num_cull_distances > 4)
       export_vs_varying(ctx, VARYING_SLOT_CLIP_DIST1, true, &next_pos);
 
+   if (ctx->program->gfx_level >= GFX11)
+      return;
+
    if (ctx->export_clip_dists) {
       if (ctx->num_clip_distances + ctx->num_cull_distances > 0)
          export_vs_varying(ctx, VARYING_SLOT_CLIP_DIST0, false, &next_pos);
index f8e7c24..33ab613 100644 (file)
@@ -986,6 +986,9 @@ radv_llvm_export_vs(struct radv_shader_context *ctx, struct radv_shader_output_v
       ac_build_export(&ctx->ac, &pos_args[i]);
    }
 
+   if (ctx->options->gfx_level >= GFX11)
+      return;
+
    /* Build parameter exports */
    radv_build_param_exports(ctx, outputs, noutput, outinfo, export_clip_dists);
 }