Load the example shader and texture files with `include_bytes!` so
that they can be run from the root project directory. Previously,
`cargn run --bin <EXAMPLE>` could only be run from the `examples`
directory.
212: Fix black screen for examples on macOS platform r=MaikKlein a=unknownue
The memory types may vary between different versions of MoltenVK.
This solution just changes all the memory request flags to both `HOST_VISIBLE` and `HOST_COHERENT` to fix the delay of memory data transfer.
Co-authored-by: unknownue <usami-ssc@protonmail.com>
199: Idiomatic Debug impls for enums and bitflags r=MaikKlein a=Ralith
Improves consistency with Rust idioms. In particular, readability of panic messages arising from unwrapped `VkResult`s is vastly improved.
Co-authored-by: Benjamin Saunders <ben.e.saunders@gmail.com>
196: Rewrite builder in the readme r=MaikKlein a=MaikKlein
Co-authored-by: Maik Klein <maikklein@googlemail.com>
Co-authored-by: Benjamin Saunders <ben.e.saunders@gmail.com>
194: Add Khronos doc links and other ergonomic cleanup r=MaikKlein a=aloucks
* Khronos doc links are now automatically generated in vk.rs
* Added doc links to all other non-generated functions
* Implemented std::error::Error for LoadingError
* Made EntryCustom public in addition to the Entry typedef so that
rustdoc no longer ignores it
* Moved Entry::new into EntryCustom (non-breaking)
* Added EntryCustom::try_enumerate_instance_version. The EntryV1_1 trait
is not implemented for any type. Even if it were, the function would
panic for Vulkan 1.0 implementations
* Added entry and instance creation example to lib docs
* Updated the Display impl for vk::Result so that it matches
other bitmask and enum conventions
* Removed lazy_static dependency because it was no longer being
referenced
Co-authored-by: Aaron Loucks <aloucks@cofront.net>
* Khronos doc links are now automatically generated in vk.rs
* Added doc links to all other non-generated functions
* Implemented std::error::Error for LoadingError
* Made EntryCustom public in addition to the Entry typedef so that
rustdoc no longer ignores it
* Moved Entry::new into EntryCustom (non-breaking)
* Added EntryCustom::try_enumerate_instance_version. The EntryV1_1 trait
is not implemented for any type. Even if it were, the function would
panic for Vulkan 1.0 implementations
* Added entry and instance creation example to lib docs
* Updated the Display impl for vk::Result so that it matches
other bitmask and enum conventions
* Removed lazy_static dependency because it was no longer being
referenced
193: Fix struct generation with constant size arrays r=MaikKlein a=aloucks
PR #191 introduced a bug into the generator where constant sized array struct fields were generated as slices. This PR adds a flag to `type_tokens` that will revert that behavior while still generating FFI function signatures with pointers instead of fixed sized arrays (e.g. for `set_blend_constants`).
In addition, all instances of `HashMap` and `HashSet` have been replaced with `BTreeMap` and `BTreeSet`, which makes the generation of `vk.rs` idempotent for the same `vk.xml` input. This should obviate the need for #130 and make it much easier to see how changes to the generator or `vk.xml` affect the generated output.
Co-authored-by: Aaron Loucks <aloucks@cofront.net>
All instances of HashMap and HashSet have been replaced with
BTreeMap and BTreeSet. Repeated generation of vk.rs results
in the same output given the same vk.xml and generator.
Note that this commit still contains the struct generation bug
introduced in PR #191. All structs with fixed sized arrays
are currently generated as slices.
183: [WIP] Implement extension chaining r=MaikKlein a=MaikKlein
This is only a proof on concept right now. I'll finish it up next week.
What are your thoughts? Right now this requires a cast from `*const` to `*mut`.
Co-authored-by: Maik Klein <maikklein@googlemail.com>