Runtime.RHI.Vulkan (Visera.Runtime.RHI.Vulkan)¶
Runtime.RHI.Vulkan is the RHI Vulkan backend: maps RHI handles, commands and sync to Vulkan VkImage, VkBuffer, VkCommandBuffer, VkPipeline. Handles Vulkan instance/device creation, queue selection, memory allocation (Allocator) and resource/pipeline create/destroy; sync via Fence and Semaphore.
Responsibilities¶
- Resources: Allocator allocates device memory; Buffer, Image, Sampler, DescriptorSet/Layout, ShaderModule map to Vulkan; Pipeline (Compute/Render) with Cache and Layout manage pipeline state and descriptor layout.
- Commands: CommandPool allocates CommandBuffer; recording and submit via Vulkan queue submit.
- Synchronization: Sync module provides Fence (CPU waits GPU) and Semaphore (GPU–GPU) for frame sync and Present.
- Loader: Loader loads Vulkan entry points; Attachment defines color and depth attachment Vulkan descriptors.
Submodules¶
| Module | Description |
|---|---|
| Allocator | Device memory allocation. |
| Buffer, Image, Sampler | Buffer, image, sampler. |
| CommandPool, CommandBuffer | Command pool and command buffer. |
| DescriptorPool, DescriptorSet, DescriptorSetLayout | Descriptor pool, set and layout. |
| Pipeline | Pipeline (Cache, Layout, Compute, Render). |
| Sync | Fence, Semaphore. |
| Loader, Common, Attachment | Loader, common types, attachments. |