`batch_for_shader` is an utility function that creates the correct vertex buffer based on the given shader. In the shader interface the `attr_types_` contains the GPUType for each location in the vertex buffer. When using Metal, the `attr_types_` was never updated, resulting in using incorrect or non-existing data types. This patch fixes this by updating the `attr_types_` when building the shader interface. Reviewed By: fclem Differential Revision: https://developer.blender.org/D17042