diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c index 6f5f0a370c4..522a2cd4012 100644 --- a/src/amd/vulkan/radv_nir_to_llvm.c +++ b/src/amd/vulkan/radv_nir_to_llvm.c @@ -1223,7 +1223,7 @@ static LLVMValueRef radv_intrinsic_load(struct ac_shader_abi *abi, nir_intrinsic case nir_intrinsic_load_ring_attr_amd: return ctx->attr_ring; case nir_intrinsic_load_ring_gsvs_amd: - return ctx->gsvs_ring[0]; + return ctx->gsvs_ring[nir_intrinsic_stream_id(intrin)]; default: return NULL; } diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py index 0447f17894b..211afb9a8a5 100644 --- a/src/compiler/nir/nir_intrinsics.py +++ b/src/compiler/nir/nir_intrinsics.py @@ -1373,7 +1373,7 @@ system_value("gs_vertex_offset_amd", 1, [BASE]) system_value("rasterization_samples_amd", 1) # Descriptor where GS outputs are stored for GS copy shader to read on GFX6-9 -system_value("ring_gsvs_amd", 4) +system_value("ring_gsvs_amd", 4, indices=[STREAM_ID]) # Write offset in gsvs ring for legacy GS shader system_value("ring_gs2vs_offset_amd", 1)