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_MULTIPLANE_OVERLAY_VSYNC_INFO
DXGKCB_NOTIFY_INTERRUPT_DATA_FLAGS