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

#include <Command.hpp>

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

Classes

struct  Barriers
 

Public Member Functions

 VulkanCommandList (const VulkanCommandPool &commandPool)
 
auto constGetVkCommandBuffer () const
 
RHICommandListBegin () override
 
RHICommandListBeginTransition () override
 
RHICommandListSetBufferTransition (RHIBuffer *image, TransitionDesc const &desc) override
 
RHICommandListSetImageTransition (RHITexture *image, TransitionDesc const &desc) override
 
RHICommandListEndTransition () override
 
RHICommandListSetPipeline (PipelineDesc const &desc) override
 
RHICommandListBindDescriptorSet (RHIDevicePipelineType bindpoint, RHIPipelineState *pipeline, Span< RHIDeviceDescriptorSet *const > sets, size_t first) override
 
RHICommandListSetViewport (float x, float y, float width, float height, float depth_min=0.0, float depth_max=1.0) override
 
RHICommandListSetScissor (uint32_t x, uint32_t y, uint32_t width, uint32_t height) override
 
RHICommandListDraw (uint32_t vertex_count, uint32_t instance_count=1, uint32_t first_vertex=0, uint32_t first_instance=0) override
 
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) override
 
RHICommandListDrawIndexedIndirectCount (RHIBuffer *buffer, size_t offset, RHIBuffer *count_buffer, size_t count_offset, uint32_t max_draw_count, uint32_t stride) override
 
RHICommandListDrawMeshTasks (uint32_t group_count_x, uint32_t group_count_y, uint32_t group_count_z) override
 
RHICommandListDrawMeshTasksIndirect (RHIBuffer *cmd_buffer, size_t cmd_offset, size_t draw_count, size_t stride) override
 
RHICommandListPushConstant (RHIPipelineState *pipeline, RHIShaderStage stage, uint32_t offset, Core::Span< const char > data) override
 
RHICommandListFillBuffer (RHIBuffer *buffer, uint32_t value, size_t offset=0, size_t size=kFullSize) override
 
RHICommandListCopyBuffer (RHIBuffer *src_buffer, RHIBuffer *dst_buffer, Core::Span< const CopyBufferRegion > regions) override
 
RHICommandListCopyImage (RHITexture *src_image, RHITextureLayout src_layout, RHITexture *dst_image, RHITextureLayout dst_layout, Core::Span< const CopyImageRegion > regions) override
 
RHICommandListCopyBufferToImage (RHIBuffer *src_buffer, RHITexture *dst_image, RHITextureLayout dst_layout, Core::Span< const CopyImageRegion > regions) override
 
RHICommandListBeginGraphics (GraphicsDesc const &desc) override
 
RHICommandListBindVertexBuffer (uint32_t index, Core::Span< RHIBuffer *const > buffers, Core::Span< const size_t > offsets) override
 
RHICommandListBindIndexBuffer (RHIBuffer *buffer, size_t offset, RHIResourceFormat format) override
 
RHICommandListEndGraphics () override
 
RHICommandListDispatch (uint32_t group_count_x, uint32_t group_count_y, uint32_t group_count_z) override
 
RHICommandListDebugBegin (const char *message) override
 
RHICommandListDebugInsertMarker (const char *message) override
 
RHICommandListDebugEnd () override
 
void End () override
 
void Reset () override
 
void DebugSetObjectName (const char *name) override
 
- Public Member Functions inherited from Foundation::RHI::RHICommandList
 RHICommandList (RHICommandPool const &commandPool)
 
- 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 VulkanCommandPoolmCommandPool
 
vk::raii::CommandBuffer mCommandBuffer { nullptr }
 
ScopedArena mArena
 
StackAllocator mAllocator
 
UniquePtr< BarriersmBarriers
 
- Protected Attributes inherited from Foundation::RHI::RHICommandList
const RHICommandPoolmCommandPool
 

Static Protected Attributes

static constexpr size_t kArenaSize = 2LL * (1LL << 20)
 

Constructor & Destructor Documentation

◆ VulkanCommandList()

VulkanCommandList::VulkanCommandList ( const VulkanCommandPool commandPool)

Member Function Documentation

◆ Begin()

RHICommandList & VulkanCommandList::Begin ( )
overridevirtual

◆ BeginGraphics()

RHICommandList & VulkanCommandList::BeginGraphics ( GraphicsDesc const desc)
overridevirtual

◆ BeginTransition()

RHICommandList & VulkanCommandList::BeginTransition ( )
overridevirtual

◆ BindDescriptorSet()

RHICommandList & VulkanCommandList::BindDescriptorSet ( RHIDevicePipelineType  bindpoint,
RHIPipelineState pipeline,
Span< RHIDeviceDescriptorSet *const sets,
size_t  first 
)
overridevirtual

◆ BindIndexBuffer()

RHICommandList & VulkanCommandList::BindIndexBuffer ( RHIBuffer buffer,
size_t  offset,
RHIResourceFormat  format 
)
overridevirtual

◆ BindVertexBuffer()

RHICommandList & VulkanCommandList::BindVertexBuffer ( uint32_t  index,
Core::Span< RHIBuffer *const buffers,
Core::Span< const size_t offsets 
)
overridevirtual

◆ CopyBuffer()

