From c363fcbe1e462b4ab6548ed3544345deb91e9f21 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Wed, 26 Jul 2023 16:08:42 -0400 Subject: [PATCH] agx: Assert vertex_id, instance_id are VS-only We can get them in other shaders transiently due to merging shader stages, but they need to be lowered since the hardware versions only exist in the hardware VS. So the compiler should never see them outside VS. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/asahi/compiler/agx_compile.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/asahi/compiler/agx_compile.c b/src/asahi/compiler/agx_compile.c index 7fc83151020..3877b1f5f96 100644 --- a/src/asahi/compiler/agx_compile.c +++ b/src/asahi/compiler/agx_compile.c @@ -1043,9 +1043,11 @@ agx_emit_intrinsic(agx_builder *b, nir_intrinsic_instr *instr) AGX_ICOND_UEQ); case nir_intrinsic_load_vertex_id: + assert(b->shader->stage == MESA_SHADER_VERTEX); return agx_mov_to(b, dst, agx_abs(agx_vertex_id(b))); case nir_intrinsic_load_instance_id: + assert(b->shader->stage == MESA_SHADER_VERTEX); return agx_mov_to(b, dst, agx_abs(agx_instance_id(b))); case nir_intrinsic_load_preamble: