diff options
Diffstat (limited to 'src/amd/common')
-rw-r--r-- | src/amd/common/ac_nir_to_llvm.c | 5 | ||||
-rw-r--r-- | src/amd/common/ac_nir_to_llvm.h | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 4d9c070dabe..afef3fd28d4 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -3867,9 +3867,10 @@ static void visit_intrinsic(struct nir_to_llvm_context *ctx, result = ctx->gs_invocation_id; break; case nir_intrinsic_load_primitive_id: - if (ctx->stage == MESA_SHADER_GEOMETRY) + if (ctx->stage == MESA_SHADER_GEOMETRY) { + ctx->shader_info->gs.uses_prim_id = true; result = ctx->gs_prim_id; - else if (ctx->stage == MESA_SHADER_TESS_CTRL) { + } else if (ctx->stage == MESA_SHADER_TESS_CTRL) { ctx->shader_info->tcs.uses_prim_id = true; result = ctx->tcs_patch_id; } else if (ctx->stage == MESA_SHADER_TESS_EVAL) { diff --git a/src/amd/common/ac_nir_to_llvm.h b/src/amd/common/ac_nir_to_llvm.h index 9ea3156b255..724d5e6b0fd 100644 --- a/src/amd/common/ac_nir_to_llvm.h +++ b/src/amd/common/ac_nir_to_llvm.h @@ -178,6 +178,7 @@ struct ac_shader_variant_info { unsigned invocations; unsigned gsvs_vertex_size; unsigned max_gsvs_emit_size; + bool uses_prim_id; } gs; struct { bool uses_prim_id; |