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

Device memory properties. More...

#include <GraphicsTypes.h>

Public Member Functions

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

Public Attributes

Uint64 LocalMemory = 0
 The amount of local video memory that is inaccessible by CPU, in bytes.
 
Uint64 HostVisibleMemory = 0
 The amount of host-visible memory that can be accessed by CPU and is visible by GPU, in bytes.
 
Uint64 UnifiedMemory = 0
 The amount of unified memory that can be directly accessed by both CPU and GPU, in bytes.
 
Uint64 MaxMemoryAllocation = 0
 Maximum size of a continuous memory block.
 
CPU_ACCESS_FLAGS UnifiedMemoryCPUAccess = CPU_ACCESS_NONE
 Supported access types for the unified memory.
 
BIND_FLAGS MemorylessTextureBindFlags = BIND_NONE
 Indicates if device supports color and depth attachments in on-chip memory.
 

Detailed Description

Device memory properties.

Member Function Documentation

◆ operator==()

bool Diligent::AdapterMemoryInfo::operator== ( const AdapterMemoryInfo & 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

◆ HostVisibleMemory

Uint64 Diligent::AdapterMemoryInfo::HostVisibleMemory = 0

The amount of host-visible memory that can be accessed by CPU and is visible by GPU, in bytes.

Host-visible memory is where USAGE_DYNAMIC and USAGE_STAGING resources are typically allocated.

◆ LocalMemory

Uint64 Diligent::AdapterMemoryInfo::LocalMemory = 0

The amount of local video memory that is inaccessible by CPU, in bytes.

Device-local memory is where USAGE_DEFAULT and USAGE_IMMUTABLE resources are typically allocated.

On some devices it may not be possible to query the memory size, in which case all memory sizes will be zero.

◆ MaxMemoryAllocation

Uint64 Diligent::AdapterMemoryInfo::MaxMemoryAllocation = 0

Maximum size of a continuous memory block.

This is the maximum allowed size of non-sparse resources (IBuffer, ITexture, IDeviceMemory, IBottomLevelAS or ITopLevelAS).

◆ MemorylessTextureBindFlags

BIND_FLAGS Diligent::AdapterMemoryInfo::MemorylessTextureBindFlags = BIND_NONE

Indicates if device supports color and depth attachments in on-chip memory.

If supported, it will be combination of the following flags: Diligent::BIND_RENDER_TARGET, Diligent::BIND_DEPTH_STENCIL, Diligent::BIND_INPUT_ATTACHMENT.

◆ UnifiedMemory

Uint64 Diligent::AdapterMemoryInfo::UnifiedMemory = 0

The amount of unified memory that can be directly accessed by both CPU and GPU, in bytes.

Unified memory is where USAGE_UNIFIED resources are typically allocated, but resources with other usages may be allocated as well if there is no corresponding memory type.