DXGKARGCB_NOTIFY_INTERRUPT_DATA structure (d3dkmddi.h)

The DXGKARGCB_NOTIFY_INTERRUPT_DATA structure contains interrupt notification information for the DXGKCB_NOTIFY_INTERRUPT callback function.

Syntax

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;

Members

InterruptType

A DXGK_INTERRUPT_TYPE-typed value that indicates the type of interrupt the display miniport driver is notifying the GPU scheduler about.

DmaCompleted

Structure used when InterruptType is DXGK_INTERRUPT_DMA_COMPLETED.

DmaCompleted.SubmissionFenceId

The DMA buffer fence identifier of the completed command. This identifier was assigned during a call to the driver's DXGKDDI_SUBMITCOMMAND function for the latest completed DMA buffer.

DmaCompleted.NodeOrdinal

The zero-based index of the node that generates the notification.

DmaCompleted.EngineOrdinal

The zero-based index of the engine, within the node that NodeOrdinal specifies, that generates the notification. For graphics adapters that are not part of a link, you should always set EngineOrdinal to 0. For graphics adapters that are part of a link, set EngineOrdinal to the adapter index of the adapter in the link that the interrupting engine belongs to.

DmaPreempted

Structure used when InterruptType is DXGK_INTERRUPT_DMA_PREEMPTED.

DmaPreempted.PreemptionFenceId

The submission identifier of the preempting request.

DmaPreempted.LastCompletedFenceId

The submission identifier of the last completed command before preemption.

DmaPreempted.NodeOrdinal

The zero-based index of the node that generates the notification.

DmaPreempted.EngineOrdinal

The zero-based index of the engine, within the node that NodeOrdinal specifies, that generates the notification. For graphics adapters that are not part of a link, you should always set EngineOrdinal set to 0. For graphics adapters that are part of a link, set EngineOrdinal to the adapter index of the adapter in the link that the interrupting engine belongs to. The GPU scheduler determines that hardware preempted all commands between the preemption request and the submission that LastCompletedFenceId specifies.

DmaFaulted

Structure used when InterruptType is DXGK_INTERRUPT_DMA_FAULTED.

DmaFaulted.FaultedFenceId

The identifier of the faulty command.

DmaFaulted.Status

The status of the faulty command.

DmaFaulted.NodeOrdinal

The zero-based index of the node that generates the notification.

DmaFaulted.EngineOrdinal

The zero-based index of the engine, within the node that NodeOrdinal specifies, that generates the notification. For graphics adapters that are not part of a link, you should always set EngineOrdinal to 0. For graphics adapters that are part of a link, set EngineOrdinal to the adapter index of the adapter in the link that the interrupting engine belongs to.

CrtcVsync

Structure used when InterruptType is DXGK_INTERRUPT_CRTC_VSYNC.

CrtcVsync.VidPnTargetId

The zero-based identification number of the video present target in a path of a video present network (VidPN) topology. This number represents the video present target where the vertical sync occurs.

CrtcVsync.PhysicalAddress

The physical address of the displaying buffer. When monitor visibility is off, the operating system still expects a non-NULL physical address. This address should be set to the physical address that the pixel pipeline would read from if visibility were on.

CrtcVsync.PhysicalAdapterMask

The physical adapter mask where the vertical sync occurs. If this member contains a valid value, the driver must also set the ValidPhysicalAdapterMask bit-field flag in the Flags member.

DisplayOnlyVsync

Structure used when InterruptType is DXGK_INTERRUPT_DISPLAYONLY_VSYNC. Supported starting with Windows 8.

DisplayOnlyVsync.VidPnTargetId

For a display-only driver, the zero-based identification number of the video present target in a path of a video present network (VidPN) topology. This number represents the video present target where the vertical sync occurs. Supported starting with Windows 8.

CrtcVsyncWithMultiPlaneOverlay

Structure used when InterruptType is DXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY. Provides VSync notifications for display miniport drivers that support multiplane overlays. Supported starting with Windows 8.

CrtcVsyncWithMultiPlaneOverlay.VidPnTargetId

The zero-based identification number of the video present target in a path of a video present network (VidPN) topology. This number represents the video present target where the vertical sync occurs. Supported starting with Windows 8.

CrtcVsyncWithMultiPlaneOverlay.PhysicalAdapterMask