RHICommandList & VulkanCommandList::CopyBuffer ( RHIBuffer src_buffer,
RHIBuffer dst_buffer,
Core::Span< const CopyBufferRegion regions 
)
overridevirtual

◆ CopyBufferToImage()

RHICommandList & VulkanCommandList::CopyBufferToImage ( RHIBuffer src_buffer,
RHITexture dst_image,
RHITextureLayout  dst_layout,
Core::Span< const CopyImageRegion regions 
)
overridevirtual

◆ CopyImage()

RHICommandList & VulkanCommandList::CopyImage ( RHITexture src_image,
RHITextureLayout  src_layout,
RHITexture dst_image,
RHITextureLayout  dst_layout,
Core::Span< const CopyImageRegion regions 
)
overridevirtual

◆ DebugBegin()

RHICommandList & VulkanCommandList::DebugBegin ( const char message)
overridevirtual

◆ DebugEnd()

RHICommandList & VulkanCommandList::DebugEnd ( )
overridevirtual

◆ DebugInsertMarker()

RHICommandList & VulkanCommandList::DebugInsertMarker ( const char message)
overridevirtual

◆ DebugSetObjectName()

void VulkanCommandList::DebugSetObjectName ( const char name)
overridevirtual

◆ Dispatch()

RHICommandList & VulkanCommandList::Dispatch ( uint32_t  group_count_x,
uint32_t  group_count_y,
uint32_t  group_count_z 
)
overridevirtual

◆ Draw()

RHICommandList & VulkanCommandList::Draw ( uint32_t  vertex_count,
uint32_t  instance_count = 1,
uint32_t  first_vertex = 0,
uint32_t  first_instance = 0 
)
overridevirtual

◆ DrawIndexed()

RHICommandList & VulkanCommandList::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 
)
overridevirtual

◆ DrawIndexedIndirectCount()

RHICommandList & VulkanCommandList::DrawIndexedIndirectCount ( RHIBuffer buffer,
size_t  offset,
RHIBuffer count_buffer,
size_t  count_offset,
uint32_t  max_draw_count,
uint32_t  stride 
)
overridevirtual

◆ DrawMeshTasks()

RHICommandList & Foundation::RHI::VulkanCommandList::DrawMeshTasks ( uint32_t  group_count_x,
uint32_t  group_count_y,
uint32_t  group_count_z 
)
overridevirtual

◆ DrawMeshTasksIndirect()

RHICommandList & Foundation::RHI::VulkanCommandList::DrawMeshTasksIndirect ( RHIBuffer cmd_buffer,
size_t  cmd_offset,
size_t  draw_count,
size_t  stride 
)
overridevirtual

◆ End()

void VulkanCommandList::End ( )
overridevirtual

◆ EndGraphics()

RHICommandList & VulkanCommandList::EndGraphics ( )
overridevirtual

◆ EndTransition()

RHICommandList & VulkanCommandList::EndTransition ( )
overridevirtual

◆ FillBuffer()

RHICommandList & VulkanCommandList::FillBuffer ( RHIBuffer buffer,
uint32_t  value,
size_t  offset = 0,
size_t  size = kFullSize 
)
overridevirtual

◆ GetVkCommandBuffer()

auto const & Foundation::RHI::VulkanCommandList::GetVkCommandBuffer ( ) const
inline

◆ PushConstant()

RHICommandList & VulkanCommandList::PushConstant ( RHIPipelineState pipeline,
RHIShaderStage  stage,
uint32_t  offset,
Core::Span< const char data 
)
overridevirtual

◆ Reset()

void VulkanCommandList::Reset ( )
overridevirtual

◆ SetBufferTransition()

RHICommandList & VulkanCommandList::SetBufferTransition ( RHIBuffer image,
TransitionDesc const desc 
)
overridevirtual

◆ SetImageTransition()

RHICommandList & VulkanCommandList::SetImageTransition ( RHITexture image,
TransitionDesc const desc 
)
overridevirtual

◆ SetPipeline()

RHICommandList & VulkanCommandList::SetPipeline ( PipelineDesc const desc)
overridevirtual

◆ SetScissor()

RHICommandList & VulkanCommandList::SetScissor ( uint32_t  x,
uint32_t  y,
uint32_t  width,
uint32_t  height 
)
overridevirtual

◆ SetViewport()

RHICommandList & VulkanCommandList::SetViewport ( float  x,
float  y,
float  width,
float  height,
float  depth_min = 0.0,
float  depth_max = 1.0 
)
overridevirtual

Member Data Documentation

◆ kArenaSize

constexpr size_t Foundation::RHI::VulkanCommandList::kArenaSize = 2LL * (1LL << 20)
staticconstexprprotected

◆ mAllocator

StackAllocator Foundation::RHI::VulkanCommandList::mAllocator
protected

◆ mArena

ScopedArena Foundation::RHI::VulkanCommandList::mArena
protected

◆ mBarriers

UniquePtr<Barriers> Foundation::RHI::VulkanCommandList::mBarriers
protected

◆ mCommandBuffer

vk::raii::CommandBuffer Foundation::RHI::VulkanCommandList::mCommandBuffer { nullptr }
protected

◆ mCommandPool

const VulkanCommandPool& Foundation::RHI::VulkanCommandList::mCommandPool
protected

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