DXGKARGCB_NOTIFY_INTERRUPT_DATA结构(d3dkmddi.h)

DXGKARGCB_NOTIFY_INTERRUPT_DATA 结构包含 DXGKCB_NOTIFY_INTERRUPT 回调函数的中断通知信息。

语法

typedef struct _DXGKARGCB_NOTIFY_INTERRUPT_DATA {
  DXGK_INTERRUPT_TYPE                InterruptType;
  union {
    struct {
      UINT SubmissionFenceId;
      UINT NodeOrdinal;
      UINT EngineOrdinal;
    } DmaCompleted;
    struct {
      UINT PreemptionFenceId;
      UINT LastCompletedFenceId;
      UINT NodeOrdinal;
      UINT EngineOrdinal;
    } DmaPreempted;
    struct {
      UINT     FaultedFenceId;
      NTSTATUS Status;
      UINT     NodeOrdinal;
      UINT     EngineOrdinal;
    } DmaFaulted;
    struct {
      D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId;
      PHYSICAL_ADDRESS               PhysicalAddress;
      UINT                           PhysicalAdapterMask;
    } CrtcVsync;
    struct {
      D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId;
    } DisplayOnlyVsync;
    struct {
      D3DDDI_VIDEO_PRESENT_TARGET_ID     VidPnTargetId;
      UINT                               PhysicalAdapterMask;
      UINT                               MultiPlaneOverlayVsyncInfoCount;
      DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO *pMultiPlaneOverlayVsyncInfo;
    } CrtcVsyncWithMultiPlaneOverlay;
    DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS DisplayOnlyPresentProgress;
    struct {
      D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId;
      DXGK_MIRACAST_CHUNK_INFO       ChunkInfo;
      PVOID                          pPrivateDriverData;
      UINT                           PrivateDataDriverSize;
      NTSTATUS                       Status;
    } MiracastEncodeChunkCompleted;
    struct {
      UINT                       FaultedFenceId;
      UINT64                     FaultedPrimitiveAPISequenceNumber;
      DXGK_RENDER_PIPELINE_STAGE FaultedPipelineStage;
      UINT                       FaultedBindTableEntry;
      DXGK_PAGE_FAULT_FLAGS      PageFaultFlags;
      D3DGPU_VIRTUAL_ADDRESS     FaultedVirtualAddress;
      UINT                       NodeOrdinal;
      UINT                       EngineOrdinal;
      UINT                       PageTableLevel;
      DXGK_FAULT_ERROR_CODE      FaultErrorCode;
      HANDLE                     FaultedProcessHandle;
    } DmaPageFaulted;
    struct {
      D3DDDI_VIDEO_PRESENT_TARGET_ID      VidPnTargetId;
      UINT                                PhysicalAdapterMask;
      UINT                                MultiPlaneOverlayVsyncInfoCount;
      DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO2 *pMultiPlaneOverlayVsyncInfo;
      ULONGLONG                           GpuFrequency;
      ULONGLONG                           GpuClockCounter;
    } CrtcVsyncWithMultiPlaneOverlay2;
    struct {
      UINT NodeOrdinal;
      UINT EngineOrdinal;
    } MonitoredFenceSignaled;
    struct {
      UINT   NodeOrdinal;
      UINT   EngineOrdinal;
      UINT64 ContextSwitchFence;
    } HwContextListSwitchCompleted;
    struct {
      UINT64                     FaultedFenceId;
      D3DGPU_VIRTUAL_ADDRESS     FaultedVirtualAddress;
      UINT64                     FaultedPrimitiveAPISequenceNumber;
      union {
        HANDLE FaultedHwQueue;
        HANDLE FaultedHwContext;
        HANDLE FaultedProcessHandle;
      };
      UINT                       NodeOrdinal;
      UINT                       EngineOrdinal;
      DXGK_RENDER_PIPELINE_STAGE FaultedPipelineStage;
      UINT                       FaultedBindTableEntry;
      DXGK_PAGE_FAULT_FLAGS      PageFaultFlags;
      UINT                       PageTableLevel;
      DXGK_FAULT_ERROR_CODE      FaultErrorCode;
    } HwQueuePageFaulted;
    struct {
      D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId;
      UINT                           NotificationID;
    } PeriodicMonitoredFenceSignaled;
    struct {
      UINT NodeOrdinal;
      UINT EngineOrdinal;
    } SchedulingLogInterrupt;
    struct {
      UINT NodeOrdinal;
      UINT EngineOrdinal;
    } GpuEngineTimeout;
    struct {
      HANDLE hContext;
      UINT64 ContextSuspendFence;
    } SuspendContextCompleted;
    struct {
      D3DDDI_VIDEO_PRESENT_TARGET_ID      VidPnTargetId;
      UINT                                PhysicalAdapterMask;
      UINT                                MultiPlaneOverlayVsyncInfoCount;
      DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO3 *pMultiPlaneOverlayVsyncInfo;
      ULONGLONG                           GpuFrequency;
      ULONGLONG                           GpuClockCounter;
    } CrtcVsyncWithMultiPlaneOverlay3;
    struct {
      UINT   NodeOrdinal;
      UINT   EngineOrdinal;
      UINT   SignaledNativeFenceCount;
      HANDLE *pSignaledNativeFenceArray;
      HANDLE hHWQueue;
    } NativeFenceSignaled;
    struct {
      UINT              NodeOrdinal;
      UINT              EngineOrdinal;
      DXGK_ENGINE_STATE NewState;
    } EngineStateChange;
    struct {
      UINT Reserved[16];
    } Reserved;
  };
  DXGKCB_NOTIFY_INTERRUPT_DATA_FLAGS Flags;
} DXGKARGCB_NOTIFY_INTERRUPT_DATA;

