|
TachyonUI 0.1.0
High-performance UI for building tools.
|
One frame's recording surface for one window. More...
#include <gui_core/graphics/gui_rhi.h>
Public Member Functions | |
| virtual | ~RenderCommandList ()=default |
| virtual void | DrawPrimitives (const GpuPipeline &pipeline, const GPUDrawPushConstants &pushConstants, uint32_t primitiveCount, uint32_t firstPrimitive, PrimitiveShape shape)=0 |
| 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. | |
| 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). | |
| virtual ResidentState | ResidentBufferState (ResidentBufferId id) const =0 |
| virtual void | ReleaseResidentBuffer (ResidentBufferId id)=0 |
| Frees the buffer once no frame in flight reads it; an unknown id does nothing. | |
One frame's recording surface for one window.
|
virtualdefault |
|
pure virtual |
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.
Implemented in tachyon::vulkan::VulkanRenderCommandList.
|
pure virtual |
Copies a batch of transient data into storage that remains valid until this command list's frame fence signals.
One device address is returned per request; empty requests produce address 0.
|
pure virtual |
Copies a batch of data into GPU memory that stays until released, for data drawn again over many frames (a cached scope's primitives).
The copy is made at the start of a later frame (see ResidentBufferState); the addresses are its final ones. One address per request; empty requests produce address 0, all-empty no buffer.
|
pure virtual |
Implemented in tachyon::vulkan::VulkanRenderCommandList.
|
pure virtual |
Frees the buffer once no frame in flight reads it; an unknown id does nothing.
Implemented in tachyon::vulkan::VulkanRenderCommandList.