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

DXGK_INTERRUPT_DMA_PREEMPTEDInterruptType 时使用的结构。

DmaPreempted.PreemptionFenceId

抢占请求的提交标识符。

DmaPreempted.LastCompletedFenceId

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

DmaPreempted.NodeOrdinal

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

DmaPreempted.EngineOrdinal

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

DmaFaulted

DXGK_INTERRUPT_DMA_FAULTEDInterruptType 时使用的结构。

DmaFaulted.FaultedFenceId

错误命令的标识符。

DmaFaulted.Status

错误命令的状态。

DmaFaulted.NodeOrdinal

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

DmaFaulted.EngineOrdinal

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

CrtcVsync

DXGK_INTERRUPT_CRTC_VSYNCInterruptType 时使用的结构。

CrtcVsync.VidPnTargetId

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

CrtcVsync.PhysicalAddress

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

CrtcVsync.PhysicalAdapterMask

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

DisplayOnlyVsync

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

DisplayOnlyVsync.VidPnTargetId

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

CrtcVsyncWithMultiPlaneOverlay

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

CrtcVsyncWithMultiPlaneOverlay.VidPnTargetId

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

CrtcVsyncWithMultiPlaneOverlay.PhysicalAdapterMask

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

CrtcVsyncWithMultiPlaneOverlay.MultiPlaneOverlayVsyncInfoCount

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

CrtcVsyncWithMultiPlaneOverlay.pMultiPlaneOverlayVsyncInfo

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

DisplayOnlyPresentProgress

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

MiracastEncodeChunkCompleted

DXGK_INTERRUPT_MICACAST_CHUNK_PROCESSING_COMPLETEInterruptType 时使用的结构。 受 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

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

CrtcVsyncWithMultiPlaneOverlay2.VidPnTargetId

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

CrtcVsyncWithMultiPlaneOverlay2.PhysicalAdapterMask

发生垂直同步的物理适配器掩码。 如果此成员包含有效值,则驱动程序还必须在 Flags 成员中设置 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

DXGK_INTERRUPT_MONITORED_FENCE_SIGNALEDInterruptType 时使用的结构。 从 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

DXGK_INTERRUPT_HWQUEUE_PAGE_FAULTEDInterruptType 时使用的结构。 从 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

设置 Wen 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

DXGK_INTERRUPT_SCHEDULING_LOG_INTERRUPTInterruptType 时使用的结构。 从 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

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

CrtcVsyncWithMultiPlaneOverlay3.VidPnTargetId

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

CrtcVsyncWithMultiPlaneOverlay3.PhysicalAdapterMask

发生垂直同步的物理适配器掩码。 如果此成员包含有效值,则驱动程序还必须在 Flags 成员中设置 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]DXGK_INTERRUPT_NATIVE_FENCE_SIGNALEDInterruptType 时使用的结构。 有关本机围栏的详细信息,请参阅 本机 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 将重新扫描所有挂起的本机围栏服务员,而不是由发出信号的本机围栏数组指定的子集。 仅当 DXGK_VIDSCHCAPS::OptimizedNativeFenceInterrupt 为 FALSE 时,Dxgkrnl 才读取此值。 从 Windows 11 版本 24H2 (WDDM 3.2) 开始受支持。

NativeFenceSignaled.hHWQueue

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

EngineStateChange

[in]DXGK_INTERRUPT_GPU_ENGINE_STATE_CHANGEInterruptType 时使用的结构。 有关详细信息,请参阅 用户模式工作提交。 从 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 参数指向由操作系统调用的微型端口实现的函数(如果适用),然后驱动程序会先填写参数信息,然后再使用DXGKCB_NOTIFY_INTERRUPT回调重新调用 OS。 然后,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