Expand description
§Vulkan API
https://registry.khronos.org/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.
- std (default): Whether ash depends on the standard library (otherwise
alloc
is required)
Modules§
- amd
- Extensions tagged AMD
- amdx
- Extensions tagged AMDX
- android
- Extensions tagged ANDROID
- arm
- Extensions tagged ARM
- ext
- Extensions tagged EXT
- fuchsia
- Extensions tagged FUCHSIA
- ggp
- Extensions tagged GGP
- Extensions tagged GOOGLE
- huawei
- Extensions tagged HUAWEI
- img
- Extensions tagged IMG
- intel
- Extensions tagged INTEL
- khr
- Extensions tagged KHR
- lunarg
- Extensions tagged LUNARG
- msft
- Extensions tagged MSFT
- mvk
- Extensions tagged MVK
- nn
- Extensions tagged NN
- nv
- Extensions tagged NV
- nvx
- Extensions tagged NVX
- prelude
- qcom
- Extensions tagged QCOM
- qnx
- Extensions tagged QNX
- sec
- Extensions tagged SEC
- util
- valve
- Extensions tagged VALVE
- 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_type
member 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_type
member 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://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDevice.html
- Device
FnV1_ 0 - Raw Vulkan 1 device-level function pointers
- Device
FnV1_ 1 - Raw Vulkan 1.1 device-level function pointers
- Device
FnV1_ 2 - Raw Vulkan 1.2 device-level function pointers
- Device
FnV1_ 3 - Raw Vulkan 1.3 device-level function pointers
- Entry
- Holds the Vulkan functions independent of a particular instance
- Entry
FnV1_ 0 - Raw Vulkan 1 entry point function pointers
- Entry
FnV1_ 1 - Raw Vulkan 1.1 entry point function pointers
- Entry
FnV1_ 2 - Raw Vulkan 1.2 entry point function pointers
- Entry
FnV1_ 3 - Raw Vulkan 1.3 entry point function pointers
- Instance
- https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkInstance.html
- Instance
FnV1_ 0 - Raw Vulkan 1 instance-level function pointers
- Instance
FnV1_ 1 - Raw Vulkan 1.1 instance-level function pointers
- Instance
FnV1_ 2 - Raw Vulkan 1.2 instance-level function pointers
- Instance
FnV1_ 3 - Raw Vulkan 1.3 instance-level function pointers
- Static
Fn - Raw Vulkan 1 static function pointers