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 TypeHow the returned D3D12_HEAP_PROPERTIES members convert
D3D12_HEAP_TYPE_UPLOADCPUPageProperty = WRITE_COMBINE, MemoryPoolPreference = L0.
D3D12_HEAP_TYPE_DEFAULTCPUPageProperty = NOT_AVAILABLE, MemoryPoolPreference = L1.
D3D12_HEAP_TYPE_READBACKCPUPageProperty = 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 TypeHow the returned D3D12_HEAP_PROPERTIES members convert
D3D12_HEAP_TYPE_UPLOADCPUPageProperty = WRITE_COMBINE, MemoryPoolPreference = L0.
D3D12_HEAP_TYPE_DEFAULTCPUPageProperty = NOT_AVAILABLE, MemoryPoolPreference = L0.
D3D12_HEAP_TYPE_READBACKCPUPageProperty = 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 TypeHow the returned D3D12_HEAP_PROPERTIES members convert
D3D12_HEAP_TYPE_UPLOADCPUPageProperty = WRITE_BACK, MemoryPoolPreference = L0.
D3D12_HEAP_TYPE_DEFAULTCPUPageProperty = NOT_AVAILABLE, MemoryPoolPreference = L0.
D3D12_HEAP_TYPE_READBACKCPUPageProperty = WRITE_BACK, MemoryPoolPreference = L0.

 

Requirements

Header

D3D12.h

Library

D3D12.lib

DLL

D3D12.dll

See also

ID3D12Device

 

 

Community Additions

Show: