D3D12_DRED_ALLOCATION_NODE structure (d3d12.h)

Describes, as a node in a linked list, data about an allocation tracked by Device Removed Extended Data (DRED). This data includes the GPU VA allocation ranges, and an associated runtime object debug name and type. Each D3D12_DRED_ALLOCATION_NODE object is singly linked to the next via its pNext member; except for the last node in the list, which has its pNext set to nullptr. A linked list structure is necessary because a runtime object can share allocation ranges with other objects.

If device removal is caused by a GPU page fault—and DRED page fault reporting is enabled—then DRED builds a list of D3D12_DRED_ALLOCATION_NODE structs that includes all matching allocation nodes for active and recently-freed runtime objects.


typedef struct D3D12_DRED_ALLOCATION_NODE {
  const char                       *ObjectNameA;
  const wchar_t                    *ObjectNameW;
  D3D12_DRED_ALLOCATION_TYPE       AllocationType;
  const D3D12_DRED_ALLOCATION_NODE *pNext;
  struct                           D3D12_DRED_ALLOCATION_NODE;



A pointer to the ANSI debug name of the allocated runtime object.


A pointer to the wide debug name of the allocated runtime object.


A D3D12_DRED_ALLOCATION_TYPE value representing the runtime object's allocation type.


A pointer to a constant D3D12_DRED_ALLOCATION_NODE representing the next allocation node in the list, or nullptr if this is the last node.



Minimum supported client Windows 10 Build 20348
Minimum supported server Windows 10 Build 20348
Header d3d12.h

See also