|
TachyonUI 0.1.0
High-performance UI for building tools.
|
#include <gui_core/graphics/vulkan/vk_window_context.h>
Public Attributes | |
| VkSemaphore | swapchainSemaphore = {} |
| VkFence | renderFence = {} |
| DescriptorAllocatorGrowable | frameDescriptors = {} |
| DeletionQueue | flushQueue = {} |
| DeletionQueue | deletionQueue = {} |
| VkCommandPool | commandPool = {} |
| VkCommandBuffer | mainCommandBuffer = {} |
| Buffer | primitiveUploadBuffer {} |
| Fence-protected, persistently mapped upload arena for GUI primitive streams, reused each time this frame slot comes round again. | |
| VkDeviceAddress | primitiveUploadAddress = 0 |
| size_t | primitiveUploadCapacity = 0 |
| size_t | primitiveUploadOffset = 0 |
| VulkanImage | drawImage = {} |
| Per-slot draw and depth images, so in-flight frames don't share them (frame N's blit reads drawImage while frame N+1 writes it). | |
| VulkanImage | depthImage = {} |
| VkQueryPool | timestamps = VK_NULL_HANDLE |
| GPU timestamps at the start and the end of the frame's drawing; none when the queue can't time. | |
| bool | timestampsWritten = false |
| by the last frame in this slot | |
| VkSemaphore tachyon::vulkan::FrameData::swapchainSemaphore = {} |
| VkFence tachyon::vulkan::FrameData::renderFence = {} |
| DescriptorAllocatorGrowable tachyon::vulkan::FrameData::frameDescriptors = {} |
| DeletionQueue tachyon::vulkan::FrameData::flushQueue = {} |
| DeletionQueue tachyon::vulkan::FrameData::deletionQueue = {} |
| VkCommandPool tachyon::vulkan::FrameData::commandPool = {} |
| VkCommandBuffer tachyon::vulkan::FrameData::mainCommandBuffer = {} |
| Buffer tachyon::vulkan::FrameData::primitiveUploadBuffer {} |
Fence-protected, persistently mapped upload arena for GUI primitive streams, reused each time this frame slot comes round again.
| VkDeviceAddress tachyon::vulkan::FrameData::primitiveUploadAddress = 0 |
| size_t tachyon::vulkan::FrameData::primitiveUploadCapacity = 0 |
| size_t tachyon::vulkan::FrameData::primitiveUploadOffset = 0 |
| VulkanImage tachyon::vulkan::FrameData::drawImage = {} |
Per-slot draw and depth images, so in-flight frames don't share them (frame N's blit reads drawImage while frame N+1 writes it).
The slot's renderFence wait in BeginWindowFrame gates their reuse.
| VulkanImage tachyon::vulkan::FrameData::depthImage = {} |
| VkQueryPool tachyon::vulkan::FrameData::timestamps = VK_NULL_HANDLE |
GPU timestamps at the start and the end of the frame's drawing; none when the queue can't time.
| bool tachyon::vulkan::FrameData::timestampsWritten = false |
by the last frame in this slot