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 >
 xiiHashableStruct (const xiiHashableStruct< xiiGALBufferCreationDescription > &other)
 
void operator= (const xiiHashableStruct< xiiGALBufferCreationDescription > &other)
 
XII_ALWAYS_INLINE constexpr bool operator== (const xiiHashableStruct< xiiGALBufferCreationDescription > &rhs) const=default
 
xiiUInt32 CalculateHash () const
 Calculates the 32 bit hash of the struct and returns it.
 

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::Default
 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: