D3D12_HEAP_PROPERTIES structure (d3d12.h)

Describes heap properties.

Syntax

typedef struct D3D12_HEAP_PROPERTIES {
  D3D12_HEAP_TYPE         Type;
  D3D12_CPU_PAGE_PROPERTY CPUPageProperty;
  D3D12_MEMORY_POOL       MemoryPoolPreference;
  UINT                    CreationNodeMask;
  UINT                    VisibleNodeMask;
} D3D12_HEAP_PROPERTIES;

Members

Type

A D3D12_HEAP_TYPE-typed value that specifies the type of heap.

CPUPageProperty

A D3D12_CPU_PAGE_PROPERTY-typed value that specifies the CPU-page properties for the heap.

MemoryPoolPreference

A D3D12_MEMORY_POOL-typed value that specifies the memory pool for the heap.

CreationNodeMask

For multi-adapter operation, this indicates the node where the resource should be created.

Exactly one bit of this UINT must be set. See Multi-adapter systems.

Passing zero is equivalent to passing one, in order to simplify the usage of single-GPU adapters.

VisibleNodeMask

For multi-adapter operation, this indicates the set of nodes where the resource is visible.

VisibleNodeMask must have the same bit set that is set in CreationNodeMask. VisibleNodeMask can also have additional bits set for cross-node resources, but doing so can potentially reduce performance for resource accesses, so you should do so only when needed.

Passing zero is equivalent to passing one, in order to simplify the usage of single-GPU adapters.

Remarks

This structure is used by the following:

Valid combinations of struct member values:

Requirements

Requirement Value
Header d3d12.h

See also

CD3DX12_HEAP_PROPERTIES

Core structures

Descriptor heaps