Crate ash

Source
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
google
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 as vk::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 as vk::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
DeviceFnV1_0
Raw Vulkan 1 device-level function pointers
DeviceFnV1_1
Raw Vulkan 1.1 device-level function pointers
DeviceFnV1_2
Raw Vulkan 1.2 device-level function pointers
DeviceFnV1_3
Raw Vulkan 1.3 device-level function pointers
Entry
Holds the Vulkan functions independent of a particular instance
EntryFnV1_0
Raw Vulkan 1 entry point function pointers
EntryFnV1_1
Raw Vulkan 1.1 entry point function pointers
EntryFnV1_2
Raw Vulkan 1.2 entry point function pointers
EntryFnV1_3
Raw Vulkan 1.3 entry point function pointers
Instance
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkInstance.html
InstanceFnV1_0
Raw Vulkan 1 instance-level function pointers
InstanceFnV1_1
Raw Vulkan 1.1 instance-level function pointers
InstanceFnV1_2
Raw Vulkan 1.2 instance-level function pointers
InstanceFnV1_3
Raw Vulkan 1.3 instance-level function pointers
StaticFn
Raw Vulkan 1 static function pointers

Enums§

LoadingError

Traits§

RawPtr