Foundation
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Attributes | List of all members
Foundation::RHI::RHICommandList Class Referenceabstract

#include <Command.hpp>

Inheritance diagram for Foundation::RHI::RHICommandList:
Foundation::RHI::RHIObject Foundation::RHI::VulkanCommandList

Classes

struct  CopyBufferRegion
 
struct  CopyImageRegion
 
struct  GraphicsDesc
 
struct  PipelineDesc
 
struct  TransitionDesc
 

Public Member Functions

 RHICommandList (RHICommandPool const &commandPool)
 
virtual RHICommandListBeginTransition ()=0
 
virtual RHICommandListSetBufferTransition (RHIBuffer *buffer, TransitionDesc const &desc)=0
 
virtual RHICommandListSetImageTransition (RHITexture *image, TransitionDesc const &desc)=0
 
virtual RHICommandListEndTransition ()=0
 
virtual RHICommandListSetPipeline (PipelineDesc const &desc)=0
 
virtual RHICommandListBindDescriptorSet (RHIDevicePipelineType bindpoint, RHIPipelineState *pipeline, Span< RHIDeviceDescriptorSet *const > sets, size_t first=0)=0
 
virtual RHICommandListSetViewport (float x, float y, float width, float height, float depth_min=0.0, float depth_max=1.0)=0
 
virtual RHICommandListSetScissor (uint32_t x, uint32_t y, uint32_t width, uint32_t height)=0
 
virtual RHICommandListDraw (uint32_t vertex_count, uint32_t instance_count=1, uint32_t first_vertex=0, uint32_t first_instance=0)=0
 
virtual RHICommandListDrawIndexed (uint32_t index_count, uint32_t instance_count=1, uint32_t first_index=0, int32_t vertex_offset=0, uint32_t first_instance=0)=0
 
virtual RHICommandListDrawIndexedIndirectCount (RHIBuffer *cmd_buffer, size_t cmd_offset, RHIBuffer *count_buffer, size_t count_offset, uint32_t max_draw_count, uint32_t cmd_stride)=0
 
virtual RHICommandListDrawMeshTasks (uint32_t group_count_x, uint32_t group_count_y, uint32_t group_count_z)=0
 
virtual RHICommandListDrawMeshTasksIndirect (RHIBuffer *cmd_buffer, size_t cmd_offset, size_t draw_count, size_t stride)=0
 
virtual RHICommandListPushConstant (RHIPipelineState *pipeline, RHIShaderStage stage, uint32_t offset, Span< const char > data)=0
 
virtual RHICommandListFillBuffer (RHIBuffer *buffer, uint32_t value, size_t offset=0, size_t size=kFullSize)=0
 
virtual RHICommandListCopyBuffer (RHIBuffer *src_buffer, RHIBuffer *dst_buffer, Span< const CopyBufferRegion > regions)=0
 
virtual RHICommandListCopyImage (RHITexture *src_image, RHITextureLayout src_layout, RHITexture *dst_image, RHITextureLayout dst_layout, Span< const CopyImageRegion > regions)=0
 
virtual RHICommandListCopyBufferToImage (RHIBuffer *src_buffer, RHITexture *dst_image, RHITextureLayout dst_layout, Span< const CopyImageRegion > regions)=0
 
virtual RHICommandListBeginGraphics (GraphicsDesc const &desc)=0
 
virtual RHICommandListBindVertexBuffer (uint32_t index, Span< RHIBuffer *const > buffers, Span< const size_t > offsets)=0
 
virtual RHICommandListBindIndexBuffer (RHIBuffer *buffer, size_t offset=0, RHIResourceFormat format=RHIResourceFormat::R32Uint)=0
 
virtual RHICommandListEndGraphics ()=0
 
virtual RHICommandListDispatch (uint32_t group_count_x, uint32_t group_count_y, uint32_t group_count_z)=0
 
virtual RHICommandListDebugBegin (const char *message)=0
 
virtual RHICommandListDebugInsertMarker (const char *message)=0
 
virtual RHICommandListDebugEnd ()=0
 
virtual RHICommandListBegin ()=0
 
virtual void End ()=0
 
virtual void Reset ()=0
 
virtual void DebugSetObjectName (const char *name)=0
 
- Public Member Functions inherited from Foundation::RHI::RHIObject
 RHIObject ()=default
 
 RHIObject (RHIObject const &)=delete
 
RHIObjectoperator= (const RHIObject &)=delete
 
 RHIObject (RHIObject &&)=delete
 
RHIObjectoperator= (RHIObject &&)=delete
 
virtual ~RHIObject ()=default
 

Protected Attributes

const RHICommandPoolmCommandPool
 

Constructor & Destructor Documentation

◆ RHICommandList()

Foundation::RHI::RHICommandList::RHICommandList ( RHICommandPool const commandPool)
inline

Member Function Documentation

◆ Begin()

virtual RHICommandList & Foundation::RHI::RHICommandList::Begin ( )
pure virtual

◆ BeginGraphics()

virtual RHICommandList & Foundation::RHI::RHICommandList::BeginGraphics ( GraphicsDesc const desc)
pure virtual

◆ BeginTransition()

virtual RHICommandList & Foundation::RHI::RHICommandList::BeginTransition ( )
pure virtual

◆ BindDescriptorSet()

virtual RHICommandList & Foundation::RHI::RHICommandList::BindDescriptorSet ( RHIDevicePipelineType  bindpoint,
RHIPipelineState pipeline,
Span< RHIDeviceDescriptorSet *const sets,
size_t  first = 0 
)
pure virtual

◆ BindIndexBuffer()

