One aspect of the `VK_EXT_vertex_attribute_divisor` spec that I apparently missed is that, for a vertex buffer binding with a divisor of 0, the base instance determines where the attributes are read from. This cannot be expressed in Metal, but we can emulate it by offseting the buffer by `firstInstance * stride`. Unfortunately, we can't do this for indirect draws. If a program tries this, we're hosed.