IPixDxDumpFileDocument::GetDeviceRemovedExtendedData method

Gets Device Removed Extended Data (DRED). D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1::pHeadAutoBreadcrumbNode points to D3D12_AUTO_BREADCRUMB_NODE1 or earlier structs if DRED auto-breadcrumbs are enabled at the time of the device error. D3D12_AUTO_BREADCRUMB_NODE1::pCommandListDebugNameA points to the string set by ID3D12GraphicsCommandList::SetPrivateData with WKPDID_D3DDebugObjectName if called, nullptr otherwise. D3D12_AUTO_BREADCRUMB_NODE1::pCommandListDebugNameW points to the string set by ID3D12GraphicsCommandList::SetPrivateData with WKPDID_D3DDebugObjectNameW if called, nullptr otherwise. D3D12_AUTO_BREADCRUMB_NODE1::pCommandQueueDebugNameA points to the string set by ID3D12CommandQueue::SetPrivateData with WKPDID_D3DDebugObjectName if called, nullptr otherwise. D3D12_AUTO_BREADCRUMB_NODE1::pCommandQueueDebugNameW points to the string set by ID3D12CommandQueue::SetPrivateData with WKPDID_D3DDebugObjectNameW if called, nullptr otherwise. D3D12_AUTO_BREADCRUMB_NODE1::pCommandList is the address of the outstanding command list at the time of the device error and is not a valid pointer to dereference during postmortem debugging. D3D12_AUTO_BREADCRUMB_NODE1::pCommandQueue is the address of the outstanding command queue and is not a valid pointer to dereference during postmortem debugging. D3D12_AUTO_BREADCRUMB_NODE1::pLastBreadcrumbValue points to the number of pCommandHistory breadcrumbs ops completed at the time of device error or nullptr if no op completed. D3D12_AUTO_BREADCRUMB_NODE1::pCommandHistory points to an array of D3D12_AUTO_BREADCRUMB_OP values representing all of the render/compute operations recorded into the associated command list. D3D12_AUTO_BREADCRUMB_NODE1::pNext points to a D3D12_AUTO_BREADCRUMB_NODE1 representing the next auto-breadcrumb node in the list, or nullptr if this is the last node. D3D12_AUTO_BREADCRUMB_NODE1::pBreadcrumbContexts points to an array of D3D12_DRED_BREADCRUMB_CONTEXT representing PIX markers, or nullptr if there are no PIX markers. Members of D3D12_DRED_PAGE_FAULT_OUTPUT2 and older versions of the struct are valid if device error is caused by a GPU page fault and DRED page fault reporting is enabled at the time of device error. D3D12_DRED_PAGE_FAULT_OUTPUT2::pHeadExistingAllocationNode points to D3D12_DRED_ALLOCATION_NODE object representing the head of a linked list of allocation nodes for active allocated runtime objects with virtual address (VA) ranges that match the faulting VA (PageFaultVA) or nullptr if the list is empty. D3D12_DRED_PAGE_FAULT_OUTPUT2::pHeadRecentFreedAllocationNode points to D3D12_DRED_ALLOCATION_NODE object representing the head of a linked list of allocation nodes for recently freed runtime objects with virtual address (VA) ranges that match the faulting VA (PageFaultVA) or nullptr if the list is empty. D3D12_DRED_ALLOCATION_NODE1::ObjectNameA points to the ASCII debug name of the allocated runtime object, nullptr otherwise D3D12_DRED_ALLOCATION_NODE1::ObjectNameW points to the unicode debug name of the allocated runtime object, nullptr otherwise D3D12_DRED_ALLOCATION_NODE1::pNext points to D3D12_DRED_ALLOCATION_NODE1 representing the next allocation node in the list, or nullptr if this is the last node. D3D12_DRED_ALLOCATION_NODE1::pObject is the address of the allocated runtime object at the time of the device error and is not a valid pointer to dereference during postmortem debugging.

Syntax

D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA GetDeviceRemovedExtendedData();

Parameters

This method has no parameters.

Returns

The Device Removed Extended Data (DRED).

Remarks

Note

All pointers reachable from the returned struct are owned by PIX and valid for the lifetime of this IPixDxDumpFileDocument object; do not free them. Pointers that hold application/GPU addresses captured at the time of the device error (e.g. pCommandList, pCommandQueue, pObject) must not be dereferenced.

See also