The metal backend breaks when gl_VertexIndex is used. This will likely either need to be fixed upstream in wgpu or by removing gl_VertexIndex.