成员

InterruptType

一个 DXGK_INTERRUPT_TYPE类型的值,指示显示微型端口驱动程序正在通知 GPU 计划程序中断的类型。

DmaCompleted

DXGK_INTERRUPT_DMA_COMPLETEDInterruptType 时使用的结构。

DmaCompleted.SubmissionFenceId

已完成命令的 DMA 缓冲区围栏标识符。 在调用驱动程序的 DXGKDDI_SUBMITCOMMAND 函数以获取最新的已完成的 DMA 缓冲区期间,分配了此标识符。

DmaCompleted.NodeOrdinal

生成通知的节点的从零开始的索引。

DmaCompleted.EngineOrdinal

NodeOrdinal 指定生成通知的节点中引擎的从零开始的索引。 对于不属于链接的图形适配器,应始终将 EngineOrdinal 设置为 0。 对于属于链接的图形适配器,请将 EngineOrdinal 设置为中断引擎所属链接中适配器的适配器索引。

DmaPreempted

InterruptTypeDXGK_INTERRUPT_DMA_PREEMPTED时使用的结构。

DmaPreempted.PreemptionFenceId

抢占请求的提交标识符。

DmaPreempted.LastCompletedFenceId

抢占前最后一个已完成命令的提交标识符。

DmaPreempted.NodeOrdinal

生成通知的节点的从零开始的索引。

DmaPreempted.EngineOrdinal

NodeOrdinal 指定生成通知的节点中引擎的从零开始的索引。 对于不属于链接的图形适配器,应始终将 EngineOrdinal 设置为 0。 对于属于链接的图形适配器,请将 EngineOrdinal 设置为中断引擎所属链接中适配器的适配器索引。 GPU 计划程序确定硬件在抢占请求与 LastCompletedFenceId 指定的提交之间抢占了所有命令。

DmaFaulted

InterruptTypeDXGK_INTERRUPT_DMA_FAULTED时使用的结构。

DmaFaulted.FaultedFenceId

错误命令的标识符。

DmaFaulted.Status

错误命令的状态。

DmaFaulted.NodeOrdinal

生成通知的节点的从零开始的索引。

DmaFaulted.EngineOrdinal

NodeOrdinal 指定生成通知的节点中引擎的从零开始的索引。 对于不属于链接的图形适配器,应始终将 EngineOrdinal 设置为 0。 对于属于链接的图形适配器,请将 EngineOrdinal 设置为中断引擎所属链接中适配器的适配器索引。

