// d3dkmddi.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The DXGK_TDR_TYPE enumeration specifies the type of timeout detection and recovery (TDR) event that occurred.
DXGK_TDR_TYPE_UNKNOWN:0Reserved. A KMD's DxgkDdiCollectDbgInfo2 implementation shouldn't receive this value.
DXGK_TDR_TYPE_FORCED:1The TDR is forced via D3DKMT_ESCAPE_TDRDBGCTRL with zero data or with D3DKMT_TDRDBGCTRLTYPE_FORCETDR type.
DXGK_TDR_TYPE_PREEMPT_TIMEOUT:2For 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:3This 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:4This value is used for Display Only adapters when the TDR is forced via D3DKMT_TDRDBGCTRLTYPE_FORCEDODTDR escape.
DXGK_TDR_TYPE_DOD_PRESENT_TIMEOUT:5This value is used for Display Only adapters when they don't complete a present within the TDR timeout.
DXGK_TDR_TYPE_ENGINE_TIMEOUT:6This 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:7This value is used for Display Only adapters when the TDR is forced via D3DKMT_TDRDBGCTRLTYPE_FORCEDODVSYNCTDR escape.
DXGK_TDR_TYPE_DOD_VSYNC_TIMEOUT:8This 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:9This value is used when a GPU engine timeout is promoted by the OS to the full adapter reset.
DXGK_TDR_TYPE_PAGE_FAULT:10This 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:11This 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:12This 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:13This value is used when a display engine fault is detected by the OS.
For more information, see TDR debuggability improvements.