D3D12_MEMORY_POOL enumeration (d3d12.h)

Specifies the memory pool for the heap.

Syntax

typedef enum D3D12_MEMORY_POOL {
  D3D12_MEMORY_POOL_UNKNOWN = 0,
  D3D12_MEMORY_POOL_L0 = 1,
  D3D12_MEMORY_POOL_L1 = 2
} ;

Constants

 
D3D12_MEMORY_POOL_UNKNOWN
Value: 0
The memory pool is unknown.
D3D12_MEMORY_POOL_L0
Value: 1
The memory pool is L0.
L0 is the physical system memory pool.
When the adapter is discrete/NUMA, this pool has greater bandwidth for the CPU and less bandwidth for the GPU.
When the adapter is UMA, this pool is the only one which is valid.
D3D12_MEMORY_POOL_L1
Value: 2
The memory pool is L1.
L1 is typically known as the physical video memory pool.
L1 is only available when the adapter is discrete/NUMA, and has greater bandwidth for the GPU and cannot even be accessed by the CPU.
When the adapter is UMA, this pool is not available.

Remarks

This enum is used by the D3D12_HEAP_PROPERTIES structure.

When the adapter is UMA, D3D12_MEMORY_POOL_L0 and DXGI_MEMORY_SEGMENT_GROUP_LOCAL refer to the same memory.

When

the adapter is not UMA: D3D12_MEMORY_POOL_L0 and DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL refer to the same memory. D3D12_MEMORY_POOL_L1 and DXGI_MEMORY_SEGMENT_GROUP_LOCAL refer to the same memory.

Requirements

Requirement Value
Header d3d12.h

See also

Core Enumerations

Descriptor Heaps