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

This describes the sparse buffer properties. More...

#include <Buffer.h>

Inheritance diagram for xiiGALSparseBufferProperties:
[legend]

Public Member Functions

 XII_DECLARE_POD_TYPE ()
 
- Public Member Functions inherited from xiiHashableStruct< xiiGALSparseBufferProperties >
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_uiAddressSpaceSize = 0U
 The size of the sparse buffer virtual address space.
 
xiiUInt32 m_uiBlockSize = 0U
 

Detailed Description

This describes the sparse buffer properties.

Member Data Documentation

◆ m_uiBlockSize

xiiUInt32 xiiGALSparseBufferProperties::m_uiBlockSize = 0U

The size of the sparse memory block.

\note Offset in the buffer, memory offset and memory size that are used in sparse resource binding command, must be multiples of the block size. In Direct3D11 and Direct3D12, the block size is always 64Kb. In Vulkan, the block size is not documented, but is usually also 64Kb. 

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