TachyonUI 0.1.0
High-performance UI for building tools.
Loading...
Searching...
No Matches
tachyon::vulkan::VulkanRenderCommandList Class Referencefinal

#include <gui_core/graphics/vulkan/vk_rhi.h>

Inheritance diagram for tachyon::vulkan::VulkanRenderCommandList:

Public Member Functions

 VulkanRenderCommandList (VulkanDeviceContext &deviceContext, VkCommandBuffer commandBuffer, VkDescriptorSet imageDescriptorSet, FrameData &frameData)
void DrawPrimitives (const tachyon::RHI::GpuPipeline &pipeline, const tachyon::GPUDrawPushConstants &pushConstants, uint32_t primitiveCount, uint32_t firstPrimitive, tachyon::PrimitiveShape shape) override
 Binds the pipeline and the GUI image set, pushes the constants and draws primitiveCount primitives starting at firstPrimitive, each as shape says; the vertex shader builds the vertices from the primitive.
void UploadTransientBuffers (std::span< const tachyon::RHI::UploadRequest > requests, std::span< tachyon::DeviceAddress > addresses) override
tachyon::RHI::ResidentBufferId UploadResidentBuffers (std::span< const tachyon::RHI::UploadRequest > requests, std::span< tachyon::DeviceAddress > addresses) override
tachyon::RHI::ResidentState ResidentBufferState (tachyon::RHI::ResidentBufferId id) const override
void ReleaseResidentBuffer (tachyon::RHI::ResidentBufferId id) override
 Frees the buffer once no frame in flight reads it; an unknown id does nothing.
Public Member Functions inherited from tachyon::RHI::RenderCommandList
virtual ~RenderCommandList ()=default
virtual void UploadTransientBuffers (std::span< const UploadRequest > requests, std::span< DeviceAddress > addresses)=0
 Copies a batch of transient data into storage that remains valid until this command list's frame fence signals.
virtual ResidentBufferId UploadResidentBuffers (std::span< const UploadRequest > requests, std::span< DeviceAddress > addresses)=0
 Copies a batch of data into GPU memory that stays until released, for data drawn again over many frames (a cached scope's primitives).

Constructor & Destructor Documentation

◆ VulkanRenderCommandList()

tachyon::vulkan::VulkanRenderCommandList::VulkanRenderCommandList ( VulkanDeviceContext & deviceContext,
VkCommandBuffer commandBuffer,
VkDescriptorSet imageDescriptorSet,
FrameData & frameData )
inline

Member Function Documentation

◆ DrawPrimitives()

void tachyon::vulkan::VulkanRenderCommandList::DrawPrimitives ( const tachyon::RHI::GpuPipeline & pipeline,
const tachyon::GPUDrawPushConstants & pushConstants,
uint32_t primitiveCount,
uint32_t firstPrimitive,
tachyon::PrimitiveShape shape )
overridevirtual

Binds the pipeline and the GUI image set, pushes the constants and draws primitiveCount primitives starting at firstPrimitive, each as shape says; the vertex shader builds the vertices from the primitive.

Implements tachyon::RHI::RenderCommandList.

◆ UploadTransientBuffers()

void tachyon::vulkan::VulkanRenderCommandList::UploadTransientBuffers ( std::span< const tachyon::RHI::UploadRequest > requests,
std::span< tachyon::DeviceAddress > addresses )
override

◆ UploadResidentBuffers()

tachyon::RHI::ResidentBufferId tachyon::vulkan::VulkanRenderCommandList::UploadResidentBuffers ( std::span< const tachyon::RHI::UploadRequest > requests,
std::span< tachyon::DeviceAddress > addresses )
override

◆ ResidentBufferState()

tachyon::RHI::ResidentState tachyon::vulkan::VulkanRenderCommandList::ResidentBufferState ( tachyon::RHI::ResidentBufferId id) const
overridevirtual

◆ ReleaseResidentBuffer()

void tachyon::vulkan::VulkanRenderCommandList::ReleaseResidentBuffer ( tachyon::RHI::ResidentBufferId id)
overridevirtual

Frees the buffer once no frame in flight reads it; an unknown id does nothing.

Implements tachyon::RHI::RenderCommandList.


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