ash/ash-window
Marijn Suijten 06b4f8ef35
Vulkan 1.2.175: Provisional Video Extensions (#417)
* generator: Add edegecases for broken Video extension enum variants

* Replace deprecated `make_version()` with `make_api_version()`

* generator: Use the same predicate for push_next and its traits

Some structs turn out to be root structs when their name is not in the
`root_structs` set, even when they themselves extend another struct.
This was already taken care of for `push_next` which is emitted in this
situation, but the trait referenced by `push_next`'s `T` bound is still
relying on the `extends` field to not exist in `vk.xml` at all, leading
to it not being generated despite `push_next` needing it.

Fixes: 215511f ("Implement ExtendXXX for multiple root create infos if
there are more than 1")

* Update Vulkan-Headers to 12.175

* generator: Generate low-level structs with bindgen (for vk_video)
2021-06-06 11:00:29 +02:00
..
examples Vulkan 1.2.175: Provisional Video Extensions (#417) 2021-06-06 11:00:29 +02:00
src Impl trait functions directly on EntryCustom/Instance/Device (#412) 2021-04-30 17:13:23 +02:00
Cargo.toml Bump version of ash-window 2021-03-07 20:17:48 +01:00
Changelog.md changelog: Add missing link for 0.32.1, document changes to ash-window 2021-04-15 11:39:35 +02:00
README.md Add interoperability functions for raw-window-handle (#308) 2020-07-04 15:21:39 +02:00

ash-window

crates.io docs ci
License - MIT License - Apache2

Interoperability between ash and raw-window-handle for surface creation.

ash-window = "0.4"

Usage

The library exposes two functions:

  • enumerate_required_extensions returns the required instance extensions needed for surface creation from a specific window handle.

  • create_surface allows to create a surface from a type implementing HasRawWindowHandle

ash_window::create_surface(&entry, &instance, &window, None)?;

Versions

ash = "0.31"
raw-window-handle = "0.3"

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

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.