Expand description
§Vulkan API
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/index.html
§Examples
use ash::{vk, Entry};
let entry = Entry::linked();
let app_info = vk::ApplicationInfo {
api_version: vk::make_api_version(0, 1, 0, 0),
..Default::default()
};
let create_info = vk::InstanceCreateInfo {
p_application_info: &app_info,
..Default::default()
};
let instance = unsafe { entry.create_instance(&create_info, None)? };§Getting started
Load the Vulkan library linked at compile time using [Entry::linked()], or load it at runtime
using Entry::load(), which uses libloading. If you want to perform entry point loading
yourself, call Entry::from_static_fn().
§Crate features
- debug (default): Whether Vulkan structs should implement
Debug. - loaded (default): Support searching for the Vulkan loader manually at runtime.
- linked: Link the Vulkan loader at compile time.
Modules§
- extensions
- Wrappers for Vulkan extensions
- prelude
- util
- vk
- Raw Vulkan bindings and types, generated from
vk.xml
Macros§
- define_
handle - handle_
nondispatchable - match_
in_ struct - Given an immutable raw pointer to a type with an
s_typemember such asvk::BaseInStructure, match on a set of Vulkan structures. The struct will be rebound to the given variable of the type of the given Vulkan structure. - match_
out_ struct - Given a mutable raw pointer to a type with an
s_typemember such asvk::BaseOutStructure, match on a set of Vulkan structures. The struct will be rebound to the given variable of the type of the given Vulkan structure. - vk_
bitflags_ wrapped
Structs§
- Device
- https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDevice.html
- Entry
- Holds the Vulkan functions independent of a particular instance
- Instance
- https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkInstance.html