550182e940
Ash doesn't implement `Drop` intentionally, to not be too opinionated about holding (heap) references to their parent objects (`Device`->`Instance`->`Entry`) and ensuring they are destroyed in the right order. As such, reword the `create` documentation for `Instance` and `Device` to mention their respective `destroy_*` function instead of referring to them as being "droppable". Note that `Entry` is droppable as it does not have a Vulkan `destroy` function _and_ the dynamically loaded library (behind the "loaded" feature) is kept alive only for the lifetime of `Entry`. |
||
---|---|---|
.. | ||
examples | ||
src | ||
Cargo.toml | ||
Changelog.md | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md |
Ash-window
Interoperability between ash
and raw-window-handle
for surface creation.
Usage
ash-window = "0.12.0"
The library exposes two functions:
-
enumerate_required_extensions
returns the required instance extensions needed for surface creation from a specific display handle. -
create_surface
allows to create a surface from a type implementingRawDisplayHandle
andRawWindowHandle
:ash_window::create_surface(&entry, &instance, &window, None)?;
Versions
ash = "0.37"
Support
- Windows (
VK_KHR_win32_surface
) - Unix (
VK_KHR_xlib_surface
/VK_KHR_xcb_surface
/VK_KHR_wayland_surface
) - MacOS/IOS (
VK_EXT_metal_surface
) - Android (
VK_KHR_android_surface
)
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any Contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.