Open 3D Engine Atom Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::DX12::IndirectBufferWriter Class Referencefinal

#include <IndirectBufferWriter.h>

Inherits AZ::RHI::IndirectBufferWriter.

Public Member Functions

 AZ_CLASS_ALLOCATOR (IndirectBufferWriter, AZ::ThreadPoolAllocator)
 
 AZ_RTTI (IndirectBufferWriter, "{A83429FE-19AD-423C-BEEA-884AA31DCD77}", 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)
 
IndirectBufferWriterSetVertexView (uint32_t slot, const StreamBufferView &view)
 
IndirectBufferWriterSetIndexView (const IndexBufferView &view)
 
IndirectBufferWriterDraw (const DrawLinear &arguments)
 
IndirectBufferWriterDrawIndexed (const DrawIndexed &arguments)
 
IndirectBufferWriterDispatch (const DispatchDirect &arguments)
 
IndirectBufferWriterSetRootConstants (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< IndirectBufferWriterCreate ()
 

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
Bufferm_buffer = 0
 
const IndirectBufferSignaturem_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
 

Detailed Description

DX12 Implementation of the RHI IndirectBufferWriter. It writes DX12 Indirect Commands into the a buffer or memory location. It supports Tier2 indirect commands.


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