DXGK_TDR_TYPE enumeration (d3dkmddi.h)

The DXGK_TDR_TYPE enumeration specifies the type of timeout detection and recovery (TDR) event that occurred.

Syntax

typedef enum _DXGK_TDR_TYPE {
  DXGK_TDR_TYPE_UNKNOWN = 0,
  DXGK_TDR_TYPE_FORCED = 1,
  DXGK_TDR_TYPE_PREEMPT_TIMEOUT = 2,
  DXGK_TDR_TYPE_VSYNC_TIMEOUT = 3,
  DXGK_TDR_TYPE_DOD_PRESENT_FORCED = 4,
  DXGK_TDR_TYPE_DOD_PRESENT_TIMEOUT = 5,
  DXGK_TDR_TYPE_ENGINE_TIMEOUT = 6,
  DXGK_TDR_TYPE_DOD_VSYNC_FORCED = 7,
  DXGK_TDR_TYPE_DOD_VSYNC_TIMEOUT = 8,
  DXGK_TDR_TYPE_ENGINE_TIMEOUT_PROMOTED = 9,
  DXGK_TDR_TYPE_PAGE_FAULT = 10,
  DXGK_TDR_TYPE_INVALID_FENCE = 11,
  DXGK_TDR_TYPE_ENGINE_PAGE_FAULT = 12,
  DXGK_TDR_TYPE_DISPLAY_ENGINE_FAULT = 13
} DXGK_TDR_TYPE;

Constants

 
DXGK_TDR_TYPE_UNKNOWN
Value: 0
Reserved. A KMD's DxgkDdiCollectDbgInfo2 implementation shouldn't receive this value.
DXGK_TDR_TYPE_FORCED
Value: 1
The TDR is forced via D3DKMT_ESCAPE_TDRDBGCTRL with zero data or with D3DKMT_TDRDBGCTRLTYPE_FORCETDR type.
DXGK_TDR_TYPE_PREEMPT_TIMEOUT
Value: 2
For drivers that don't support engine reset, this value is used prior to resetting the whole adapter that had one of the GPU engines time out.
DXGK_TDR_TYPE_VSYNC_TIMEOUT
Value: 3
This value is used when the display part of the GPU doesn't acknowledge a pending flip request in a timely manner.
DXGK_TDR_TYPE_DOD_PRESENT_FORCED
Value: 4
This value is used for Display Only adapters when the TDR is forced via D3DKMT_TDRDBGCTRLTYPE_FORCEDODTDR escape.
DXGK_TDR_TYPE_DOD_PRESENT_TIMEOUT
Value: 5
This value is used for Display Only adapters when they don't complete a present within the TDR timeout.
DXGK_TDR_TYPE_ENGINE_TIMEOUT
Value: 6
This value is used when a particular GPU engine can't complete pending GPU work or a preemption request within the TDR timeout.
DXGK_TDR_TYPE_DOD_VSYNC_FORCED
Value: 7
This value is used for Display Only adapters when the TDR is forced via D3DKMT_TDRDBGCTRLTYPE_FORCEDODVSYNCTDR escape.
DXGK_TDR_TYPE_DOD_VSYNC_TIMEOUT
Value: 8
This value is used for Display Only adapters when they don't raise a VSync interrupt within the TDR timeout.
DXGK_TDR_TYPE_ENGINE_TIMEOUT_PROMOTED
Value: 9
This value is used when a GPU engine timeout is promoted by the OS to the full adapter reset.
DXGK_TDR_TYPE_PAGE_FAULT
Value: 10
This value is used when an adapter reset is requested by a GPU page fault interrupt that set the DXGK_PAGE_FAULT_ADAPTER_RESET_REQUIRED flag to 1.
DXGK_TDR_TYPE_INVALID_FENCE
Value: 11
This value is used for certain legacy pre-WDDM 2.4 drivers when the GPU reports an incorrect submission or preempted fence value that results in a GPU reset.
DXGK_TDR_TYPE_ENGINE_PAGE_FAULT
Value: 12
This value is used when a GPU engine reset is requested by a GPU page fault interrupt that set the DXGK_PAGE_FAULT_ENGINE_RESET_REQUIRED flag to 1.
DXGK_TDR_TYPE_DISPLAY_ENGINE_FAULT
Value: 13
This value is used when a display engine fault is detected by the OS.

Remarks

For more information, see TDR debuggability improvements.

Requirements

Requirement Value
Minimum supported client Windows 11, version 24H2 (WDDM 3.2)
Header d3dkmddi.h

See also

DXGKARG_COLLECTDBGINFO2

DxgkDdiCollectDbgInfo2