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

Classes

struct  AllocatedBuffer
struct  AllocatedImage
struct  Buffer
struct  DeletionQueue
 Library internal: destroy functions that run later, newest first. More...
struct  DescriptorAllocator
struct  DescriptorAllocatorGrowable
struct  DescriptorLayoutBuilder
struct  DescriptorWriter
struct  FontTexture
struct  FrameData
struct  FrameWaits
 Timeline semaphores the GUI's frame submissions wait on (VulkanGraphicsContext::AddFrameWait). More...
struct  GUIRenderContext
 The Vulkan-side GUI pipeline set, built once at device init from kPrimitiveSpecs. More...
struct  SwapchainState
class  UploadWorker
 Library internal: copies into mapped GPU memory on a thread of its own, so the main thread goes on recording commands. More...
struct  VisualBoxStyleBuffers
struct  VisualColorStyleBuffers
class  VulkanBuffer
class  VulkanDeviceContext
 The Vulkan device the GUI renders with: its own, or a host's (SetExternalDevice). More...
class  VulkanGraphicsContext
 The default graphics backend, on Vulkan 1.3. More...
class  VulkanImage
class  VulkanImageSet
class  VulkanRenderCommandList
class  VulkanRenderDevice
class  VulkanTextAtlasManager
class  VulkanWindowContext
struct  WindowVulkanState

Functions

void transition_image (VkCommandBuffer cmd, VkImage image, VkImageLayout currentLayout, VkImageLayout newLayout, VkPipelineStageFlags2 afterStage=VK_PIPELINE_STAGE_2_NONE)
 Records a layout transition of image into cmd.
void copy_image_to_image (VkCommandBuffer cmd, VkImage source, VkImage destination, VkExtent2D srcSize, VkExtent2D dstSize)
void generate_mipmaps (VkCommandBuffer cmd, VkImage image, VkExtent2D imageSize)
VkCommandPoolCreateInfo command_pool_create_info (uint32_t queueFamilyIndex, VkCommandPoolCreateFlags flags=0)
VkCommandBufferAllocateInfo command_buffer_allocate_info (VkCommandPool pool, uint32_t count=1)
VkCommandBufferBeginInfo command_buffer_begin_info (VkCommandBufferUsageFlags flags=0)
VkCommandBufferSubmitInfo command_buffer_submit_info (VkCommandBuffer cmd)
VkFenceCreateInfo fence_create_info (VkFenceCreateFlags flags=0)
VkSemaphoreCreateInfo semaphore_create_info (VkSemaphoreCreateFlags flags=0)
VkSubmitInfo2 submit_info (VkCommandBufferSubmitInfo *cmd, VkSemaphoreSubmitInfo *signalSemaphoreInfo, VkSemaphoreSubmitInfo *waitSemaphoreInfo)
VkPresentInfoKHR present_info ()
VkRenderingAttachmentInfo attachment_info (VkImageView view, VkClearValue *clear, VkImageLayout layout)
VkRenderingAttachmentInfo depth_attachment_info (VkImageView view, VkImageLayout layout)
VkRenderingInfo rendering_info (VkExtent2D renderExtent, VkRenderingAttachmentInfo *colorAttachment, VkRenderingAttachmentInfo *depthAttachment)
VkImageSubresourceRange image_subresource_range (VkImageAspectFlags aspectMask)
VkSemaphoreSubmitInfo semaphore_submit_info (VkPipelineStageFlags2 stageMask, VkSemaphore semaphore)
VkDescriptorSetLayoutBinding descriptorset_layout_binding (VkDescriptorType type, VkShaderStageFlags stageFlags, uint32_t binding)
VkDescriptorSetLayoutCreateInfo descriptorset_layout_create_info (VkDescriptorSetLayoutBinding *bindings, uint32_t bindingCount)
VkWriteDescriptorSet write_descriptor_image (VkDescriptorType type, VkDescriptorSet dstSet, VkDescriptorImageInfo *imageInfo, uint32_t binding)
VkWriteDescriptorSet write_descriptor_buffer (VkDescriptorType type, VkDescriptorSet dstSet, VkDescriptorBufferInfo *bufferInfo, uint32_t binding)
VkDescriptorBufferInfo buffer_info (VkBuffer buffer, VkDeviceSize offset, VkDeviceSize range)
VkImageCreateInfo image_create_info (VkFormat format, VkImageUsageFlags usageFlags, VkExtent3D extent)
VkImageViewCreateInfo imageview_create_info (VkFormat format, VkImage image, VkImageAspectFlags aspectFlags)
VkPipelineLayoutCreateInfo pipeline_layout_create_info ()
VkPipelineShaderStageCreateInfo pipeline_shader_stage_create_info (VkShaderStageFlagBits stage, VkShaderModule shaderModule, const char *entry="main")
bool load_shader_module (const char *filePath, VkDevice device, const VkAllocationCallbacks *callbacks, VkShaderModule *outShaderModule)
void OnVulkanError (VkResult result, const char *call)
 Logs a failed Vulkan call; the frame carries on.
bool IsDeviceLost ()
void SetDeviceLost (bool lost)
void WaitForFence (VkDevice device, VkFence fence)
 Waits for fence however long the GPU takes: VK_TIMEOUT only means the GPU is slow (a busy or stalled driver, a paused debugger).

Variables

constexpr VkFormat drawImageFormat = VK_FORMAT_B8G8R8A8_UNORM
 format of the images the GUI draws into
constexpr VkFormat depthImageFormat = VK_FORMAT_D32_SFLOAT
constexpr unsigned int FRAME_DELETION_SLOT_COUNT = 3
 Frame deletion queue slots: FRAME_OVERLAP + 1, so the slot pushed to is never the one flushed in the same frame (static-asserted against FRAME_OVERLAP).
constexpr unsigned int FRAME_OVERLAP = 2