ID3D12Device::GetCustomHeapProperties(UINT,D3D12_HEAP_TYPE) method (d3d12.h)
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
[in] nodeMask
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 systems.
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
Requirement | Value |
---|---|
Target Platform | Windows |
Header | d3d12.h |
Library | D3D12.lib |
DLL | D3D12.dll |