CrtcVsync

InterruptTypeDXGK_INTERRUPT_CRTC_VSYNC时使用的结构。

CrtcVsync.VidPnTargetId

视频演示网络(VidPN)拓扑路径中视频演示目标从零开始的标识号。 此数字表示发生垂直同步的视频演示目标。

CrtcVsync.PhysicalAddress

显示缓冲区的物理地址。 当监视器可见性关闭时,操作系统仍需要非NULL 物理地址。 如果可见性已打开,则此地址应设置为像素管道从中读取的物理地址。

CrtcVsync.PhysicalAdapterMask

发生垂直同步的物理适配器掩码。 如果此成员包含有效值,驱动程序还必须在 标志 成员中设置 ValidPhysicalAdapterMask 位字段标志。

DisplayOnlyVsync

InterruptTypeDXGK_INTERRUPT_DISPLAYONLY_VSYNC时使用的结构。 从 Windows 8 开始支持。

DisplayOnlyVsync.VidPnTargetId

对于仅显示驱动程序,视频演示网络(VidPN)拓扑路径中视频演示目标从零开始的标识号。 此数字表示发生垂直同步的视频演示目标。 从 Windows 8 开始支持。

CrtcVsyncWithMultiPlaneOverlay

InterruptTypeDXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY时使用的结构。 为支持多平面覆盖的微型端口驱动程序提供 VSync 通知。 从 Windows 8 开始支持。

CrtcVsyncWithMultiPlaneOverlay.VidPnTargetId

视频演示网络(VidPN)拓扑路径中视频演示目标从零开始的标识号。 此数字表示发生垂直同步的视频演示目标。 从 Windows 8 开始支持。

CrtcVsyncWithMultiPlaneOverlay.PhysicalAdapterMask

发生垂直同步的物理适配器掩码。 如果此成员包含有效值,驱动程序还必须在 标志 成员中设置 ValidPhysicalAdapterMask 位字段标志。 从 Windows 8 开始支持。

CrtcVsyncWithMultiPlaneOverlay.MultiPlaneOverlayVsyncInfoCount

可供显示的覆盖平面数。 从 Windows 8 开始支持。

CrtcVsyncWithMultiPlaneOverlay.pMultiPlaneOverlayVsyncInfo

指向 DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO 结构的指针,该结构指定要在 VSync 间隔期间显示的覆盖平面。 从 Windows 8 开始支持。

DisplayOnlyPresentProgress

提供内核模式仅显示驱动程序(KMDOD)当前操作进度的 DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS 结构。 当 InterruptTypeDXGK_INTERRUPT_DISPLAYONLY_PRESENT_PROGRESS时使用。 从 Windows 8 开始支持。

MiracastEncodeChunkCompleted

InterruptTypeDXGK_INTERRUPT_MICACAST_CHUNK_PROCESSING_COMPLETE时使用的结构。 WDDM 1.3 及更高版本支持显示在 Windows 8.1 及更高版本上运行的微型端口驱动程序。

MiracastEncodeChunkCompleted.VidPnTargetId

视频演示网络(VidPN)拓扑路径中视频演示目标从零开始的标识号。 此数字表示正在执行编码的视频演示目标。 从 Windows 8.1 开始支持。

MiracastEncodeChunkCompleted.ChunkInfo

DXGK_MIRACAST_CHUNK_INFO 显示微型端口驱动程序要报告的区块信息结构。 从 Windows 8.1 开始支持。

MiracastEncodeChunkCompleted.pPrivateDriverData

指向描述此编码区块的专用数据的块的指针。 从 Windows 8.1 开始支持。

MiracastEncodeChunkCompleted.PrivateDataDriverSize

pPrivateDriverData中专用数据块的大小(以字节为单位)。 此值不能大于驱动程序在 DXGK_MIRACAST_CAPS 结构中报告的 MaxChunkPrivateDriverDataSize 值。 从 Windows 8.1 开始支持。

MiracastEncodeChunkCompleted.Status