virtual RHICommandList & Foundation::RHI::RHICommandList::BindIndexBuffer ( RHIBuffer buffer,
size_t  offset = 0,
RHIResourceFormat  format = RHIResourceFormat::R32Uint 
)
pure virtual

◆ BindVertexBuffer()

virtual RHICommandList & Foundation::RHI::RHICommandList::BindVertexBuffer ( uint32_t  index,
Span< RHIBuffer *const buffers,
Span< const size_t offsets 
)
pure virtual

◆ CopyBuffer()

virtual RHICommandList & Foundation::RHI::RHICommandList::CopyBuffer ( RHIBuffer src_buffer,
RHIBuffer dst_buffer,
Span< const CopyBufferRegion regions 
)
pure virtual

◆ CopyBufferToImage()

virtual RHICommandList & Foundation::RHI::RHICommandList::CopyBufferToImage ( RHIBuffer src_buffer,
RHITexture dst_image,
RHITextureLayout  dst_layout,
Span< const CopyImageRegion regions 
)
pure virtual

◆ CopyImage()

virtual RHICommandList & Foundation::RHI::RHICommandList::CopyImage ( RHITexture src_image,
RHITextureLayout  src_layout,
RHITexture dst_image,
RHITextureLayout  dst_layout,
Span< const CopyImageRegion regions 
)
pure virtual

◆ DebugBegin()

virtual RHICommandList & Foundation::RHI::RHICommandList::DebugBegin ( const char message)
pure virtual

◆ DebugEnd()

virtual RHICommandList & Foundation::RHI::RHICommandList::DebugEnd ( )
pure virtual

◆ DebugInsertMarker()

virtual RHICommandList & Foundation::RHI::RHICommandList::DebugInsertMarker ( const char message)
pure virtual

◆ DebugSetObjectName()

virtual void Foundation::RHI::RHICommandList::DebugSetObjectName ( const char name)
pure virtual

◆ Dispatch()

virtual RHICommandList & Foundation::RHI::RHICommandList::Dispatch ( uint32_t  group_count_x,
uint32_t  group_count_y,
uint32_t  group_count_z 
)
pure virtual

◆ Draw()

virtual RHICommandList & Foundation::RHI::RHICommandList::Draw ( uint32_t  vertex_count,
uint32_t  instance_count = 1,
uint32_t  first_vertex = 0,
uint32_t  first_instance = 0 
)
pure virtual

◆ DrawIndexed()

virtual RHICommandList & Foundation::RHI::RHICommandList::DrawIndexed ( uint32_t  index_count,
uint32_t  instance_count = 1,
uint32_t  first_index = 0,
int32_t  vertex_offset = 0,
uint32_t  first_instance = 0 
)
pure virtual

◆ DrawIndexedIndirectCount()

virtual RHICommandList & Foundation::RHI::RHICommandList::DrawIndexedIndirectCount ( RHIBuffer cmd_buffer,
size_t  cmd_offset,
RHIBuffer count_buffer,
size_t  count_offset,
uint32_t  max_draw_count,
uint32_t  cmd_stride 
)
pure virtual

◆ DrawMeshTasks()

virtual RHICommandList & Foundation::RHI::RHICommandList::DrawMeshTasks ( uint32_t  group_count_x,
uint32_t  group_count_y,
uint32_t  group_count_z 
)
pure virtual

◆ DrawMeshTasksIndirect()

virtual RHICommandList & Foundation::RHI::RHICommandList::DrawMeshTasksIndirect ( RHIBuffer cmd_buffer,
size_t  cmd_offset,
size_t  draw_count,
size_t  stride 
)
pure virtual

◆ End()

virtual void Foundation::RHI::RHICommandList::End ( )
pure virtual

◆ EndGraphics()

virtual RHICommandList & Foundation::RHI::RHICommandList::EndGraphics ( )
pure virtual

◆ EndTransition()

virtual RHICommandList & Foundation::RHI::RHICommandList::EndTransition ( )
pure virtual

◆ FillBuffer()

virtual RHICommandList & Foundation::RHI::RHICommandList::FillBuffer ( RHIBuffer buffer,
uint32_t  value,
size_t  offset = 0,
size_t  size = kFullSize 
)
pure virtual

◆ PushConstant()

virtual RHICommandList & Foundation::RHI::RHICommandList::PushConstant ( RHIPipelineState pipeline,
RHIShaderStage  stage,
uint32_t  offset,
Span< const char data 
)
pure virtual

◆ Reset()

virtual void Foundation::RHI::RHICommandList::Reset ( )
pure virtual

◆ SetBufferTransition()

virtual RHICommandList & Foundation::RHI::RHICommandList::SetBufferTransition ( RHIBuffer buffer,
TransitionDesc const desc 
)
pure virtual

◆ SetImageTransition()

virtual RHICommandList & Foundation::RHI::RHICommandList::SetImageTransition ( RHITexture image,
TransitionDesc const desc 
)
pure virtual

◆ SetPipeline()

virtual RHICommandList & Foundation::RHI::RHICommandList::SetPipeline ( PipelineDesc const desc)
pure virtual

◆ SetScissor()

virtual RHICommandList & Foundation::RHI::RHICommandList::SetScissor ( uint32_t  x,
uint32_t  y,
uint32_t  width,
uint32_t  height 
)
pure virtual

◆ SetViewport()

virtual RHICommandList & Foundation::RHI::RHICommandList::SetViewport ( float  x,
float  y,
float  width,
float  height,
float  depth_min = 0.0,
float  depth_max = 1.0 
)
pure virtual

Member Data Documentation

◆ mCommandPool

const RHICommandPool& Foundation::RHI::RHICommandList::mCommandPool
protected

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