Crate ash

source ·
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

Macros

Structs

Enums

Traits