NTSTATUS 类型的值,该值指示是否已将编码区块成功添加到区块队列。 如果成功,则返回 STATUS_SUCCESS。 如果返回任何其他值,则无法将区块添加到队列中,并且所有未完成的区块都将丢失。 从 Windows 8.1 开始支持。

价值 意义
STATUS_SUCCESS 区块已成功添加到队列。
STATUS_INVALID_PARAMETER 参数已验证并确定不正确。
STATUS_NO_MEMORY 中断服务例程 (ISR) 用完了免费编码区块。

DmaPageFaulted

DXGK_INTERRUPT_DMA_PAGE_FAULTEDInterruptType 时使用的结构。 从 Windows 10 开始支持。

DmaPageFaulted.FaultedFenceId

错误的命令的提交围栏 ID。

如果无法可靠地确定有故障围栏,PageFaultFlags 应设置 DXGK_PAGE_FAULT_FENCE_INVALID 位,并且应 将 FaultedFenceId 设置为 0。 从 Windows 10 开始支持。

DmaPageFaulted.FaultedPrimitiveAPISequenceNumber

启用每个绘图围栏写入时,这将标识导致页面错误的绘图操作,或者如果这些信息不可用,则 DXGK_PRIMITIVE_API_SEQUENCE_NUMBER_UNKNOWN。 从 Windows 10 开始支持。

DmaPageFaulted.FaultedPipelineStage

呈现生成错误的管道阶段;如果这些信息不可用,则 DXGK_RENDER_PIPELINE_STAGE_UNKNOWN。 从 Windows 10 开始支持。

DmaPageFaulted.FaultedBindTableEntry

错误时要访问的资源的绑定表索引,或者 DXGK_BIND_TABLE_ENTRY_UNKNOWN 这些信息不可用时。 从 Windows 10 开始支持。

DmaPageFaulted.PageFaultFlags

指定故障性质的 DXGK_PAGE_FAULT_FLAGS 枚举中所述的标志。 从 Windows 10 开始支持。

DmaPageFaulted.FaultedVirtualAddress

故障的 GPU 虚拟地址,或者如果故障有另一个原因,则 D3DGPU_NULL。 在后一种情况下,应使用 FaultErrorCode 字段来描述 GPU 错误。 从 Windows 10 开始支持。

DmaPageFaulted.NodeOrdinal

生成通知的引擎的节点序号。 从 Windows 10 开始支持。

DmaPageFaulted.EngineOrdinal

生成通知的引擎序号。 从 Windows 10 开始支持。

DmaPageFaulted.PageTableLevel

描述尝试执行故障操作的页表级别。 从 Windows 10 开始支持。

DmaPageFaulted.FaultErrorCode

描述错误的 DXGK_FAULT_ERROR_CODE 结构。 从 Windows 10 开始支持。

DmaPageFaulted.FaultedProcessHandle

生成页错误的进程的 DirectX 图形内核进程句柄;如果无法确定出错的进程,则 NULL。 从 Windows 10 开始支持。

CrtcVsyncWithMultiPlaneOverlay2

InterruptTypeDXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY2时使用的结构。 从 Windows 10 版本 1607 开始支持。

CrtcVsyncWithMultiPlaneOverlay2.VidPnTargetId

具有多平面覆盖 Vidpn 目标 ID 的 Vsync。从 Windows 10 版本 1607 开始支持。

CrtcVsyncWithMultiPlaneOverlay2.PhysicalAdapterMask

发生垂直同步的物理适配器掩码。 如果此成员包含有效值,驱动程序还必须在 标志 成员中设置 ValidPhysicalAdapterMask 位字段标志。 从 Windows 10 版本 1607 开始支持。

CrtcVsyncWithMultiPlaneOverlay2.MultiPlaneOverlayVsyncInfoCount

可供显示的覆盖平面数。 从 Windows 10 版本 1607 开始支持。

CrtcVsyncWithMultiPlaneOverlay2.pMultiPlaneOverlayVsyncInfo

指向 DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO2 结构的指针,该结构指定 VSync 更新的每个覆盖平面的信息。 从 Windows 10 版本 1607 开始支持。

