DXGK_INTERRUPT_TYPE 枚举 (d3dkmddi.h)

DXGK_INTERRUPT_TYPE枚举指示显示微型端口驱动程序通知图形处理单元 (GPU) 计划的中断类型。

语法

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 函数时包含在 DXGKARGCB_NOTIFY_INTERRUPT_DATA 结构中的 DmaCompleted 结构的 SubmissionFenceId 成员中提供 DMA 缓冲区围栏标识符。 此 DMA 缓冲区围栏标识符是在调用驱动程序的 DxgkDdiSubmitCommand 函数期间为最新完成的 DMA 缓冲区分配的。
DXGK_INTERRUPT_DMA_PREEMPTED
值: 2
抢占请求已完成。 驱动程序必须在 PreemptionFenceId 成员中提供抢占围栏标识符,以及硬件完成的最新围栏标识符, (未在 DmaPreempted 结构的 LastCompletedFenceId 成员中抢占) ,该成员包含在对 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 开始支持。

设置此中断类型后,应在DXGKARGCB_NOTIFY_INTERRUPT_DATA结构的 DmaPageFaulted 成员中提供中断数据。
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
从 Windows 11 版本 22H2 (WDDM 3.1) 开始可用。
DXGK_INTERRUPT_GPU_ENGINE_STATE_CHANGE
值: 20
从 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