#include <IndirectBufferWriter.h>
Inherits AZ::RHI::IndirectBufferWriter.
Public Member Functions | |
AZ_CLASS_ALLOCATOR (IndirectBufferWriter, AZ::ThreadPoolAllocator) | |
AZ_RTTI (IndirectBufferWriter, "{089BDED9-EDF3-4C72-9B52-57926DD29BBA}", Base) | |
Public Member Functions inherited from AZ::RHI::IndirectBufferWriter | |
AZ_RTTI (IndirectBufferWriter, "{7F569E74-382B-44EC-B0C5-89C07A184B47}") | |
ResultCode | Init (Buffer &buffer, size_t byteOffset, uint32_t byteStride, uint32_t maxCommandSequences, const IndirectBufferSignature &signature) |
ResultCode | Init (void *memoryPtr, uint32_t byteStride, uint32_t maxCommandSequences, const IndirectBufferSignature &signature) |
IndirectBufferWriter * | SetVertexView (uint32_t slot, const StreamBufferView &view) |
IndirectBufferWriter * | SetIndexView (const IndexBufferView &view) |
IndirectBufferWriter * | Draw (const DrawLinear &arguments) |
IndirectBufferWriter * | DrawIndexed (const DrawIndexed &arguments) |
IndirectBufferWriter * | Dispatch (const DispatchDirect &arguments) |
IndirectBufferWriter * | SetRootConstants (const uint8_t *data, uint32_t byteSize) |
bool | NextSequence () |
bool | Seek (const uint32_t sequenceIndex) |
void | Flush () |
Flush changes into the destination buffer. Only valid when using a buffer. | |
bool | IsInitialized () const |
uint32_t | GetCurrentSequenceIndex () const |
void | Shutdown () override |
Public Member Functions inherited from AZ::RHI::Object | |
AZ_RTTI (Object, "{E43378F1-2331-4173-94B8-990ED20E6003}") | |
void | SetName (const Name &name) |
Sets the name of the object. | |
const Name & | GetName () const |
Returns the name set on the object by SetName. | |
uint32_t | use_count () |
Returns the current use count of the object. | |
Static Public Member Functions | |
static RHI::Ptr< IndirectBufferWriter > | Create () |
Additional Inherited Members | |
Protected Member Functions inherited from AZ::RHI::IndirectBufferWriter | |
uint8_t * | GetTargetMemory () const |
Protected Member Functions inherited from AZ::RHI::Object | |
void | add_ref () const |
void | release () const |
Protected Attributes inherited from AZ::RHI::IndirectBufferWriter | |
Buffer * | m_buffer = 0 |
const IndirectBufferSignature * | m_signature = nullptr |
uint32_t | m_maxSequences = 0 |
uint32_t | m_sequenceStride = 0 |
size_t | m_bufferOffset = 0 |
Protected Attributes inherited from AZ::RHI::Object | |
AZStd::atomic_int | m_useCount = 0 |
Vulkan implementation of the helper RHI class IndirectBufferWriter. It writes indirect commands into a memory location following the layout of the Vulkan's commands. It only supports Tier1 commands.