CrtcVsyncWithMultiPlaneOverlay2.GpuFrequency

GPU 时钟计数器的频率。 从 Windows 10 版本 1607 开始支持。

CrtcVsyncWithMultiPlaneOverlay2.GpuClockCounter

VSYNC 中断时 GPU 时钟计数器。 结合 GpuFrequency,这表示 VSYNC 中断的时间。 从 Windows 10 版本 1607 开始支持。

MonitoredFenceSignaled

InterruptTypeDXGK_INTERRUPT_MONITORED_FENCE_SIGNALED时使用的结构。 从 Windows 10 版本 1703 开始支持。

MonitoredFenceSignaled.NodeOrdinal

生成通知的引擎的节点序号。 从 Windows 10 版本 1703 开始支持。

MonitoredFenceSignaled.EngineOrdinal

生成通知的引擎序号。 从 Windows 10 版本 1703 开始支持。

HwContextListSwitchCompleted

DXGK_INTERRUPT_HWCONTEXTLIST_SWITCH_COMPLETEDInterruptType 时使用的结构。 从 Windows 10 版本 1703 开始支持。

HwContextListSwitchCompleted.NodeOrdinal

生成通知的引擎的节点序号。 从 Windows 10 版本 1703 开始支持。

HwContextListSwitchCompleted.EngineOrdinal

生成通知的引擎序号。 从 Windows 10 版本 1703 开始支持。

HwContextListSwitchCompleted.ContextSwitchFence

用于执行此切换操作的上下文切换围栏。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted

InterruptTypeDXGK_INTERRUPT_HWQUEUE_PAGE_FAULTED时使用的结构。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted.FaultedFenceId

错误的命令的 HW 队列进度围栏 ID。 如果无法可靠地确定故障围栏,PageFaultFlags 应设置DXGK_PAGE_FAULT_FENCE_INVALID标志。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted.FaultedVirtualAddress

故障的虚拟地址;如果故障有另一个原因,则为 0。 在后一种情况下,应使用 FaultErrorCode 字段来描述 GPU 错误。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted.FaultedPrimitiveAPISequenceNumber

启用每个绘图围栏写入时,标识导致页面错误的绘图,或者如果这些信息不可用,则DXGK_PRIMITIVE_API_SEQUENCE_NUMBER_UNKNOWN。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted.FaultedHwQueue

如果未设置DXGK_PAGE_FAULT_FENCE_INVALID,则指定生成错误的 HW 队列的句柄。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted.FaultedHwContext

设置DXGK_PAGE_FAULT_FENCE_INVALID和DXGK_PAGE_FAULT_HW_CONTEXT_VALID时,指定生成错误的 HW 上下文的句柄。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted.FaultedProcessHandle

设置温DXGK_PAGE_FAULT_FENCE_INVALID和DXGK_PAGE_FAULT_PROCESS_HANDLE_VALID,指定生成错误的进程的句柄。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted.NodeOrdinal

生成通知的引擎的节点序号。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted.EngineOrdinal

生成通知的引擎序号。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted.FaultedPipelineStage

呈现生成故障的管道阶段;如果这些信息不可用,则DXGK_RENDER_PIPELINE_STAGE_UNKNOWN。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted.FaultedBindTableEntry

错误时要访问的资源的绑定表索引,或者DXGK_BIND_TABLE_ENTRY_UNKNOWN这些信息不可用时。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted.PageFaultFlags

指定页面错误和恢复策略的性质的标志。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted.PageTableLevel

描述的页表级别,尝试了故障操作。 从 Windows 10 版本 1703 开始支持。

HwQueuePageFaulted.FaultErrorCode

包含描述错误的错误代码的结构。 从 Windows 10 版本 1703 开始支持。

PeriodicMonitoredFenceSignaled

DXGK_INTERRUPT_PERIODIC_MONITORED_FENCE_SIGNALEDInterruptType 时使用的结构。 从 Windows 10 版本 1703 开始支持。

PeriodicMonitoredFenceSignaled.VidPnTargetId

