DXGK_INTERRUPT_TYPE枚举 (d3dkmddi.h)

DXGK_INTERRUPT_TYPE 枚举指示内核模式显示驱动程序(KMD)通知 Dxgkrnl 中断的类型。

语法

typedef enum _DXGK_INTERRUPT_TYPE {
  DXGK_INTERRUPT_DMA_COMPLETED = 1,
  DXGK_INTERRUPT_DMA_PREEMPTED = 2,
  DXGK_INTERRUPT_CRTC_VSYNC = 3,
  DXGK_INTERRUPT_DMA_FAULTED = 4,
  DXGK_INTERRUPT_DISPLAYONLY_VSYNC = 5,
  DXGK_INTERRUPT_DISPLAYONLY_PRESENT_PROGRESS = 6,
  DXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY = 7,
  DXGK_INTERRUPT_MICACAST_CHUNK_PROCESSING_COMPLETE = 8,
  DXGK_INTERRUPT_DMA_PAGE_FAULTED = 9,
  DXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY2 = 10,
  DXGK_INTERRUPT_MONITORED_FENCE_SIGNALED = 11,
  DXGK_INTERRUPT_HWQUEUE_PAGE_FAULTED = 12,
  DXGK_INTERRUPT_HWCONTEXTLIST_SWITCH_COMPLETED = 13,
  DXGK_INTERRUPT_PERIODIC_MONITORED_FENCE_SIGNALED = 14,
  DXGK_INTERRUPT_SCHEDULING_LOG_INTERRUPT = 15,
  DXGK_INTERRUPT_GPU_ENGINE_TIMEOUT = 16,
  DXGK_INTERRUPT_SUSPEND_CONTEXT_COMPLETED = 17,
  DXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY3 = 18,
  DXGK_INTERRUPT_NATIVE_FENCE_SIGNALED = 19,
  DXGK_INTERRUPT_GPU_ENGINE_STATE_CHANGE = 20
} DXGK_INTERRUPT_TYPE;

常数

 
DXGK_INTERRUPT_DMA_COMPLETED
值:1
使用围栏标识符完成直接内存访问 (DMA) 缓冲区。 驱动程序必须在调用 DxgkCbNotifyInterrupt 函数的 union 中 DmaCompletedDXGKARGCB_NOTIFY_INTERRUPT_DATA 结构的 成员的 SubmissionFenceId 中提供 DMA 缓冲区围栏标识符。 此 DMA 缓冲区围栏标识符是在调用驱动程序的 DxgkDdiSubmitCommand 函数时分配的,用于最新的已完成 DMA 缓冲区。
DXGK_INTERRUPT_DMA_PREEMPTED
值:2
抢占请求已完成。 驱动程序必须在 PreemptionFenceId 成员中提供抢占围栏标识符,以及硬件在 lastCompletedFenceId 中完成的最新围栏标识符(未抢占) DmaPreempted 结构的成员,该结构包含在调用 DxgkCbNotifyInterrupt 函数中的DXGKARGCB_NOTIFY_INTERRUPT_DATA结构中。

GPU 计划程序确定图形硬件在抢占请求和提交之间抢占了所有命令,以及具有最新围栏标识符的提交。
DXGK_INTERRUPT_CRTC_VSYNC
值:3
扫描已完成。 驱动程序必须在调用 DxgkCbNotifyInterrupt 函数时包含在 DXGKARGCB_NOTIFY_INTERRUPT_DATA 结构的联合 CrtcVsync 结构中提供信息。

