lavapipe: support instance rate zero for VK_EXT_vertex_attribute_divisor

Merged Roland Scheidegger requested to merge sroland/mesa:lavapipe_instdivzero into main

gallium can't directly support vertex attribute instance rate zero, since the instance rate is also used to determine if the data is per-vertex or per-instance in the first place (hence divisor zero meaning the data is per vertex). While it's an optional feature for VK_EXT_vertex_attribute_divisor, some apps require it to work (it's a standard d3d10 feature and widely supported), hence translate it away as MAX_UINT32 divisor instead (which at this point probably makes more sense than to change the gallium interface), which should work all the same.

Reviewed-by: Roland Scheidegger

Merge request reports