Closed Ralith closed 6 months ago
Updated changelog.
Revised approach: all core and extension raw type definitions and constants are exported directly under ash::vk
. This includes e.g. extension name constants, which are named in the upstream style, less VK_
. Extensions modules are exported under ash::{khr, ext, ...}
, and include high-level wrappers, *Fn
tables, and NAME
and SPEC_VERSION
reexports. Core *Fn
structs are exported directly under ash
.
This standardizes ash::vk
as being purely unopinionated "sys" style bindings, while everything else is exposed under ash
. We accept a small risk of a name collision between a future vendor tag and any other items we want to expose at the crate level.
Fixes https://github.com/ash-rs/ash/issues/876.
As a bonus, this significantly reduces the amount of boilerplate required to wrap a new extension.