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. | |
Device memory properties.
|
inlineconstexpr |
Comparison operator tests if two structures are equivalent.
[in] | RHS | - reference to the structure to perform comparison with |
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.
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.
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).
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.
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.