device.rs |
|
92775 |
entry.rs |
|
14096 |
extensions |
|
|
instance.rs |
|
19785 |
lib.rs |
# Vulkan API
<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/index.html>
## Examples
```no_run
use ash::{vk, Entry};
# fn main() -> Result<(), Box<dyn std::error::Error>> {
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)? };
# Ok(()) }
```
## 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. |
6595 |
prelude.rs |
|
4239 |
util.rs |
|
4593 |
vk |
|
|
vk.rs |
|
1383 |