lima: split_load_input: don't split unaligned vec2

Mali4x0 can't fetch unaligned vec2 (i.e. .yz), so don't split it.

Fixes: 6dd0ad66de ("lima/ppir: add NIR pass to split varying loads")
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13131>
This commit is contained in:
Vasily Khoruzhick
2021-09-30 19:31:09 -07:00
committed by Marge Bot
parent c752bb459b
commit 5db5ff58b7
@@ -67,6 +67,11 @@ lima_nir_split_load_input_block(nir_block *block, nir_builder *b)
if (nir_dest_num_components(alu->dest.dest) == 3 && swizzle > 0)
continue;
/* mali4xx can't access unaligned vec2, don't split load input */
if (nir_dest_num_components(alu->dest.dest) == 2 &&
swizzle != 0 && swizzle != 2)
continue;
b->cursor = nir_before_instr(&intrin->instr);
nir_intrinsic_instr *new_intrin = nir_intrinsic_instr_create(
b->shader,