demo_vk/graphics/vulkan/
mod.rs

1//! This module defines traits, structs, and functions to interact with a Vulkan
2//! device.
3//!
4//! The primary entrypoint is the [VulkanContext] which can be initialized with
5//! a [glfw::Window].
6//!
7//! Most applications use the [FramesInFlight] to manage double/triple buffered
8//! rendering as it handles the synchronization with the swapchain and provides
9//! the useful [Frame] abstraction for submitting a freshly recorded
10//! CommandBuffer on each frame.
11
12mod allocator;
13mod buffers;
14mod context;
15mod frames_in_flight;
16pub mod raii;
17mod spirv;
18mod swapchain;
19mod sync_commands;
20
21pub use self::{
22    allocator::{block::Block, owned_block::OwnedBlock, Allocator},
23    buffers::{CPUBuffer, UniformBuffer},
24    context::{Instance, RequiredDeviceFeatures, VulkanContext},
25    frames_in_flight::{Frame, FrameStatus, FramesInFlight},
26    spirv::{spirv_module, spirv_words},
27    swapchain::{AcquireImageStatus, PresentImageStatus, Swapchain},
28    sync_commands::SyncCommands,
29};