vulkano-rs / vulkano

Safe and rich Rust wrapper around the Vulkan API
Apache License 2.0
4.48k stars 433 forks source link

Rewrite `VertexDefinition` #2487

Closed Rua closed 6 months ago

Rua commented 6 months ago

Changelog:

### Breaking changes
Changes to vertex input:
- The `VertexDefinition::definition` trait method now takes an `EntryPoint` instead of a `ShaderInterface`.
- `VertexMemberInfo` now has a `stride` member and its `offset` member now has the type `u32`.

Changes to shaders:
- `ShaderInterface` and subtypes are removed. `EntryPointInfo` no longer has `input_interface` and `output_interface` members.

### Additions
- `VertexDefinition` now fully supports 64-bit types and struct types in input/output interfaces.
- `VertexDefinition` now uses a placeholder name if a name is not present in the shader, instead of panicking.