It seems that the mali400 pp is unable to load vec3 unaligned varyings. This can happen in the current state with mesa if a varying float is put into the first component of a vec4 and a vec3 is packed right after it. This would be fine as by default nir would create a vec4 load followed by a mov with swizzle to realign the components into a vec3. In lima_nir_split_load_input, this becomes a separate vec3 load expecting the unaligned load. Since this can't happen, skip the load input splitting for this special case.
4868ce1451f lima: dont split vec3 unaligned load inputs
src/gallium/drivers/lima/ir/lima_nir_split_load_input.c | 4 ++++
1 file changed, 4 insertions(+)