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 dlopened 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