ID3D12Device::GetCustomHeapProperties method
Divulges the equivalent custom heap properties that are used for non-custom heap types, based on the adapter's architectural properties.
Syntax
D3D12_HEAP_PROPERTIES GetCustomHeapProperties(
[in] UINT nodeMask,
D3D12_HEAP_TYPE heapType
);
Parameters
- nodeMask [in]
-
Type: UINT
For single-GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter). Each bit in the mask corresponds to a single node. Only 1 bit must be set. See Multi-Adapter.
- heapType
-
Type: D3D12_HEAP_TYPE
A D3D12_HEAP_TYPE-typed value that specifies the heap to get properties for. D3D12_HEAP_TYPE_CUSTOM is not supported as a parameter value.
Return value
Type: D3D12_HEAP_PROPERTIES
Returns a D3D12_HEAP_PROPERTIES structure that provides properties for the specified heap. The Type member of the returned D3D12_HEAP_PROPERTIES is always D3D12_HEAP_TYPE_CUSTOM.
When D3D12_FEATURE_DATA_ARCHITECTURE::UMA is FALSE, the returned D3D12_HEAP_PROPERTIES members convert as follows:
| Heap Type | How the returned D3D12_HEAP_PROPERTIES members convert |
|---|---|
| D3D12_HEAP_TYPE_UPLOAD | CPUPageProperty = WRITE_COMBINE, MemoryPoolPreference = L0. |
| D3D12_HEAP_TYPE_DEFAULT | CPUPageProperty = NOT_AVAILABLE, MemoryPoolPreference = L1. |
| D3D12_HEAP_TYPE_READBACK | CPUPageProperty = WRITE_BACK, MemoryPoolPreference = L0. |
When D3D12_FEATURE_DATA_ARCHITECTURE::UMA is TRUE and D3D12_FEATURE_DATA_ARCHITECTURE::CacheCoherentUMA is FALSE, the returned D3D12_HEAP_PROPERTIES members convert as follows:
| Heap Type | How the returned D3D12_HEAP_PROPERTIES members convert |
|---|---|
| D3D12_HEAP_TYPE_UPLOAD | CPUPageProperty = WRITE_COMBINE, MemoryPoolPreference = L0. |
| D3D12_HEAP_TYPE_DEFAULT | CPUPageProperty = NOT_AVAILABLE, MemoryPoolPreference = L0. |
| D3D12_HEAP_TYPE_READBACK | CPUPageProperty = WRITE_BACK, MemoryPoolPreference = L0. |
When D3D12_FEATURE_DATA_ARCHITECTURE::UMA is TRUE and D3D12_FEATURE_DATA_ARCHITECTURE::CacheCoherentUMA is TRUE, the returned D3D12_HEAP_PROPERTIES members convert as follows:
| Heap Type | How the returned D3D12_HEAP_PROPERTIES members convert |
|---|---|
| D3D12_HEAP_TYPE_UPLOAD | CPUPageProperty = WRITE_BACK, MemoryPoolPreference = L0. |
| D3D12_HEAP_TYPE_DEFAULT | CPUPageProperty = NOT_AVAILABLE, MemoryPoolPreference = L0. |
| D3D12_HEAP_TYPE_READBACK | CPUPageProperty = WRITE_BACK, MemoryPoolPreference = L0. |
Requirements
|
Header |
|
|---|---|
|
Library |
|
|
DLL |
|
See also