TachyonUI 0.1.0
High-performance UI for building tools.
Loading...
Searching...
No Matches
tachyon::vulkan::FrameData Struct Reference

#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

Member Data Documentation

◆ swapchainSemaphore

VkSemaphore tachyon::vulkan::FrameData::swapchainSemaphore = {}

◆ renderFence

VkFence tachyon::vulkan::FrameData::renderFence = {}

◆ frameDescriptors

DescriptorAllocatorGrowable tachyon::vulkan::FrameData::frameDescriptors = {}

◆ flushQueue

DeletionQueue tachyon::vulkan::FrameData::flushQueue = {}

◆ deletionQueue

DeletionQueue tachyon::vulkan::FrameData::deletionQueue = {}

◆ commandPool

VkCommandPool tachyon::vulkan::FrameData::commandPool = {}

◆ mainCommandBuffer

VkCommandBuffer tachyon::vulkan::FrameData::mainCommandBuffer = {}

◆ primitiveUploadBuffer

Buffer tachyon::vulkan::FrameData::primitiveUploadBuffer {}

Fence-protected, persistently mapped upload arena for GUI primitive streams, reused each time this frame slot comes round again.

◆ primitiveUploadAddress

VkDeviceAddress tachyon::vulkan::FrameData::primitiveUploadAddress = 0

◆ primitiveUploadCapacity

size_t tachyon::vulkan::FrameData::primitiveUploadCapacity = 0

◆ primitiveUploadOffset

size_t tachyon::vulkan::FrameData::primitiveUploadOffset = 0

◆ drawImage

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.

◆ depthImage

VulkanImage tachyon::vulkan::FrameData::depthImage = {}

◆ timestamps

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.

◆ timestampsWritten

bool tachyon::vulkan::FrameData::timestampsWritten = false

by the last frame in this slot


The documentation for this struct was generated from the following file: