Développer Réduire

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

 

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

 

 

Send comments about this topic to Microsoft

Afficher:
© 2014 Microsoft