The physical adapter mask where the vertical sync occurs. If this member contains a valid value, the driver must also set the ValidPhysicalAdapterMask bit-field flag in the Flags member. Supported starting with Windows 8.

CrtcVsyncWithMultiPlaneOverlay.MultiPlaneOverlayVsyncInfoCount

The number of overlay planes that are available to display. Supported starting with Windows 8.

CrtcVsyncWithMultiPlaneOverlay.pMultiPlaneOverlayVsyncInfo

A pointer to a DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO structure that specifies an overlay plane to display during a VSync interval. Supported starting with Windows 8.

DisplayOnlyPresentProgress

A DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS structure that provides the progress of a kernel mode display-only driver's (KMDOD) present operation. Used when InterruptType is DXGK_INTERRUPT_DISPLAYONLY_PRESENT_PROGRESS. Supported starting with Windows 8.

MiracastEncodeChunkCompleted

Structure used when InterruptType is DXGK_INTERRUPT_MICACAST_CHUNK_PROCESSING_COMPLETE. Supported by WDDM 1.3 and later display miniport drivers running on Windows 8.1 and later.

MiracastEncodeChunkCompleted.VidPnTargetId

The zero-based identification number of the video present target in a path of a video present network (VidPN) topology. This number represents the video present target where the encoding is being performed. Supported starting with Windows 8.1.

MiracastEncodeChunkCompleted.ChunkInfo

A DXGK_MIRACAST_CHUNK_INFO encode chunk information structure that the display miniport driver wants to report. Supported starting with Windows 8.1.

MiracastEncodeChunkCompleted.pPrivateDriverData

A pointer to a block of private data that describes this encode chunk. Supported starting with Windows 8.1.

MiracastEncodeChunkCompleted.PrivateDataDriverSize

The size, in bytes, of the block of private data in pPrivateDriverData. This value must not be larger than the MaxChunkPrivateDriverDataSize value that the driver reported in the DXGK_MIRACAST_CAPS structure. Supported starting with Windows 8.1.

MiracastEncodeChunkCompleted.Status

A value of type NTSTATUS that indicates whether the encode chunk was successfully added to the queue of chunks. If successful, STATUS_SUCCESS is returned. If any other value is returned, the chunk could not be added to the queue, and all outstanding chunks will be lost. Supported starting with Windows 8.1.

Value Meaning
STATUS_SUCCESS The chunk was successfully added to the queue.
STATUS_INVALID_PARAMETER Parameters were validated and determined to be incorrect.
STATUS_NO_MEMORY The interrupt-service-routine (ISR) ran out of free encode chunks.

DmaPageFaulted

Structure used when InterruptType is DXGK_INTERRUPT_DMA_PAGE_FAULTED. Supported starting with Windows 10.

DmaPageFaulted.FaultedFenceId

Submission fence ID of faulted command.

If the faulted fence cannot be determined reliably, PageFaultFlags should have DXGK_PAGE_FAULT_FENCE_INVALID bit set, and FaultedFenceId should be set to 0. Supported starting with Windows 10.

DmaPageFaulted.FaultedPrimitiveAPISequenceNumber

When per draw fence write is enabled, this identifies the draw operation that caused the page fault, or DXGK_PRIMITIVE_API_SEQUENCE_NUMBER_UNKNOWN if such information is not available. Supported starting with Windows 10.

DmaPageFaulted.FaultedPipelineStage

Render pipeline stage during which the fault was generated, or DXGK_RENDER_PIPELINE_STAGE_UNKNOWN if such information is not available. Supported starting with Windows 10.

DmaPageFaulted.FaultedBindTableEntry

A bind table index of a resource being accessed at the time of the fault, or DXGK_BIND_TABLE_ENTRY_UNKNOWN if such information is not available. Supported starting with Windows 10.

DmaPageFaulted.PageFaultFlags

Flags described in DXGK_PAGE_FAULT_FLAGS enumeration specifying the nature of the fault. Supported starting with Windows 10.

DmaPageFaulted.FaultedVirtualAddress

GPU virtual address of fault, or D3DGPU_NULL if the fault has another cause. In the latter case, FaultErrorCode field should be used to describe the GPU error. Supported starting with Windows 10.

DmaPageFaulted.NodeOrdinal

Node ordinal of the engine generating the notification. Supported starting with Windows 10.

