XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALDrawIndirectDescription Struct Reference

#include <CommandList.h>

Public Member Functions

 XII_DECLARE_POD_TYPE ()
XII_ALWAYS_INLINE xiiGALDrawIndirectDescription ()=default
 Default-initialized indirect draw description.
XII_ALWAYS_INLINE xiiGALDrawIndirectDescription (xiiGALBuffer *pBuffer, xiiUInt32 uiDrawCount=1U, xiiUInt64 uiDrawArgumentOffset=0U, xiiUInt32 uiDrawArgumentStride=16U, xiiEnum< xiiGALStateTransitionMode > bufferStateTransition=xiiGALStateTransitionMode::None, xiiGALBuffer *pCounterBuffer=nullptr, xiiUInt64 uiCounterOffset=0U, xiiEnum< xiiGALStateTransitionMode > counterBufferStateTransition=xiiGALStateTransitionMode::None)

Public Attributes

xiiGALBuffer * m_pBuffer = nullptr
 Buffer containing draw arguments.
xiiUInt64 m_uiDrawArgumentOffset = 0U
 Byte offset to the first draw argument.
xiiUInt32 m_uiDrawCount = 1U
 Number of draws to execute.
xiiUInt32 m_uiDrawArgumentStride = 16U
 Stride between draw arguments in bytes.
xiiEnum< xiiGALStateTransitionMode > m_BufferStateTransition = xiiGALStateTransitionMode::None
 State transition mode.
xiiGALBuffer * m_pCounterBuffer = nullptr
 Optional buffer containing draw count.
xiiUInt64 m_uiCounterOffset = 0U
 Byte offset to the draw count value.
xiiEnum< xiiGALStateTransitionMode > m_CounterBufferStateTransition = xiiGALStateTransitionMode::None
 State transition mode.

Detailed Description

Describes parameters for issuing indirect non-indexed draw calls.

Used to issue multiple draw calls from a GPU buffer containing draw arguments. Supports optional counter buffer for dynamic draw count.

See also
xiiGALCommandList::DrawIndirect

Constructor & Destructor Documentation

◆ xiiGALDrawIndirectDescription()

XII_ALWAYS_INLINE xiiGALDrawIndirectDescription::xiiGALDrawIndirectDescription ( xiiGALBuffer * pBuffer,
xiiUInt32 uiDrawCount = 1U,
xiiUInt64 uiDrawArgumentOffset = 0U,
xiiUInt32 uiDrawArgumentStride = 16U,
xiiEnum< xiiGALStateTransitionMode > bufferStateTransition = xiiGALStateTransitionMode::None,
xiiGALBuffer * pCounterBuffer = nullptr,
xiiUInt64 uiCounterOffset = 0U,
xiiEnum< xiiGALStateTransitionMode > counterBufferStateTransition = xiiGALStateTransitionMode::None )
inline

Constructs an indirect draw description with specified parameters.

Parameters
pBuffer- Buffer containing draw arguments.
uiDrawCount- Number of draws to execute.
uiDrawArgumentOffset- Byte offset to the first draw argument.
uiDrawArgumentStride- Stride between draw arguments in bytes.
bufferStateTransition- Resource state transition mode for the draw buffer.
pCounterBuffer- Optional buffer containing draw count.
uiCounterOffset- Byte offset to the draw count value.
counterBufferStateTransition- Resource state transition mode for the counter buffer.

The documentation for this struct was generated from the following file:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsFoundation/CommandEncoder/CommandList.h