This is a collection of a bunch of smaller shader-related bugs and issues I came across, including ones which only trigger when using rust-gpu. See changelog below, and these non-user facing or less unimportant changes:
replaced #[macro_use] extern crate XXX; with normal imports
added tests for shader! reflect() for both glsl and rust-gpu shaders
fixed mesh shader output not being arrayed (as mesh shaders are not yet released, I wouldn't put it into the changelog)
structs in shader in/out interface got an explanatory panic message that they are not yet supported, instead of "Type not found or invalid"
[x] Update documentation to reflect any user-facing changes - in this repository.
[x] Make sure that the changes are covered by unit-tests.
[x] Run cargo clippy on the changes.
[x] Run cargo +nightly fmt on the changes.
[x] Please put changelog entries in the description of this Pull Request
if knowledge of this change could be valuable to users. No need to put the
entries to the changelog directly, they will be transferred to the changelog
file by maintainers right after the Pull Request merge.
Please remove any items from the template below that are not applicable.
[x] Describe in common words what is the purpose of this change, related
Github Issues, and highlight important implementation aspects.
Changelog:
### Breaking changes
Changes to `shader!` macro:
- Shaders included via `bytes: <path-to-spv>` **must** no longer specify a shader type, e.g. `ty: <vertex>`.
### Additions
Changes to `shader!` macro:
- added `generate_structs: true` option that may be used to disable rust structs from generating. Useful in e.g. rust-gpu contexts where such functionality is not needed.
### Bugs fixed
Changes to `shader!` macro:
- fixed shader struct names that are invalid rust idents from panicing the shader! macro. Rust-gpu emitted struct names such as `foo::bar::MyStruct` now work.
This is a collection of a bunch of smaller shader-related bugs and issues I came across, including ones which only trigger when using rust-gpu. See changelog below, and these non-user facing or less unimportant changes:
#[macro_use] extern crate XXX;
with normal imports[x] Update documentation to reflect any user-facing changes - in this repository.
[x] Make sure that the changes are covered by unit-tests.
[x] Run
cargo clippy
on the changes.[x] Run
cargo +nightly fmt
on the changes.[x] Please put changelog entries in the description of this Pull Request if knowledge of this change could be valuable to users. No need to put the entries to the changelog directly, they will be transferred to the changelog file by maintainers right after the Pull Request merge.
Please remove any items from the template below that are not applicable.
[x] Describe in common words what is the purpose of this change, related Github Issues, and highlight important implementation aspects.
Changelog: