nir: Set the alignment for SSBO lowering

The alignment can just be copied from the source intrinsic.

Fixes the assertion
nir_intrinsic_align_offset(instr) < nir_intrinsic_align_mul(instr)

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5949>
This commit is contained in:
Icecream95 2020-07-17 23:26:41 +12:00 committed by Marge Bot
parent d735f075a6
commit 2aa507f87a

View file

@ -128,6 +128,9 @@ lower_ssbo_instr(nir_builder *b, nir_intrinsic_instr *intr)
global->num_components = intr->num_components;
global->src[is_store ? 1 : 0] = nir_src_for_ssa(address);
nir_intrinsic_set_align_mul(global, nir_intrinsic_align_mul(intr));
nir_intrinsic_set_align_offset(global, nir_intrinsic_align_offset(intr));
if (is_store) {
nir_src_copy(&global->src[0], &intr->src[0], global);
nir_intrinsic_set_write_mask(global, nir_intrinsic_write_mask(intr));