nir: how does lowered io work with compact arrays?
from !28465 (closed) !28308 (merged)
Depending on driver caps, clip/cull distances and tess levels can be 'compact' arrays, where they are considered arrays (e.g., single member access) but are slot-allocated as vectors.
This is not handled consistently, so a direction needs to be determined here and everything needs to change in one direction or another.