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

This describes the buffer creation description. More...

#include <Buffer.h>

Inheritance diagram for xiiGALBufferCreationDescription:
[legend]

Public Member Functions

 XII_DECLARE_POD_TYPE ()
 
- Public Member Functions inherited from xiiHashableStruct< xiiGALBufferCreationDescription >
constexpr xiiHashableStruct () noexcept
 Default constructor. Initializes all bytes to zero.
 
 xiiHashableStruct (const xiiHashableStruct &other) noexcept
 Bitwise copy constructor.
 
xiiHashableStructoperator= (const xiiHashableStruct &other) noexcept
 Bitwise assignment operator.
 
bool operator== (const xiiHashableStruct &other) const noexcept
 Compares equality via raw byte comparison.
 
std::strong_ordering operator<=> (const xiiHashableStruct &other) const noexcept
 Compares ordering via raw byte comparison.
 
xiiUInt32 CalculateHash () const noexcept
 Calculates a 32-bit hash from raw bytes of the struct.
 
void Clear () noexcept
 Fills all bytes with zero.
 
bool IsZero () const noexcept
 Returns true if all bytes are zero.
 

Public Attributes

xiiUInt64 m_uiSize = 0U
 The size of the buffer in bytes. For a uniform (constant) buffer, this must be a multiple of 16. The default is 0.
 
xiiBitflags< xiiGALBindFlagsm_BindFlags = xiiGALBindFlags::None
 The bind flags. Allowed flags are Vertex, Index, Uniform (Constant), Shader Resource, Stream Output, Unordered Access, Indirect Draw Args, Ray Tracing. Allowed flags for sparse resources are stored in the allowed sparse resource properties. The default is None.
 
xiiEnum< xiiGALResourceUsagem_Usage = xiiGALResourceUsage::Mutable
 The resource usage. The default is Default.
 
xiiBitflags< xiiGALCPUAccessFlagm_CPUAccessFlags = xiiGALCPUAccessFlag::None
 The CPU access flags or None if no CPU access is allowed. The default is None.
 
xiiEnum< xiiGALBufferModem_Mode = xiiGALBufferMode::Undefined
 The buffer mode. The default is Undefined.
 
xiiBitflags< xiiGALMiscBufferFlagsm_MiscFlags = xiiGALMiscBufferFlags::None
 The miscellaneous flags. The default is None.
 
xiiUInt32 m_uiElementByteStride = 0U
 The buffer element stride in bytes. For a structured buffer, this member defines the size of each buffer element. For a formatted buffer and optionally a raw buffer, this member defines the size of the format that will be used for views created for this buffer. For an index buffer, a stride of 2 will set the index buffer format to 16-bits. The default is 0.
 
xiiUInt64 m_uiCommandQueueMask = XII_BIT(0)
 

Detailed Description

This describes the buffer creation description.

Member Data Documentation

◆ m_uiCommandQueueMask

xiiUInt64 xiiGALBufferCreationDescription::m_uiCommandQueueMask = XII_BIT(0)

Defines which command queues are allowed to execute commands that use this buffer. The default is the main command queue. Only specify the bits that indicate those command queues where the resource will be used, setting unnecessary bits will result in extra overhead.


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