nir/opt_if: also rewrite uniform uses for read_invocation
authorGeorg Lehmann <dadschoorse@gmail.com>
Thu, 10 Aug 2023 19:05:32 +0000 (21:05 +0200)
committerMarge Bot <emma+marge@anholt.net>
Sat, 12 Aug 2023 07:16:28 +0000 (07:16 +0000)
No Foz-DB changes, but maybe it matters in the future because dxil-spirv
will use read_invocation for WaveReadLaneFirst in fragment shaders.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24618>

src/compiler/nir/nir_opt_if.c

index 65b85d1..c08a9b9 100644 (file)
@@ -1424,6 +1424,7 @@ opt_if_rewrite_uniform_uses(nir_builder *b, nir_if *nif, nir_ssa_scalar cond, bo
          continue;
       nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(src_uni.def->parent_instr);
       if (intrin->intrinsic != nir_intrinsic_read_first_invocation &&
+          intrin->intrinsic != nir_intrinsic_read_invocation &&
           (intrin->intrinsic != nir_intrinsic_reduce || nir_intrinsic_cluster_size(intrin)))
          continue;