DmaPageFaulted.EngineOrdinal

Engine ordinal of the engine generating the notification. Supported starting with Windows 10.

DmaPageFaulted.PageTableLevel

Describes page table level that the faulting operation was attempted on. Supported starting with Windows 10.

DmaPageFaulted.FaultErrorCode

A DXGK_FAULT_ERROR_CODE structure describing the error. Supported starting with Windows 10.

DmaPageFaulted.FaultedProcessHandle

DirectX graphics kernel process handle of the process that generated page fault, or NULL if the faulted process cannot be determined. Supported starting with Windows 10.

CrtcVsyncWithMultiPlaneOverlay2

Structure used when InterruptType is DXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY2. Supported starting with Windows 10, version 1607.

CrtcVsyncWithMultiPlaneOverlay2.VidPnTargetId

Vsync with multiplane overlay Vidpn target id. Supported starting with Windows 10, version 1607.

CrtcVsyncWithMultiPlaneOverlay2.PhysicalAdapterMask

The physical adapter mask where the vertical sync occurs. If this member contains a valid value, the driver must also set the ValidPhysicalAdapterMask bit-field flag in the Flags member. Supported starting with Windows 10, version 1607.

CrtcVsyncWithMultiPlaneOverlay2.MultiPlaneOverlayVsyncInfoCount

The number of overlay planes that are available to display. Supported starting with Windows 10, version 1607.

CrtcVsyncWithMultiPlaneOverlay2.pMultiPlaneOverlayVsyncInfo

A pointer to a DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO2 structure that specifies information for each overlay plane updated by the VSync. Supported starting with Windows 10, version 1607.

CrtcVsyncWithMultiPlaneOverlay2.GpuFrequency

The frequency of the GPU clock counter. Supported starting with Windows 10, version 1607.

CrtcVsyncWithMultiPlaneOverlay2.GpuClockCounter

The GPU clock counter at the time of the VSYNC interrupt. Combined with GpuFrequency, this indicates the time of the VSYNC interrupt. Supported starting with Windows 10, version 1607.

MonitoredFenceSignaled

Structure used when InterruptType is DXGK_INTERRUPT_MONITORED_FENCE_SIGNALED. Supported starting with Windows 10, version 1703.

MonitoredFenceSignaled.NodeOrdinal

Node ordinal of engine generating the notification. Supported starting with Windows 10, version 1703.

MonitoredFenceSignaled.EngineOrdinal

Engine ordinal of engine generating the notification. Supported starting with Windows 10, version 1703.

HwContextListSwitchCompleted

Structure used when InterruptType is DXGK_INTERRUPT_HWCONTEXTLIST_SWITCH_COMPLETED. Supported starting with Windows 10, version 1703.

HwContextListSwitchCompleted.NodeOrdinal

Node ordinal of engine generating the notification. Supported starting with Windows 10, version 1703.

HwContextListSwitchCompleted.EngineOrdinal

Engine ordinal of engine generating the notification. Supported starting with Windows 10, version 1703.

HwContextListSwitchCompleted.ContextSwitchFence

Context switch fence used to perform this switch operation. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted

Structure used when InterruptType is DXGK_INTERRUPT_HWQUEUE_PAGE_FAULTED. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted.FaultedFenceId

HW queue progress fence ID of the faulted command. If the faulted fence could not be determined reliably PageFaultFlags should have DXGK_PAGE_FAULT_FENCE_INVALID flag set. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted.FaultedVirtualAddress

Virtual address of fault, or 0 if the fault has another cause. In the latter case, FaultErrorCode field should be used to describe the GPU error. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted.FaultedPrimitiveAPISequenceNumber

When per draw fence write is enabled, identifies the draw that caused the page fault, or DXGK_PRIMITIVE_API_SEQUENCE_NUMBER_UNKNOWN if such information is not available. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted.FaultedHwQueue

When DXGK_PAGE_FAULT_FENCE_INVALID is not set, specifies the handle of the HW queue that generated the fault. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted.FaultedHwContext

When DXGK_PAGE_FAULT_FENCE_INVALID and DXGK_PAGE_FAULT_HW_CONTEXT_VALID are set, specifies the handle of the HW context that generated the fault. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted.FaultedProcessHandle

