D3D12_HEAP_DESC structure (d3d12.h)

Describes a heap.

Syntax

typedef struct D3D12_HEAP_DESC {
  UINT64                SizeInBytes;
  D3D12_HEAP_PROPERTIES Properties;
  UINT64                Alignment;
  D3D12_HEAP_FLAGS      Flags;
} D3D12_HEAP_DESC;

Members

SizeInBytes

The size, in bytes, of the heap. To avoid wasting memory, applications should pass SizeInBytes values which are multiples of the effective Alignment; but non-aligned SizeInBytes is also supported, for convenience. To find out how large a heap must be to support textures with undefined layouts and adapter-specific sizes, call ID3D12Device::GetResourceAllocationInfo.

Properties

A D3D12_HEAP_PROPERTIES structure that describes the heap properties.

Alignment

The alignment value for the heap. Valid values:

Value Description
0 An alias for 64KB.
D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT #defined as 64KB.
D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT #defined as 4MB. An application must decide whether the heap will contain multi-sample anti-aliasing (MSAA), in which case, the application must choose D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT.

Flags

A combination of D3D12_HEAP_FLAGS-typed values that are combined by using a bitwise-OR operation. The resulting value identifies heap options. When creating heaps to support adapters with resource heap tier 1, an application must choose some flags.

Remarks

This structure is used by the CreateHeap method, and returned by the GetDesc method.

Requirements

Requirement Value
Header d3d12.h

See also

CD3DX12_HEAP_DESC

Core Structures

Descriptor Heaps