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

This describes the sparse texture properties. More...

#include <Texture.h>

Inheritance diagram for xiiGALSparseTextureProperties:
[legend]

Public Member Functions

 XII_DECLARE_POD_TYPE ()
 
- Public Member Functions inherited from xiiHashableStruct< xiiGALSparseTextureProperties >
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 texture's virtual address space. The default is 0.
 
xiiUInt64 m_uiMipTailOffset = 0U
 Specifies where to bind the mip tail memory. Reserved for internal use.
 
xiiUInt64 m_uiMipTailStride = 0U
 Specifies how to calculate the mip tail offset for 2D array texture. Reserved for internal use.
 
xiiUInt64 m_uiMipTailSize = 0U
 
xiiUInt32 m_uiFirstMipInTail = 0U
 The first mip level in the mip tail that is packed as a whole into one or multiple memory blocks. The default is 0.
 
xiiVec3U32 m_vTileSize
 Specifies the dimension of a tile packed into a single memory block.
 
xiiUInt32 m_uiBlockSize = 0U
 
xiiBitflags< xiiGALSparseTextureFlagsm_Flags = xiiGALSparseTextureFlags::None
 Flags that describe additional packing modes. The default is None.
 

Detailed Description

This describes the sparse texture properties.

Member Data Documentation

◆ m_uiBlockSize

xiiUInt32 xiiGALSparseTextureProperties::m_uiBlockSize = 0U

Size of the sparse memory block, in bytes. The default is 0.

\remarks The offset in the packed mip tail, memory offset and memory size that are used in sparse memory binding command must be multiples of the block size.
         If the xiiGALSparseTextureFlags::NonStandardBlockSize flag is not set in the Flags member, the block size is equal to xiiGALSparseResourceProperties::m_uiStandardBlockSize. 

◆ m_uiMipTailSize

xiiUInt64 xiiGALSparseTextureProperties::m_uiMipTailSize = 0U

Specifies the mip tail size in bytes. The default is 0.

\note A single mip tail for a 2D array may exceed the 32-bit limit. 

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