![]() |
XII Release 0.1.0
|
This describes the buffer creation description. More...
#include <Buffer.h>
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. | |
| xiiHashableStruct & | operator= (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< xiiGALBindFlags > | m_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< xiiGALResourceUsage > | m_Usage = xiiGALResourceUsage::Mutable |
| The resource usage. The default is Default. | |
| xiiBitflags< xiiGALCPUAccessFlag > | m_CPUAccessFlags = xiiGALCPUAccessFlag::None |
| The CPU access flags or None if no CPU access is allowed. The default is None. | |
| xiiEnum< xiiGALBufferMode > | m_Mode = xiiGALBufferMode::Undefined |
| The buffer mode. The default is Undefined. | |
| xiiBitflags< xiiGALMiscBufferFlags > | m_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) |
This describes the buffer creation description.
| 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.