| device.rs |
|
94488 |
| entry.rs |
|
13712 |
| extensions |
|
|
| extensions_generated.rs |
|
921347 |
| instance.rs |
|
20378 |
| lib.rs |
# Vulkan API
<https://registry.khronos.org/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.
* **std** (default): Whether ash depends on the standard library (otherwise `alloc` is required) |
7103 |
| prelude.rs |
|
4480 |
| tables.rs |
|
186328 |
| util.rs |
|
4601 |
| vk |
|
|
| vk.rs |
|
1688 |