radv: Handle GSVS ring intrinsic correctly with LLVM.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sun, 30 Oct 2022 15:31:04 +0000 (16:31 +0100)
committerMarge Bot <emma+marge@anholt.net>
Mon, 31 Oct 2022 13:17:04 +0000 (13:17 +0000)
If we don't set progress to false we get a mess as a replacement is
still attempted.

Fixes: 382831c9865 ("radv,nir: add intrinsics for streamout and GS copy shaders")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19404>

src/amd/vulkan/radv_nir_lower_abi.c

index 6f097a8..e2895e0 100644 (file)
@@ -125,8 +125,10 @@ lower_abi_instr(nir_builder *b, nir_instr *instr, void *state)
       replacement = load_ring(b, stage == MESA_SHADER_GEOMETRY ? RING_ESGS_GS : RING_ESGS_VS, s);
       break;
    case nir_intrinsic_load_ring_gsvs_amd:
-      if (s->use_llvm)
+      if (s->use_llvm) {
+         progress = false;
          break;
+      }
 
       replacement = load_ring(b, RING_GSVS_VS, s);
       break;