显示指示受监视围栏的显示。 从 Windows 10 版本 1703 开始支持。

PeriodicMonitoredFenceSignaled.NotificationID

通知 ID 作为多个可以附加到一个 VidPnSource。 从 Windows 10 版本 1703 开始支持。

SchedulingLogInterrupt

InterruptTypeDXGK_INTERRUPT_SCHEDULING_LOG_INTERRUPT时使用的结构。 从 Windows 10 版本 1803 开始支持。

SchedulingLogInterrupt.NodeOrdinal

引发计划日志中断的引擎的节点序号。 从 Windows 10 版本 1803 开始支持。

SchedulingLogInterrupt.EngineOrdinal

引发计划日志中断的引擎序号。 从 Windows 10 版本 1803 开始支持。

GpuEngineTimeout

DXGK_INTERRUPT_GPU_ENGINE_TIMEOUTInterruptType 时使用的结构。 从 Windows 10 版本 1803 开始支持。

GpuEngineTimeout.NodeOrdinal

已超时且需要重置的引擎的节点序号。 从 Windows 10 版本 1803 开始支持。

GpuEngineTimeout.EngineOrdinal

已超时且需要重置的引擎序号。 从 Windows 10 版本 1803 开始支持。

SuspendContextCompleted

DXGK_INTERRUPT_SUSPEND_CONTEXT_COMPLETEDInterruptType 时使用的结构。 从 Windows 10 版本 1803 开始支持。

SuspendContextCompleted.hContext

暂停确认所针对的硬件上下文。 从 Windows 10 版本 1803 开始支持。

SuspendContextCompleted.ContextSuspendFence

上下文挂起围栏。 从 Windows 10 版本 1803 开始支持。

CrtcVsyncWithMultiPlaneOverlay3

InterruptTypeDXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY3时使用的结构。 从 Windows Server 2022 开始可用(WDDM 2.9)。

CrtcVsyncWithMultiPlaneOverlay3.VidPnTargetId

具有多平面覆盖 Vidpn 目标 ID 的 Vsync。从 Windows Server 2022 开始可用(WDDM 2.9)。

CrtcVsyncWithMultiPlaneOverlay3.PhysicalAdapterMask

发生垂直同步的物理适配器掩码。 如果此成员包含有效值,驱动程序还必须在 标志 成员中设置 ValidPhysicalAdapterMask 位字段标志。 从 Windows Server 2022(WDDM 2.9)开始可用。

CrtcVsyncWithMultiPlaneOverlay3.MultiPlaneOverlayVsyncInfoCount

CrtcVsyncWithMultiPlaneOverlay3.pMultiPlaneOverlayVsyncInfo 指向的 DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO3 结构数。 这些结构描述可用于显示的覆盖平面。 从 Windows Server 2022(WDDM 2.9)开始可用。

CrtcVsyncWithMultiPlaneOverlay3.pMultiPlaneOverlayVsyncInfo

指向 DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO3 结构的数组的指针,该数组指定 VSync 更新的每个覆盖平面的信息。 有关详细信息,请参阅 硬件翻转队列。 从 Windows Server 2022(WDDM 2.9)开始可用。

CrtcVsyncWithMultiPlaneOverlay3.GpuFrequency

GPU 时钟计数器的频率。 从 Windows Server 2022(WDDM 2.9)开始可用。

CrtcVsyncWithMultiPlaneOverlay3.GpuClockCounter

VSYNC 中断时 GPU 时钟计数器。 结合 GpuFrequency,这表示 VSYNC 中断的时间。 从 Windows Server 2022(WDDM 2.9)开始可用。

NativeFenceSignaled

[in]InterruptTypeDXGK_INTERRUPT_NATIVE_FENCE_SIGNALED时使用的结构。 有关本机围栏的详细信息,请参阅 本机 GPU 围栏对象。 从 Windows 11 版本 24H2 开始支持(WDDM 3.2)。

NativeFenceSignaled.NodeOrdinal

生成通知的引擎的节点序号。 从 Windows 11 版本 24H2 开始支持(WDDM 3.2)。

