Mesa (main): radv/llvm: fix parameter index for layer exports
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Oct 8 11:36:19 UTC 2021
Module: Mesa
Branch: main
Commit: 37a81b42981e997d75541d73750ed075cdbb2737
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=37a81b42981e997d75541d73750ed075cdbb2737
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date: Thu Oct 7 19:20:55 2021 +0100
radv/llvm: fix parameter index for layer exports
Fixes various dEQP-VK.multiview.* tests.
Fixes: 2aa705ec87c ("radv: determine the VS output parameters in the shader info pass")
Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13250>
---
src/amd/vulkan/radv_nir_to_llvm.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c
index 642b06e4491..bbe7d6999b2 100644
--- a/src/amd/vulkan/radv_nir_to_llvm.c
+++ b/src/amd/vulkan/radv_nir_to_llvm.c
@@ -1184,8 +1184,6 @@ radv_build_param_exports(struct radv_shader_context *ctx, struct radv_shader_out
unsigned noutput, struct radv_vs_output_info *outinfo,
bool export_clip_dists)
{
- unsigned param_count = 0;
-
for (unsigned i = 0; i < noutput; i++) {
unsigned slot_name = outputs[i].slot_name;
unsigned usage_mask = outputs[i].usage_mask;
@@ -1199,8 +1197,8 @@ radv_build_param_exports(struct radv_shader_context *ctx, struct radv_shader_out
!export_clip_dists)
continue;
- radv_export_param(ctx, param_count, outputs[i].values, usage_mask);
- param_count++;
+ radv_export_param(ctx, outinfo->vs_output_param_offset[slot_name], outputs[i].values,
+ usage_mask);
}
}
@@ -1666,7 +1664,6 @@ handle_ngg_outputs_post_2(struct radv_shader_context *ctx)
handle_vs_outputs_post(ctx, false, outinfo->export_clip_dists, outinfo);
if (outinfo->export_prim_id) {
- unsigned param_count = outinfo->param_exports;
LLVMValueRef values[4];
if (ctx->stage == MESA_SHADER_VERTEX) {
@@ -1684,7 +1681,8 @@ handle_ngg_outputs_post_2(struct radv_shader_context *ctx)
for (unsigned j = 1; j < 4; j++)
values[j] = ctx->ac.f32_0;
- radv_export_param(ctx, param_count, values, 0x1);
+ radv_export_param(ctx, outinfo->vs_output_param_offset[VARYING_SLOT_PRIMITIVE_ID], values,
+ 0x1);
}
}
ac_build_endif(&ctx->ac, 6002);
More information about the mesa-commit
mailing list