This avoids an obnoxious error when attemting to use `dbg!()` while
debugging the generator.
Unfortunately there seems to be no way to import * except `dbg`, or
shadow `dbg` (using eg. `use nom::{dbg as _nom_dbg, *};`).
* Allow the generator to be run from project root dir
* Split vk.rs into multiple files
* Breakup and remove generated vk/prelude.rs
Generator changes:
- No longer convert current dir to a string when checking if the
path ends with 'generator'
- Pass the 'ash/src' dir instead of the 'vk.rs' path
Generated and generated output changes:
- The majority of prelude.rs has been moved to macros.rs
- The pointer chain and Handle are now included in vk.rs
- Platform types has been moved to its own file.
* Fix incorrect generation of commands with aliases
* Use alias name instead of the actual cmd name
* Generate vulkan ray-tracing bindings
* Add ray-tracing khr
* High level ray tracing support
* Re-enable nv ray tracing extension (this will break the build)
* Generate aliases for extension enums
* Add missing alias because the parser doesn't provide alias information here
* Fix 'unreachable pattern' warnings
* Fix clippy warning
Co-authored-by: Maik Klein <maikklein@googlemail.com>
* Updated vk-parse and Vulkan-Headers to Vulkan 1.2
* First pass at generating vk.rs
* Support double
* Generate from EnumSpec::Value
* Remove println
* Fix mutable pointer bug
* cargo fmt
* Update document link
* Remove mention of Vulkan 1.2 support for now
* Add clippy::wrong_self_convention
Adds equality-related traits to VkClearRect, VkOffset2D, VkOffset3D,
VkRect2D and VkSurfaceFormatKHR. Fixes a typo preventing said traits
from being applied to VkExtent2D.
* Fix literals in vk.rs
* Address all the other clippy lints in ash
* Module level clippy lint
* More lints
* Make hashmaps generic for clippy
* Remove unused macro import
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>
* 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
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>