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) |