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

This describes the texture creation description. More...

#include <Texture.h>

Inheritance diagram for xiiGALTextureCreationDescription:
[legend]

Public Member Functions

 XII_DECLARE_POD_TYPE ()
 
constexpr XII_ALWAYS_INLINE bool IsArray () const
 
constexpr XII_ALWAYS_INLINE bool Is1D () const
 
constexpr XII_ALWAYS_INLINE bool Is2D () const
 
constexpr XII_ALWAYS_INLINE bool Is3D () const
 
constexpr XII_ALWAYS_INLINE bool IsCube () const
 
constexpr XII_ALWAYS_INLINE xiiUInt32 GetArraySize () const
 
constexpr XII_ALWAYS_INLINE xiiUInt32 GetWidth () const
 
constexpr XII_ALWAYS_INLINE xiiUInt32 GetHeight () const
 
constexpr XII_ALWAYS_INLINE xiiUInt32 GetDepth () const
 
- Public Member Functions inherited from xiiHashableStruct< xiiGALTextureCreationDescription >
 xiiHashableStruct (const xiiHashableStruct< xiiGALTextureCreationDescription > &other)
 
void operator= (const xiiHashableStruct< xiiGALTextureCreationDescription > &other)
 
XII_ALWAYS_INLINE constexpr bool operator== (const xiiHashableStruct< xiiGALTextureCreationDescription > &rhs) const=default
 
xiiUInt32 CalculateHash () const
 Calculates the 32 bit hash of the struct and returns it.
 

Public Attributes

xiiEnum< xiiGALResourceDimensionm_Type = xiiGALResourceDimension::Undefined
 Texture type. The default is Undefined.
 
xiiSizeU32 m_Size = xiiSizeU32(0, 0)
 Texture width and height in pixels. The default is (0, 0).
 
xiiUInt32 m_uiArraySizeOrDepth = 1U
 For a 1D Array or 2D Array, the number of array slices. For a 3D texture, the number of depth slices. The default is 1.
 
xiiEnum< xiiGALResourceFormatm_Format = xiiGALResourceFormat::Unknown
 Texture format. The default is Unknown.
 
xiiUInt32 m_uiMipLevels = 1U
 Number of Mip levels in the texture. Multi-sampled textures can only have 1 Mip level. Specify 0 to create full mipmap chain. The default is 1.
 
xiiUInt32 m_uiSampleCount = 1U
 Number of samples. Only 2D textures or 2D texture arrays can be multi-sampled. The default is 1.
 
xiiBitflags< xiiGALBindFlagsm_BindFlags = xiiGALBindFlags::None
 Bind flags. The default is None.
 
xiiEnum< xiiGALResourceUsagem_Usage = xiiGALResourceUsage::Default
 Texture usage. The default is Default.
 
xiiBitflags< xiiGALCPUAccessFlagm_CPUAccessFlags = xiiGALCPUAccessFlag::None
 CPU access flags. The default is None.
 
xiiBitflags< xiiGALMiscTextureFlagsm_MiscFlags = xiiGALMiscTextureFlags::None
 Miscellaneous flags. The default is None.
 
xiiGALOptimizedClearValue m_ClearValue
 Optimized clear value.
 
xiiUInt64 m_uiCommandQueueMask = XII_BIT(0)
 
void * m_pExistingNativeObject = nullptr
 Can be used to encapsulate existing native textures in objects usable by the GAL.
 

Detailed Description

This describes the texture creation description.

Member Data Documentation

◆ m_uiCommandQueueMask

xiiUInt64 xiiGALTextureCreationDescription::m_uiCommandQueueMask = XII_BIT(0)

Defines which command queues are allowed to execute commands that use this texture. 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: