Crate ash[−][src]
Expand description
Vulkan API
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/index.html
Examples
use ash::{vk, Entry}; let entry = unsafe { Entry::new() }?; 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 at the default location using Entry::new()
,
or at a custom location using Entry::with_library("path/to/vulkan")
.
These loaders use libloading
. If you wish to perform function loading yourself
call EntryCustom::new_custom()
with a closure turning function names
into function pointers.
Modules
Wrappers for Vulkan extensions
Raw Vulkan bindings and types, generated from vk.xml
Macros
Structs
Holds a custom type L
to load symbols from (usually a handle to a dlopen
ed library),
the vkGetInstanceProcAddr
loader function from
this library (in vk::StaticFn
), and Vulkan’s “entry point” functions (resolved with NULL
instance
) as listed in vkGetInstanceProcAddr
’s description.
Enums
Traits
Type Definitions
Default function loader