Wen DXGK_PAGE_FAULT_FENCE_INVALID and DXGK_PAGE_FAULT_PROCESS_HANDLE_VALID are set, specifies the handle of the process that generated the fault. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted.NodeOrdinal

Node ordinal of engine generating the notification. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted.EngineOrdinal

Engine ordinal of engine generating the notification. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted.FaultedPipelineStage

Render pipeline stage during which the fault was generated, or DXGK_RENDER_PIPELINE_STAGE_UNKNOWN if such information is not available. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted.FaultedBindTableEntry

A bind table index of a resource being accessed at the time of the fault, or DXGK_BIND_TABLE_ENTRY_UNKNOWN if such information is not available. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted.PageFaultFlags

Flags specifying the nature of the page fault and recovery policy. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted.PageTableLevel

Described page table level which the faulting operation was attempted on. Supported starting with Windows 10, version 1703.

HwQueuePageFaulted.FaultErrorCode

Structure that contains error code describing the fault. Supported starting with Windows 10, version 1703.

PeriodicMonitoredFenceSignaled

Structure used when InterruptType is DXGK_INTERRUPT_PERIODIC_MONITORED_FENCE_SIGNALED. Supported starting with Windows 10, version 1703.

PeriodicMonitoredFenceSignaled.VidPnTargetId

The display signaling the monitored fence. Supported starting with Windows 10, version 1703.

PeriodicMonitoredFenceSignaled.NotificationID

The notification id as multiple can be attached to one VidPnSource. Supported starting with Windows 10, version 1703.

SchedulingLogInterrupt

Structure used when InterruptType is DXGK_INTERRUPT_SCHEDULING_LOG_INTERRUPT. Supported starting with Windows 10, version 1803.

SchedulingLogInterrupt.NodeOrdinal

Node ordinal of engine that raised the scheduling log interrupt. Supported starting with Windows 10, version 1803.

SchedulingLogInterrupt.EngineOrdinal

Engine ordinal of engine that raised the scheduling log interrupt. Supported starting with Windows 10, version 1803.

GpuEngineTimeout

Structure used when InterruptType is DXGK_INTERRUPT_GPU_ENGINE_TIMEOUT. Supported starting with Windows 10, version 1803.

GpuEngineTimeout.NodeOrdinal

Node ordinal of engine that timed out and needs the reset. Supported starting with Windows 10, version 1803.

GpuEngineTimeout.EngineOrdinal

Engine ordinal of engine that timed out and needs the reset. Supported starting with Windows 10, version 1803.

SuspendContextCompleted

Structure used when InterruptType is DXGK_INTERRUPT_SUSPEND_CONTEXT_COMPLETED. Supported starting with Windows 10, version 1803.

SuspendContextCompleted.hContext

Hardware context that the suspend acknowledgment is for. Supported starting with Windows 10, version 1803.

SuspendContextCompleted.ContextSuspendFence

Context suspend fence. Supported starting with Windows 10, version 1803.

CrtcVsyncWithMultiPlaneOverlay3

Structure used when InterruptType is DXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY3. Available starting with Windows Server 2022 (WDDM 2.9).

CrtcVsyncWithMultiPlaneOverlay3.VidPnTargetId

Vsync with multiplane overlay Vidpn target id. Available starting with Windows Server 2022 (WDDM 2.9).

CrtcVsyncWithMultiPlaneOverlay3.PhysicalAdapterMask

The physical adapter mask where the vertical sync occurs. If this member contains a valid value, the driver must also set the ValidPhysicalAdapterMask bit-field flag in the Flags member. Available starting in Windows Server 2022 (WDDM 2.9).

CrtcVsyncWithMultiPlaneOverlay3.MultiPlaneOverlayVsyncInfoCount

The number of DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO3 structures that CrtcVsyncWithMultiPlaneOverlay3.pMultiPlaneOverlayVsyncInfo points to. These structures describe the overlay planes that are available to display. Available starting in Windows Server 2022 (WDDM 2.9).

CrtcVsyncWithMultiPlaneOverlay3.pMultiPlaneOverlayVsyncInfo

A pointer to an array of DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO3 structures that specify information for each overlay plane updated by the VSync. See Hardware flip queue for more information. Available starting in Windows Server 2022 (WDDM 2.9).

CrtcVsyncWithMultiPlaneOverlay3.GpuFrequency

