Describe your problem
Currently vertex buffers only support per-vertex input rates. Instancing can only be implemented using resource indexing. We should also support per-instance input rates. In Vulkan this is done per vertex buffer layout, while D3D12 supports to vary this per attribute. For compatibility reasons, we should prefer the Vulkan approach.
Proposed Solution
Add a vertex buffer layout flag to control the input rate.
Describe your problem
Currently vertex buffers only support per-vertex input rates. Instancing can only be implemented using resource indexing. We should also support per-instance input rates. In Vulkan this is done per vertex buffer layout, while D3D12 supports to vary this per attribute. For compatibility reasons, we should prefer the Vulkan approach.
Proposed Solution
Add a vertex buffer layout flag to control the input rate.