Expand Minimize

DXGKARGCB_NOTIFY_INTERRUPT_DATA structure

The DXGKARGCB_NOTIFY_INTERRUPT_DATA structure describes notification information.

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;
#if (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
    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;
#endif 
#if (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3)
    struct {
      D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId;
      DXGK_MIRACAST_CHUNK_INFO       ChunkInfo;
      PVOID                          pPrivateDriverData;
      UINT                           PrivateDataDriverSize;
      NTSTATUS                       Status;
    } MiracastEncodeChunkCompleted;
#endif 
#if (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM2_0)
    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;
#endif 
    struct {
      UINT Reserved[16];
    } Reserved;
  };
  DXGKCB_NOTIFY_INTERRUPT_DATA_FLAGS Flags;
} DXGKARGCB_NOTIFY_INTERRUPT_DATA;

Members

InterruptType

[in] A DXGK_INTERRUPT_TYPE-typed value that indicates the type of interrupt that the display miniport driver notifies the GPU scheduler about.

DmaCompleted
SubmissionFenceId

[in] The submission identifier of the completed command.

NodeOrdinal

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

EngineOrdinal

[in] 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
PreemptionFenceId

[in] The submission identifier of the preempting request.

LastCompletedFenceId

[in] The submission identifier of the last completed command before preemption.

NodeOrdinal

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

EngineOrdinal

[in] 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
FaultedFenceId

[in] The identifier of the faulty command.

Status

[in] The status of the faulty command.

NodeOrdinal

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

EngineOrdinal

[in] 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
VidPnTargetId

[in] 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.

PhysicalAddress

[in] 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.

PhysicalAdapterMask

[in] 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
VidPnTargetId

[in] 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

Provides VSync notifications for display miniport drivers that support multiplane overlays.

VidPnTargetId

[in] 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.1.

PhysicalAdapterMask

[in] 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.1.

MultiPlaneOverlayVsyncInfoCount

The number of overlay planes that are available to display.

Supported starting with Windows 8.1.

pMultiPlaneOverlayVsyncInfo

[in] 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.1.

DisplayOnlyPresentProgress

[in] A DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS structure that provides the progress of a kernel mode display-only driver's (KMDOD) present operation.

Supported starting with Windows 8.

MiracastEncodeChunkCompleted

Supported by WDDM 1.3 and later display miniport drivers running on Windows 8.1 and later.

VidPnTargetId

[in] 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.

ChunkInfo

A DXGK_MIRACAST_CHUNK_INFO encode chunk information structure that the display miniport driver wants to report.

Supported starting with Windows 8.1.

pPrivateDriverData

A pointer to a block of private data that describes this encode chunk.

Supported starting with Windows 8.1.

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.

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.

ValueMeaning
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
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.

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.

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.

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.

PageFaultFlags

Flags described in DXGK_PAGE_FAULT_FLAGS enumeration specifying the nature of the fault.

Supported starting with Windows 10.

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.

NodeOrdinal

Node ordinal of the engine generating the notification.

Supported starting with Windows 10.

EngineOrdinal

Engine ordinal of the engine generating the notification.

Supported starting with Windows 10.

PageTableLevel

Describes page table level that the faulting operation was attempted on.

Supported starting with Windows 10.

FaultErrorCode

DXGK_FAULT_ERROR_CODE structure describing the error.

Supported starting with Windows 10.

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.

Reserved
Reserved

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

Flags

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

Remarks

Depending on the value in the InterruptType member, the display miniport driver should set the appropriate union member in the DXGKARGCB_NOTIFY_INTERRUPT_DATA 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

Version

Available in Windows Vista and later versions of the Windows operating systems.

Header

D3dkmddi.h (include D3dkmddi.h)

See also

DXGK_INTERRUPT_TYPE
DXGK_MIRACAST_CAPS
DXGK_MIRACAST_CHUNK_INFO
DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO
DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS
DXGKCB_NOTIFY_INTERRUPT_DATA_FLAGS
DxgkCbNotifyInterrupt
DxgkDdiSubmitCommand
DXGK_PAGE_FAULT_FLAGS

 

 

Send comments about this topic to Microsoft

顯示:
© 2015 Microsoft