nir/lower_mem_access_bit_sizes: fix invalid shift bit_size

Shifts always need 32 bit for their second source.

Fixes: c70d94a889 ("nir_lower_mem_access_bit_sizes: Support unaligned stores via a pair of atomics")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25740>
This commit is contained in:
Karol Herbst 2023-10-15 16:11:57 +02:00 committed by Marge Bot
parent b3043434d9
commit 832efd097c

View file

@ -332,7 +332,7 @@ lower_mem_store(nir_builder *b, nir_intrinsic_instr *intrin,
nir_def *iand_mask = nir_imm_int(b, (1 << chunk_bits) - 1);
if (chunk_align < requested.align) {
nir_def *shift = nir_imul_imm(b, pad, 8);
nir_def *shift = nir_u2u32(b, nir_imul_imm(b, pad, 8));
data = nir_ishl(b, data, shift);
iand_mask = nir_inot(b, nir_ishl(b, iand_mask, shift));
}