在视频硬件进入垂直回溯期后,显示微型端口驱动程序会通知此中断类型,挂起的翻转地址被闩锁在 DAC 中并扫描出来。作系统调用驱动程序的 DxgkDdiControlInterrupt 函数禁用中断类型后,不需要显示微型端口驱动程序来报告此中断;但是,在作系统再次调用驱动程序的 DxgkDdiControlInterrupt 函数以启用中断类型后,驱动程序必须恢复报告。
DXGK_INTERRUPT_DMA_FAULTED
值:4
保留供系统使用。 请勿在驱动程序中使用。
DXGK_INTERRUPT_DISPLAYONLY_VSYNC
值:5
在内核模式仅显示驱动程序中,VSync 已完成。 从 Windows 8 开始支持。
DXGK_INTERRUPT_DISPLAYONLY_PRESENT_PROGRESS
值:6
在内核模式仅显示驱动程序中,当前作已完成或失败。 从 Windows 8 开始支持。
DXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY
值:7
Vsync 已在支持多平面覆盖的显示微型端口驱动程序中完成。 从 Windows 8.1 开始支持。
DXGK_INTERRUPT_MICACAST_CHUNK_PROCESSING_COMPLETE
值:8
GPU 已完成对 Miracast 编码区块进行编码。 从 Windows 8.1 开始支持。

显示微型端口驱动程序可以选择提供用户模式驱动程序可以使用 GetNextChunkData 函数获取的专用数据。
DXGK_INTERRUPT_DMA_PAGE_FAULTED
值:9
当 GPU 遇到需要 OS 执行恢复作的错误条件(例如将正在运行的数据包设备置于错误或重置 GPU)时,应引发此中断类型。 从 Windows 10 开始支持。

设置此中断类型时,应在 DmaPageFaultedDXGKARGCB_NOTIFY_INTERRUPT_DATA 结构的成员中提供中断数据。
DXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY2
值:10
Vsync 已在支持多平面覆盖的显示微型端口驱动程序中完成。 从 Windows 10 开始支持。
DXGK_INTERRUPT_MONITORED_FENCE_SIGNALED
值:11
发出受监视围栏信号时引发此中断类型。 从 Windows 10 开始支持。
DXGK_INTERRUPT_HWQUEUE_PAGE_FAULTED
值:12
当硬件队列页出错时引发此中断类型。 从 Windows 10 开始支持。
DXGK_INTERRUPT_HWCONTEXTLIST_SWITCH_COMPLETED
值:13
当硬件上下文列表开关完成时引发此中断类型。 从 Windows 10 开始支持。
DXGK_INTERRUPT_PERIODIC_MONITORED_FENCE_SIGNALED
值:14
当发出定期监视围栏信号时引发此中断类型。 从 Windows 10 开始支持。
DXGK_INTERRUPT_SCHEDULING_LOG_INTERRUPT
值:15
在计划日志中断期间引发。 从 Windows 10 开始支持。
DXGK_INTERRUPT_GPU_ENGINE_TIMEOUT
值:16
在 GPU 引擎超时时引发。从 Windows 10 开始支持。
DXGK_INTERRUPT_SUSPEND_CONTEXT_COMPLETED
值:17
挂起上下文完成后引发。 从 Windows 10 开始支持。
DXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY3
值:18
Vsync 已在支持 硬件翻转队列模型的显示微型端口驱动程序中完成。 从 Windows 11 开始支持(WDDM 3.0)。
DXGK_INTERRUPT_NATIVE_FENCE_SIGNALED
值:19
由 CPU 监视的一组 本机围栏 GPU 对象在 GPU 引擎上发出信号。 从 Windows 11 版本 24H2 开始支持。
DXGK_INTERRUPT_GPU_ENGINE_STATE_CHANGE
值:20
发生引擎状态转换时,需要 CPU 电源作或超时恢复。 从 Windows 11 版本 22H2(WDDM 3.1)开始可用。

要求

要求 价值
最低支持的客户端 Windows Vista
标头 d3dkmddi.h (包括 D3dkmddi.h)

另请参阅

DXGK_INTERRUPT_STATE

DXGKARG_CONTROLINTERRUPT2

DXGKARG_CONTROLINTERRUPT3

DXGKARGCB_NOTIFY_INTERRUPT_DATA

DxgkCbNotifyInterrupt

DxgkDdiControlInterrupt

DxgkDdi_ControlInterrupt2

DxgkDdi_ControlInterrupt3

DxgkDdiSubmitCommand

GetNextChunkData