![]() |
Vireo
0.0
Vireo 3D Rendering Hardware Interface
|
A command list (buffer) object
Manual page : Command Lists
Public Member Functions | |
| virtual void | begin () const = 0 |
| virtual void | end () const = 0 |
| virtual void | upload (const Buffer &destination, const void *source) = 0 |
| void | upload (const std::shared_ptr< const Buffer > &destination, const void *source) |
| virtual void | upload (const std::vector< BufferUploadInfo > &infos) |
| virtual void | upload (const Image &destination, const void *source, uint32_t firstMipLevel=0) = 0 |
| void | upload (const std::shared_ptr< const Image > &destination, const void *source, const uint32_t firstMipLevel=0) |
| virtual void | upload (const std::vector< ImageUploadInfo > &infos) |
| void | copy (const std::shared_ptr< Buffer > &source, const std::shared_ptr< const Image > &destination, const uint32_t sourceOffset=0, const uint32_t mipLevel=0, const bool rowPitchAlignment=true) const |
| virtual void | copy (const Buffer &source, const Image &destination, uint32_t sourceOffset=0, uint32_t mipLevel=0, bool rowPitchAlignment=true) const = 0 |
| virtual void | copy (const std::shared_ptr< Buffer > &source, const std::shared_ptr< Image > &destination, const std::vector< size_t > &sourceOffsets, bool rowPitchAlignment=true) const |
| virtual void | copy (const Buffer &source, const Image &destination, const std::vector< size_t > &sourceOffsets, bool rowPitchAlignment=true) const = 0 |
| virtual void | copy (const Image &source, const Buffer &destination, uint32_t destinationOffset=0, uint32_t mipLevel=0) const = 0 |
| void | copy (const std::shared_ptr< const Image > &source, const std::shared_ptr< Buffer > &destination, const uint32_t destinationOffset=0, const uint32_t firstMipLevel=0) const |
| virtual void | copy (const Buffer &source, const Buffer &destination, size_t size=Buffer::WHOLE_SIZE, uint32_t sourceOffset=0, uint32_t destinationOffset=0) const = 0 |
| void | copy (const std::shared_ptr< const Buffer > &source, const std::shared_ptr< const Buffer > &destination, const size_t size=Buffer::WHOLE_SIZE, const uint32_t sourceOffset=0, const uint32_t destinationOffset=0) const |
| virtual void | copy (const Buffer &source, const Buffer &destination, const std::vector< BufferCopyRegion > ®ions) const = 0 |
| void | copy (const std::shared_ptr< const Buffer > &source, const std::shared_ptr< const Buffer > &destination, const std::vector< BufferCopyRegion > ®ions) const |
| virtual void | uploadArray (const Image &destination, const std::vector< void * > &sources, uint32_t firstMipLevel=0) = 0 |
| void | uploadArray (const std::shared_ptr< const Image > &destination, const std::vector< void * > &sources, const uint32_t firstMipLevel=0) |
| virtual void | copy (const Image &source, const SwapChain &swapChain) const = 0 |
| void | copy (const std::shared_ptr< const Image > &source, const std::shared_ptr< const SwapChain > &swapChain) const |
| void | copy (const RenderTarget &source, const SwapChain &swapChain) const |
| void | copy (const std::shared_ptr< const RenderTarget > &source, const std::shared_ptr< const SwapChain > &swapChain) const |
| virtual void | beginRendering (const RenderingConfiguration &configuration) = 0 |
| virtual void | endRendering () |
| virtual void | dispatch (uint32_t x, uint32_t y, uint32_t z) const = 0 |
| virtual void | bindVertexBuffer (const Buffer &buffer, size_t offset=0) const = 0 |
| void | bindVertexBuffer (const std::shared_ptr< const Buffer > &buffer, const size_t offset=0) const |
| virtual void | bindVertexBuffers (const std::vector< std::shared_ptr< const Buffer >> &buffers, std::vector< size_t > offsets={}) const = 0 |
| virtual void | bindIndexBuffer (const Buffer &buffer, IndexType indexType=IndexType::UINT32, uint32_t firstIndex=0) const = 0 |
| void | bindIndexBuffer (const std::shared_ptr< const Buffer > &buffer, const IndexType indexType=IndexType::UINT32, const uint32_t firstIndex=0) const |
| virtual void | bindPipeline (Pipeline &pipeline) = 0 |
| virtual void | bindPipeline (const std::shared_ptr< Pipeline > &pipeline) |
| virtual void | bindDescriptors (const std::vector< std::shared_ptr< const DescriptorSet >> &descriptors, uint32_t firstSet=0) const = 0 |
| virtual void | bindDescriptor (const DescriptorSet &descriptor, uint32_t set) const = 0 |
| void | bindDescriptor (const std::shared_ptr< const DescriptorSet > &descriptor, const uint32_t set) const |
| virtual void | bindDescriptor (const DescriptorSet &descriptor, uint32_t set, uint32_t offset) const = 0 |
| void | bindDescriptor (const std::shared_ptr< const DescriptorSet > &descriptor, const uint32_t set, const uint32_t offset) const |
| virtual void | draw (uint32_t vertexCountPerInstance, uint32_t instanceCount=1, uint32_t firstVertex=0, uint32_t firstInstance=0) const = 0 |
| virtual void | drawIndexed (uint32_t indexCountPerInstance, uint32_t instanceCount=1, uint32_t firstIndex=0, uint32_t firstVertex=0, uint32_t firstInstance=0) const = 0 |
| virtual void | drawIndirect (const Buffer &buffer, size_t offset, uint32_t drawCount, uint32_t stride, uint32_t firstCommandOffset=0) = 0 |
| void | drawIndirect (const std::shared_ptr< Buffer > &buffer, const size_t offset, const uint32_t drawCount, const uint32_t stride, const uint32_t firstCommandOffset=0) |
| virtual void | drawIndexedIndirectCount (Buffer &buffer, size_t offset, Buffer &countBuffer, size_t countOffset, uint32_t maxDrawCount, uint32_t stride, uint32_t firstCommandOffset=0) = 0 |
| void | drawIndexedIndirectCount (const std::shared_ptr< Buffer > &buffer, const size_t offset, const std::shared_ptr< Buffer > &countBuffer, const size_t countOffset, const uint32_t maxDrawCount, const uint32_t stride, const uint32_t firstCommandOffset=0) |
| virtual void | drawIndexedIndirect (const Buffer &buffer, size_t offset, uint32_t maxDrawCount, uint32_t stride, uint32_t firstCommandOffset=0) = 0 |
| void | drawIndexedIndirect (const std::shared_ptr< Buffer > &buffer, const size_t offset, const uint32_t maxDrawCount, const uint32_t stride, const uint32_t firstCommandOffset=0) |
| virtual void | setViewports (const std::vector< Viewport > &viewports) const = 0 |
| virtual void | setScissors (const std::vector< Rect > &rects) const = 0 |
| virtual void | setViewport (const Viewport &viewport) const = 0 |
| virtual void | setScissors (const Rect &rect) const = 0 |
| virtual void | setStencilReference (uint32_t reference) const = 0 |
| virtual void | barrier (const std::shared_ptr< const Image > &image, ResourceState oldState, ResourceState newState, uint32_t firstMipLevel=0, uint32_t levelCount=1) const = 0 |
| virtual void | barrier (const std::shared_ptr< const RenderTarget > &renderTarget, ResourceState oldState, ResourceState newState) const = 0 |
| virtual void | barrier (const std::vector< std::shared_ptr< const RenderTarget >> &renderTargets, ResourceState oldState, ResourceState newState) const = 0 |
| virtual void | barrier (const std::shared_ptr< const SwapChain > &swapChain, ResourceState oldState, ResourceState newState) const = 0 |
| virtual void | pushConstants (const std::shared_ptr< const PipelineResources > &pipelineResources, const PushConstantsDesc &pushConstants, const void *data) const = 0 |
| virtual void | barrier (const Buffer &buffer, ResourceState oldState, ResourceState newState) const = 0 |
| virtual void | cleanup () = 0 |
| virtual | ~CommandList () = default |
| CommandList (CommandList &) = delete | |
| CommandList & | operator= (const CommandList &) = delete |
Static Public Attributes | |
| static constexpr uint32_t | indexTypeSize [] |
Protected Member Functions | |
| CommandList () = default | |
Protected Attributes | |
| Pipeline * | currentlyBoundPipeline {nullptr} |
|
virtualdefault |
|
delete |
|
protecteddefault |
|
pure virtual |
|
pure virtual |
Insert a memory dependency
| image | The image affected by this barrier. |
| oldState | Old state in an image state transition. |
| newState | New state in an image state transition. |
| firstMipLevel | The first mip level to include is this barrier |
| levelCount | Number of level to include |
|
pure virtual |
Insert a memory dependency
| renderTarget | The image affected by this barrier. |
| oldState | Old state in an image state transition. |
| newState | New state in an image state transition. |
|
pure virtual |
Insert a memory dependency
| swapChain | The image affected by this barrier. |
| oldState | Old state in an image state transition. |
| newState | New state in an image state transition. |
|
pure virtual |
Insert a memory dependency
| renderTargets | The images affected by this barrier. |
| oldState | Old state in an image state transition. |
| newState | New state in an image state transition. |
|
pure virtual |
Start recording a command list
|
pure virtual |
Begin a render pass
|
pure virtual |
Bind descriptor set to a command list
| descriptor | The descriptor set to bind |
| set | The set number of the descriptor set to be bound |
|
pure virtual |
Binds a dynamic uniform descriptor set to a command list
| descriptor | The descriptor set to bind |
| set | The set number of the descriptor set to be bound |
| offset | Values specifying dynamic offsets for the UNIFORM_DYNAMIC resource. |
|
inline |
Binds descriptor set to a command list
| descriptor | The descriptor set to bind |
| set | The set number of the descriptor set to be bound |
|
inline |
Binds a dynamic uniform descriptor set to a command list
| descriptor | The descriptor set to bind |
| set | The set number of the descriptor set to be bound |
| offset | Values specifying dynamic offsets for the UNIFORM_DYNAMIC resource. |
|
pure virtual |
Bind descriptor sets to a command list
| descriptors | The descriptor sets to bind |
| firstSet | The set number of the first descriptor set to be bound |
|
pure virtual |
Binds an index buffer to a command list
| buffer | An index buffer |
| indexType | Value specifying the size of the indices |
| firstIndex | First index in the buffer |
|
inline |
Binds an index buffer to a command list
| buffer | An index buffer |
| indexType | Value specifying the size of the indices |
| firstIndex | First index in the buffer |
|
inlinevirtual |
Binds a pipeline object to a command list
|
pure virtual |
Binds a pipeline object to a command list
|
pure virtual |
Bind a vertex buffer to a command list
| buffer | A vertex buffer |
| offset | Offset in bytes |
|
inline |
Bind a vertex buffer to a command list
| buffer | A vertex buffer |
| offset | Offset in bytes |
|
pure virtual |
Binds vertex buffers to a command list
| buffers | Buffers to bind |
| offsets | Offsets for each buffer in bytes |
|
pure virtual |
Cleanup staging buffers used by upload functions
|
pure virtual |
Copy multiple regions of a buffer into another buffer
|
pure virtual |
Copy data from a buffer into another buffer
|
pure virtual |
Copy data from a buffer into a multi-level image. One sourceOffset offset in bytes for each level. If rowPitchAlignment is true (for Vulkan), the data in the buffer must have row-aligned data (cf. Image::IMAGE_ROW_PITCH_ALIGNMENT) for cross-API compatibility.
|
pure virtual |
Copy data from a buffer into an image level. If rowPitchAlignment is true (for Vulkan), the data in the buffer must have row-aligned data (cf. Image::IMAGE_ROW_PITCH_ALIGNMENT) for cross-API compatibility.
|
pure virtual |
Copy a level of an image into a buffer
Copy an image into the current swap chain image
|
inline |
Copy an image into the current swap chain image
|
inline |
Copy data from a buffer into an image level. If rowPitchAlignment is true (for Vulkan), the data in the buffer must have row-aligned data (cf. Image::IMAGE_ROW_PITCH_ALIGNMENT) for cross-API compatibility.
|
inlinevirtual |
Copy data from a buffer into a multi-level image. One sourceOffset offset in bytes for each level. If rowPitchAlignment is true (for Vulkan), the data in the buffer must have row-aligned data (cf. Image::IMAGE_ROW_PITCH_ALIGNMENT) for cross-API compatibility.
|
inline |
Copy data from a buffer into another buffer
|
inline |
Copy multiple regions of a buffer into another buffer
|
inline |
Copy an image into a buffer
|
inline |
Copy an image into the current swap chain image
|
inline |
Copy an image into the current swap chain image
|
pure virtual |
Dispatch compute work items
| x | The number of local workgroups to dispatch in the X dimension. |
| y | The number of local workgroups to dispatch in the Y dimension. |
| z | The number of local workgroups to dispatch in the Z dimension. |
|
pure virtual |
Draw primitives
| vertexCountPerInstance | The number of vertices per instance to draw |
| instanceCount | The number of instances |
| firstVertex | The index of the first vertex to draw |
| firstInstance | The index of the first instance to draw. |
|
pure virtual |
Draw primitives with indexed vertices
| indexCountPerInstance | The number of vertices per instance to draw |
| instanceCount | The number of instances |
| firstIndex | The base index within the index buffer. |
| firstVertex | The value added to the vertex index before indexing into the vertex buffer. |
| firstInstance | The index of the first instance to draw. |
|
pure virtual |
Draw primitives with indirect parameters and indexed vertices
| buffer | The buffer containing draw parameters. |
| offset | The byte offset into the buffer where parameters begin. |
| maxDrawCount | The maximum number of draws that will be executed. The actual number of executed draw calls is the minimum of the count specified in countBuffer and maxDrawCount |
| stride | The byte stride between successive sets of draw parameters. |
|
inline |
Draw primitives with indirect parameters and indexed vertices
| buffer | The buffer containing draw parameters. |
| offset | The byte offset into the buffer where parameters begin. |
| maxDrawCount | The maximum number of draws that will be executed. The actual number of executed draw calls is the minimum of the count specified in countBuffer and maxDrawCount |
| stride | The byte stride between successive sets of draw parameters. |
|
pure virtual |
Draw primitives with indirect parameters and indexed vertices
| buffer | The buffer containing draw parameters. |
| offset | The byte offset into the buffer where parameters begin. |
| countBuffer | The buffer containing the draw count. |
| countOffset | The byte offset into countBuffer where the draw count begins. |
| maxDrawCount | The maximum number of draws that will be executed. The actual number of executed draw calls is the minimum of the count specified in countBuffer and maxDrawCount |
| stride | The byte stride between successive sets of draw parameters. |
|
inline |
Draw primitives with indirect parameters and indexed vertices
| buffer | The buffer containing draw parameters. |
| offset | The byte offset into the buffer where parameters begin. |
| countBuffer | The buffer containing the draw count. |
| countOffset | The byte offset into countBuffer where the draw count begins. |
| maxDrawCount | The maximum number of draws that will be executed. The actual number of executed draw calls is the minimum of the count specified in countBuffer and maxDrawCount |
| stride | The byte stride between successive sets of draw parameters. |
|
pure virtual |
Draw primitives with indirect parameters
| buffer | The buffer containing draw parameters. |
| offset | The byte offset into the buffer where parameters begin. |
| drawCount | The number of draws to execute, and can be zero. |
| stride | The byte stride between successive sets of draw parameters. |
|
inline |
Draw primitives with indirect parameters
| buffer | The buffer containing draw parameters. |
| offset | The byte offset into the buffer where parameters begin. |
| drawCount | The number of draws to execute, and can be zero. |
| stride | The byte stride between successive sets of draw parameters. |
|
pure virtual |
Stop recording a command list
|
inlinevirtual |
End a render pass
|
delete |
|
pure virtual |
Update the values of push constants
| pipelineResources | The pipeline layout used to program the push constant updates. |
| pushConstants | The push constant description |
| data | The new push constant values. |
|
pure virtual |
Sets the scissors for a command list
| rect | An array of Extent structures specifying viewport parameters. |
|
pure virtual |
Sets the scissors for a command list
| rects | An array of Rect structures specifying viewport parameters. |
|
pure virtual |
Set the reference value for stencil tests and operations
|
pure virtual |
Sets the viewport for a command list
| viewport | An array of Extent structures specifying viewport parameters. |
|
pure virtual |
Sets the viewports for a command list
| viewports | An array of Viewport structures specifying viewport parameters |
|
pure virtual |
Uploads data into a buffer using a temporary (staging) buffer.
|
pure virtual |
Upload data into an image using a temporary (staging) buffer.
|
inline |
Uploads data into a buffer using a temporary (staging) buffer.
|
inline |
Upload data into an image using a temporary (staging) buffer.
|
virtual |
Uploads data into buffers using temporary (staging) buffers.
|
virtual |
Uploads data into images using temporary (staging) buffers.
|
pure virtual |
Upload images into an image array
|
inline |
Upload images into an image array
|
protected |
|
staticconstexpr |