NativeFenceSignaled.EngineOrdinal

生成通知的引擎序号。 从 Windows 11 版本 24H2 开始支持(WDDM 3.2)。

NativeFenceSignaled.SignaledNativeFenceCount

pSignaledNativeFenceArray 指向的信号本机围栏数组的大小。 从 Windows 11 版本 24H2 开始支持(WDDM 3.2)。

NativeFenceSignaled.pSignaledNativeFenceArray

包含已发出信号并要求取消阻止的所有本机围栏的 OS 内核模式句柄的数组。 如果此数组为空,OS 将重新扫描所有挂起的本机围栏服务员,而不是信号本机围栏数组指定的子集。 Dxgkrnl 仅当 DXGK_VIDSCHCAPS::OptimizedNativeFenceInterrupt 为 FALSE 时,才会读取此值。 从 Windows 11 版本 24H2 开始支持(WDDM 3.2)。

NativeFenceSignaled.hHWQueue

在引发中断的引擎上运行的 HWQueue 的 KMD 句柄。 如果此句柄为 NULL,则 Dxgkrnl 将重新扫描此引擎上所有 HWQueues 的日志缓冲区。 仅当 DXGK_VIDSCHCAPS::OptimizedNativeFenceInterrupt 为 TRUE 时,Dxgkrnl 才会读取此值。 从 Windows 11 版本 24H2 开始支持(WDDM 3.2)。

EngineStateChange

[in]InterruptTypeDXGK_INTERRUPT_GPU_ENGINE_STATE_CHANGE时使用的结构。 有关详细信息,请参阅 用户模式工作提交。 从 Windows 11 版本 24H2(WDDM 3.2)开始可用。

EngineStateChange.NodeOrdinal

其状态已更改的引擎的节点序号。 从 Windows 11 版本 24H2(WDDM 3.2)开始可用。

EngineStateChange.EngineOrdinal

其状态已更改的引擎序号。 从 Windows 11 版本 24H2(WDDM 3.2)开始可用。

EngineStateChange.NewState

指定引擎的新状态的 DXGK_ENGINE_STATE 值。 从 Windows 11 版本 24H2(WDDM 3.2)开始可用。

Reserved

保留以供将来使用。

Reserved.Reserved[16]

保留供将来使用的 32 位值的数组。

Flags

一个 DXGKCB_NOTIFY_INTERRUPT_DATA_FLAGS 结构,该结构指示显示微型端口驱动程序是否在调用 DxgkCbNotifyInterrupt 函数时提供物理适配器掩码。

言论

微型端口驱动程序将填充 DXGKARGCB_NOTIFY_INTERRUPT_DATA,然后使用 DXGKCB_SYNCHRONIZE_EXECUTION 回调与中断同步。 DXGKCB_SYNCHRONIZE_EXECUTION 回调的 SynchronizeRoutine 参数指向在适当情况下由 OS 调用的微型端口实现的函数,然后驱动程序在调用 OS 之前使用 DXGKCB_NOTIFY_INTERRUPT 回调填写参数信息。 然后,OS 将使用DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO2结构中的信息来处理中断。

根据 InterruptType 成员中的值,显示微型端口驱动程序应在此结构中设置适当的联合成员。 例如,对于直接内存访问(DMA)缓冲区围栏的末尾(对应于 InterruptType中的DXGK_INTERRUPT_DMA_COMPLETED值),驱动程序必须在 DmaCompleted 成员的 SubmissionFenceId 成员中设置值。 此值应为 DMA 缓冲区围栏标识符,驱动程序的 DxgkDdiSubmitCommand 函数分配给刚刚完成的 DMA 缓冲区。

要求

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

另请参阅

DXGK_INTERRUPT_TYPE

DXGK_MIRACAST_CAPS

DXGK_MIRACAST_CHUNK_INFO

DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO

DXGKCB_NOTIFY_INTERRUPT

DXGKCB_NOTIFY_INTERRUPT_DATA_FLAGS

DXGK_PAGE_FAULT_FLAGS

DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS

DxgkDdiSubmitCommand