Expand description
This module defines traits, structs, and functions to interact with a Vulkan device.
The primary entrypoint is the VulkanContext which can be initialized with a glfw::Window.
Modules§
- RAII wrappers for Vulkan objects.
Structs§
- The Vulkan device memory allocator.
- Allocators return blocks of memory that can be used for Vulkan operations.
- A CPU accessible buffer with some convenience functions for uploading data.
- A grow-only descriptor pool that can be reset.
- A Frame is guaranteed to be synchronized such that no two frames with the same frame_index can be in-flight on the GPU at the same time.
- The primary synchronization mechanism for managing multiple in-flight frames.
- The logical Vulkan instance.
- A block allocation that frees itself when dropped.
- The Vulkan swapchain and associated resources.
- A utility for synchronously submitting commands to the GPU.
- A CPU accessible buffer with some convenience functions for uploading per-frame data.
- The Vulkan context is the logical handle for all Vulkan operations within the app.
Enums§
Functions§
- Compiles the shader file into usable SPIRV.
- Creates a Vulkan shader module from the provided SPIR-V code.
- Convert an unaligned slice of bytes into an aligned chunk of u32 words.
Type Aliases§
- The relative amount of each descriptor type to allocate in each Descriptor Pool.