Class VulkanContext¶
Defined in File vulkan_context.h
Class Documentation¶
-
class VulkanContext¶
Top-level owner of the Vulkan object hierarchy.
Owns and initializes the complete Vulkan object lifetime chain: Context → Instance → PhysicalDevice → Device → VMA.
Constructor sequence:
Creates vk::raii::Context (loads Vulkan functions)
Creates VulkanInstance (creates instance and debug messenger)
Selects suitable GPU via instance.get_suitable_gpu()
Creates VulkanDevice from selected physical device
Initializes VMA allocator
Destructor ensures correct destruction order: VMA shutdown first, then device/physical_device/instance in reverse construction order.
Public Functions
-
~VulkanContext()¶
Shuts down VMA and destroys Vulkan objects in reverse order.
-
const vk::raii::Instance &get_instance() const¶
Gets the Vulkan instance.
-
const VulkanDevice &get_device() const¶
Gets the logical device (const)
-
VulkanDevice &get_device()¶
Gets the logical device (mutable)
-
const VulkanPhysicalDevice &get_physical_device() const¶
Gets the selected physical device (GPU)
Public Static Functions
-
static std::unique_ptr<VulkanContext> create()¶
Initializes Vulkan object hierarchy and VMA.