Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::SparseResourceProperties Struct Reference

Sparse memory properties. More...

#include <GraphicsTypes.h>

Public Member Functions

constexpr bool operator== (const SparseResourceProperties &RHS) const
 Comparison operator tests if two structures are equivalent.
 

Public Attributes

Uint64 AddressSpaceSize = 0
 The total amount of address space, in bytes, available for sparse resources.
 
Uint64 ResourceSpaceSize = 0
 The total amount of address space, in bytes, available for a single resource.
 
SPARSE_RESOURCE_CAP_FLAGS CapFlags = SPARSE_RESOURCE_CAP_FLAG_NONE
 Sparse resource capability flags, see Diligent::SPARSE_RESOURCE_CAP_FLAGS.
 
Uint32 StandardBlockSize = 0
 Size of the standard sparse memory block in bytes.
 
BIND_FLAGS BufferBindFlags = BIND_NONE
 Allowed bind flags for sparse buffer.
 

Detailed Description

Sparse memory properties.

Member Function Documentation

◆ operator==()

bool Diligent::SparseResourceProperties::operator== ( const SparseResourceProperties & RHS) const
inlineconstexpr

Comparison operator tests if two structures are equivalent.

Parameters
[in]RHS- reference to the structure to perform comparison with
Returns
  • True if all members of the two structures are equal.
  • False otherwise.

Member Data Documentation

◆ StandardBlockSize

Uint32 Diligent::SparseResourceProperties::StandardBlockSize = 0

Size of the standard sparse memory block in bytes.

In Direct3D11, Direct3D12 and Vulkan this is 64Kb. In Metal it is implementation-defined.

Query standard block support using IRenderDevice::GetSparseTextureFormatInfo() and check SparseTextureFormatInfo::Flags for SPARSE_TEXTURE_FLAG_NONSTANDARD_BLOCK_SIZE flag.

See also
SPARSE_RESOURCE_CAP_FLAG_STANDARD_2D_TILE_SHAPE, SPARSE_RESOURCE_CAP_FLAG_STANDARD_2DMS_TILE_SHAPE, SPARSE_RESOURCE_CAP_FLAG_STANDARD_3D_TILE_SHAPE, SPARSE_RESOURCE_CAP_FLAG_BUFFER_STANDARD_BLOCK.