Module: Mesa Branch: main Commit: 11bcce94615fe72a6e0ab76dc72db568762879e6 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=11bcce94615fe72a6e0ab76dc72db568762879e6
Author: Faith Ekstrand <faith.ekstr...@collabora.com> Date: Fri Nov 17 10:53:53 2023 -0600 nak: Use c == 0x0 for shuffle_up The bounds check on SHFL.UP is from below, so we actually want maxLane == 0. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26264> --- src/nouveau/compiler/nak_from_nir.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/nouveau/compiler/nak_from_nir.rs b/src/nouveau/compiler/nak_from_nir.rs index 4b97babb74c..9e877fae5de 100644 --- a/src/nouveau/compiler/nak_from_nir.rs +++ b/src/nouveau/compiler/nak_from_nir.rs @@ -1868,14 +1868,18 @@ impl<'a> ShaderFromNir<'a> { in_bounds: Dst::None, src: data, lane: idx, - c: 0x1f.into(), + c: if intrin.intrinsic == nir_intrinsic_shuffle_up { + 0.into() + } else { + 0x1f.into() + }, op: match intrin.intrinsic { nir_intrinsic_read_invocation | nir_intrinsic_shuffle => ShflOp::Idx, nir_intrinsic_shuffle_down => ShflOp::Down, nir_intrinsic_shuffle_up => ShflOp::Up, nir_intrinsic_shuffle_xor => ShflOp::Bfly, - _ => panic!("Unknown vote intrinsic"), + op => panic!("Unknown shuffle intrinsic {}", op), }, }); self.set_dst(&intrin.def, dst);