Module demo_vk::graphics::vulkan

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