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

#include <CommandList.h>

Public Member Functions

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

Public Attributes

xiiEnum< xiiGALValueType > m_IndexType = xiiGALValueType::Undefined
 Type of index data.
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 = 20U
 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 indexed draw calls.

Used to issue multiple indexed draw calls from a GPU buffer containing draw arguments. Supports optional counter buffer and index type specification.

See also
xiiGALCommandList::DrawIndexedIndirect

Constructor & Destructor Documentation

◆ xiiGALDrawIndexedIndirectDescription()

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

Constructs an indexed indirect draw description with specified parameters.

Parameters
indexType- Type of index data (e.g., 16-bit or 32-bit).
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