The frequency of the GPU clock counter. Available starting in Windows Server 2022 (WDDM 2.9).

CrtcVsyncWithMultiPlaneOverlay3.GpuClockCounter

The GPU clock counter at the time of the VSYNC interrupt. Combined with GpuFrequency, this indicates the time of the VSYNC interrupt. Available starting in Windows Server 2022 (WDDM 2.9).

NativeFenceSignaled

[in] Structure used when InterruptType is DXGK_INTERRUPT_NATIVE_FENCE_SIGNALED. For more information about native fences, see Native GPU fence objects. Supported starting with Windows 11, version 24H2 (WDDM 3.2).

NativeFenceSignaled.NodeOrdinal

Node ordinal of the engine generating the notification. Supported starting with Windows 11, version 24H2 (WDDM 3.2).

NativeFenceSignaled.EngineOrdinal

Engine ordinal of the engine generating the notification. Supported starting with Windows 11, version 24H2 (WDDM 3.2).

NativeFenceSignaled.SignaledNativeFenceCount

The size of the signaled native fence array that pSignaledNativeFenceArray points to. Supported starting with Windows 11, version 24H2 (WDDM 3.2).

NativeFenceSignaled.pSignaledNativeFenceArray

Array containing OS kernel-mode handles of all native fences that were signaled and require waiters to be unblocked. If this array is empty, the OS will rescan all pending native fence waiters instead of the subset specified by the signaled native fence array. Dxgkrnl reads this value only if DXGK_VIDSCHCAPS::OptimizedNativeFenceInterrupt is FALSE. Supported starting with Windows 11, version 24H2 (WDDM 3.2).

NativeFenceSignaled.hHWQueue

KMD handle of the HWQueue running on the engine that raised the interrupt. If this handle is NULL then Dxgkrnl will re-scan the log buffer of all HWQueues on this engine. Dxgkrnl reads this value only if DXGK_VIDSCHCAPS::OptimizedNativeFenceInterrupt is TRUE. Supported starting with Windows 11, version 24H2 (WDDM 3.2).

EngineStateChange

[in] Structure used when InterruptType is DXGK_INTERRUPT_GPU_ENGINE_STATE_CHANGE. For more information, see User-mode work submission. Available starting with Windows 11, version 24H2 (WDDM 3.2).

EngineStateChange.NodeOrdinal

Node ordinal of the engine whose state changed. Available starting with Windows 11, version 24H2 (WDDM 3.2).

EngineStateChange.EngineOrdinal

Engine ordinal of the engine whose state changed. Available starting with Windows 11, version 24H2 (WDDM 3.2).

EngineStateChange.NewState

A DXGK_ENGINE_STATE value that specifies the new state of the engine. Available starting with Windows 11, version 24H2 (WDDM 3.2).

Reserved

Reserved for future use.

Reserved.Reserved[16]

An array of 32-bit values that are reserved for future use.

Flags

A DXGKCB_NOTIFY_INTERRUPT_DATA_FLAGS structure that indicates whether the display miniport driver provides a physical adapter mask in a call to the DxgkCbNotifyInterrupt function.

Remarks

A miniport driver fills in DXGKARGCB_NOTIFY_INTERRUPT_DATA, and then uses the DXGKCB_SYNCHRONIZE_EXECUTION callback to sync with the interrupt. The SynchronizeRoutine parameter of the DXGKCB_SYNCHRONIZE_EXECUTION callback points to a miniport-implemented function that gets called by the OS when appropriate, and then the driver fills out the parameter info before calling back into the OS with the DXGKCB_NOTIFY_INTERRUPT callback. The OS then handles the interrupt, with the scheduler using information in the DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO2 struct.

Depending on the value in the InterruptType member, the display miniport driver should set the appropriate union member in this structure. For example, for the end of a direct memory access (DMA) buffer fence, which corresponds to a value of DXGK_INTERRUPT_DMA_COMPLETED in InterruptType, the driver must set a value in the SubmissionFenceId member of the DmaCompleted member. This value should be the DMA buffer fence identifier, which the driver's DxgkDdiSubmitCommand function assigned to the just completed DMA buffer.

Requirements

Requirement Value
Minimum supported client Windows Vista (WDDM 1.0)
Header d3dkmddi.h (include D3dkmddi.h)

See also

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