ac/llvm: Use gs_prim_id for NGG VS.
authorTimur Kristóf <timur.kristof@gmail.com>
Sun, 17 Jul 2022 17:08:11 +0000 (19:08 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 22 Jul 2022 08:17:39 +0000 (08:17 +0000)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706>

src/amd/llvm/ac_nir_to_llvm.c

index a6527a0..d8c3639 100644 (file)
@@ -3682,7 +3682,10 @@ static void visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *ins
          result = ctx->tes_patch_id_replaced ? ctx->tes_patch_id_replaced
                                              : ac_get_arg(&ctx->ac, ctx->args->tes_patch_id);
       } else if (ctx->stage == MESA_SHADER_VERTEX) {
-         result = ac_get_arg(&ctx->ac, ctx->args->vs_prim_id);
+         if (ctx->args->vs_prim_id.used)
+            result = ac_get_arg(&ctx->ac, ctx->args->vs_prim_id); /* legacy */
+         else
+            result = ac_get_arg(&ctx->ac, ctx->args->gs_prim_id); /* NGG */
       } else
          fprintf(stderr, "Unknown primitive id intrinsic: %d", ctx->stage);
       break;