다음을 통해 공유


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

디스플레이 미니포트 드라이버가 GPU 스케줄러에 알리는 인터럽트 유형을 나타내는 DXGK_INTERRUPT_TYPE형식화된 값입니다.

DmaCompleted

InterruptTypeDXGK_INTERRUPT_DMA_COMPLETED때 사용되는 구조체입니다.

DmaCompleted.SubmissionFenceId

완료된 명령의 DMA 버퍼 펜스 식별자입니다. 이 식별자는 드라이버의 DXGKDDI_SUBMITCOMMAND 함수를 호출하는 동안 마지막으로 완성된 DMA 버퍼에 할당되었습니다.

DmaCompleted.NodeOrdinal

알림을 생성하는 노드의 인덱스(0부터 시작하는 인덱스)입니다.

DmaCompleted.EngineOrdinal

NodeOrdinal 지정하는 노드 내에서 알림을 생성하는 엔진의 인덱스(0부터 시작)입니다. 링크에 속하지 않는 그래픽 어댑터의 경우 항상 EngineOrdinal 0으로 설정해야 합니다. 링크의 일부인 그래픽 어댑터의 경우 EngineOrdinal 인터럽트 엔진이 속한 링크에 있는 어댑터의 어댑터 인덱스로 설정합니다.

DmaPreempted

인터럽트타입 DXGK_INTERRUPT_DMA_PREEMPTED때 사용되는 구조체입니다.

DmaPreempted.PreemptionFenceId

선점 요청의 제출 식별자입니다.

DmaPreempted.LastCompletedFenceId

선점 전에 마지막으로 완료된 명령의 제출 식별자입니다.

DmaPreempted.NodeOrdinal

알림을 생성하는 노드의 인덱스(0부터 시작하는 인덱스)입니다.

DmaPreempted.EngineOrdinal

NodeOrdinal 지정하는 노드 내에서 알림을 생성하는 엔진의 인덱스(0부터 시작)입니다. 링크에 속하지 않는 그래픽 어댑터의 경우 항상 EngineOrdinal 0으로 설정해야 합니다. 링크의 일부인 그래픽 어댑터의 경우 EngineOrdinal 인터럽트 엔진이 속한 링크에 있는 어댑터의 어댑터 인덱스로 설정합니다. GPU 스케줄러는 하드웨어가 선점 요청과 LastCompletedFenceId가 지정하는 제출 사이에 모든 명령을 선점했다고.

DmaFaulted

인터럽트타입 때 사용되는 구조체는 DXGK_INTERRUPT_DMA_FAULTED.

DmaFaulted.FaultedFenceId

잘못된 명령의 식별자입니다.

DmaFaulted.Status

잘못된 명령의 상태입니다.

DmaFaulted.NodeOrdinal

알림을 생성하는 노드의 인덱스(0부터 시작하는 인덱스)입니다.

DmaFaulted.EngineOrdinal

NodeOrdinal 지정하는 노드 내에서 알림을 생성하는 엔진의 인덱스(0부터 시작)입니다. 링크에 속하지 않는 그래픽 어댑터의 경우 항상 EngineOrdinal 0으로 설정해야 합니다. 링크의 일부인 그래픽 어댑터의 경우 EngineOrdinal 인터럽트 엔진이 속한 링크에 있는 어댑터의 어댑터 인덱스로 설정합니다.

CrtcVsync

인터럽트타입 DXGK_INTERRUPT_CRTC_VSYNC때 사용되는 구조체입니다.

CrtcVsync.VidPnTargetId

VidPN(비디오 프레젠테이션 네트워크) 토폴로지 경로에 있는 비디오 현재 대상의 식별 번호(0부터 시작하는 ID)입니다. 이 숫자는 세로 동기화가 발생하는 비디오 현재 대상을 나타냅니다.

CrtcVsync.PhysicalAddress

표시 버퍼의 실제 주소입니다. 모니터 표시 유형이 꺼져 있으면 운영 체제에서 비NULL 실제 주소가 계속 예상됩니다. 이 주소는 표시 유형이 설정된 경우 픽셀 파이프라인이 읽을 실제 주소로 설정해야 합니다.

CrtcVsync.PhysicalAdapterMask

세로 동기화가 발생하는 실제 어댑터 마스크입니다. 이 멤버에 유효한 값이 포함된 경우 드라이버는 Flags 멤버에서 ValidPhysicalAdapterMask 비트 필드 플래그를 설정해야 합니다.

DisplayOnlyVsync

InterruptTypeDXGK_INTERRUPT_DISPLAYONLY_VSYNC때 사용되는 구조체입니다. Windows 8부터 지원됩니다.

DisplayOnlyVsync.VidPnTargetId

디스플레이 전용 드라이버의 경우 VidPN(비디오 프레젠테이션 네트워크) 토폴로지 경로에 있는 비디오의 0부터 시작하는 식별 번호입니다. 이 숫자는 세로 동기화가 발생하는 비디오 현재 대상을 나타냅니다. Windows 8부터 지원됩니다.

CrtcVsyncWithMultiPlaneOverlay

InterruptTypeDXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY때 사용되는 구조체입니다. 다중 평면 오버레이를 지원하는 디스플레이 미니포트 드라이버에 대한 VSync 알림을 제공합니다. Windows 8부터 지원됩니다.

CrtcVsyncWithMultiPlaneOverlay.VidPnTargetId

VidPN(비디오 프레젠테이션 네트워크) 토폴로지 경로에 있는 비디오 현재 대상의 식별 번호(0부터 시작하는 ID)입니다. 이 숫자는 세로 동기화가 발생하는 비디오 현재 대상을 나타냅니다. Windows 8부터 지원됩니다.

CrtcVsyncWithMultiPlaneOverlay.PhysicalAdapterMask

세로 동기화가 발생하는 실제 어댑터 마스크입니다. 이 멤버에 유효한 값이 포함된 경우 드라이버는 Flags 멤버에서 ValidPhysicalAdapterMask 비트 필드 플래그를 설정해야 합니다. Windows 8부터 지원됩니다.

CrtcVsyncWithMultiPlaneOverlay.MultiPlaneOverlayVsyncInfoCount

표시할 수 있는 오버레이 평면의 수입니다. Windows 8부터 지원됩니다.

CrtcVsyncWithMultiPlaneOverlay.pMultiPlaneOverlayVsyncInfo

VSync 간격 동안 표시할 오버레이 평면을 지정하는 DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO 구조체에 대한 포인터입니다. Windows 8부터 지원됩니다.

DisplayOnlyPresentProgress

커널 모드 디스플레이 전용 드라이버(KMDOD) 현재 작업의 진행률을 제공하는 DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS 구조체입니다. 인터럽트타입 DXGK_INTERRUPT_DISPLAYONLY_PRESENT_PROGRESS때 사용됩니다. Windows 8부터 지원됩니다.

MiracastEncodeChunkCompleted

InterruptTypeDXGK_INTERRUPT_MICACAST_CHUNK_PROCESSING_COMPLETE때 사용되는 구조체입니다. WDDM 1.3 이상에서 지원되는 Windows 8.1 이상에서 실행되는 미니포트 드라이버를 표시합니다.

MiracastEncodeChunkCompleted.VidPnTargetId

VidPN(비디오 프레젠테이션 네트워크) 토폴로지 경로에 있는 비디오 현재 대상의 식별 번호(0부터 시작하는 ID)입니다. 이 숫자는 인코딩이 수행되는 비디오 현재 대상을 나타냅니다. 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

InterruptTypeDXGK_INTERRUPT_DMA_PAGE_FAULTED때 사용되는 구조체입니다. Windows 10부터 지원됩니다.

DmaPageFaulted.FaultedFenceId

오류 명령의 제출 펜스 ID입니다.

결함이 있는 펜스를 안정적으로 확인할 수 없는 경우 PageFaultFlagsDXGK_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

세로 동기화가 발생하는 실제 어댑터 마스크입니다. 이 멤버에 유효한 값이 포함된 경우 드라이버는 Flags 멤버에서 ValidPhysicalAdapterMask 비트 필드 플래그를 설정해야 합니다. Windows 10 버전 1607부터 지원됩니다.

CrtcVsyncWithMultiPlaneOverlay2.MultiPlaneOverlayVsyncInfoCount

표시할 수 있는 오버레이 평면의 수입니다. Windows 10 버전 1607부터 지원됩니다.

CrtcVsyncWithMultiPlaneOverlay2.pMultiPlaneOverlayVsyncInfo

VSync에서 업데이트한 각 오버레이 평면에 대한 정보를 지정하는 DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO2 구조체에 대한 포인터입니다. 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

InterruptTypeDXGK_INTERRUPT_HWCONTEXTLIST_SWITCH_COMPLETED때 사용되는 구조체입니다. 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

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_SIGNALED때 사용되는 구조체입니다. Windows 10 버전 1703부터 지원됩니다.

PeriodicMonitoredFenceSignaled.VidPnTargetId

모니터링된 울타리를 알리는 디스플레이입니다. Windows 10 버전 1703부터 지원됩니다.

PeriodicMonitoredFenceSignaled.NotificationID

하나의 VidPnSource에 여러 개의 알림 ID를 연결할 수 있습니다. 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_TIMEOUT때 사용되는 구조체입니다. Windows 10 버전 1803부터 지원됩니다.

GpuEngineTimeout.NodeOrdinal

시간이 초과되고 다시 설정이 필요한 엔진의 노드 서수입니다. Windows 10 버전 1803부터 지원됩니다.

GpuEngineTimeout.EngineOrdinal

시간이 초과되고 재설정이 필요한 엔진의 엔진 서수입니다. Windows 10 버전 1803부터 지원됩니다.

SuspendContextCompleted

InterruptTypeDXGK_INTERRUPT_SUSPEND_CONTEXT_COMPLETED때 사용되는 구조체입니다. Windows 10 버전 1803부터 지원됩니다.

SuspendContextCompleted.hContext

일시 중단 승인이 적용되는 하드웨어 컨텍스트입니다. Windows 10 버전 1803부터 지원됩니다.

SuspendContextCompleted.ContextSuspendFence

컨텍스트 일시 중단 펜스입니다. Windows 10 버전 1803부터 지원됩니다.

CrtcVsyncWithMultiPlaneOverlay3

인터럽트타입 DXGK_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

세로 동기화가 발생하는 실제 어댑터 마스크입니다. 이 멤버에 유효한 값이 포함된 경우 드라이버는 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

VSync에서 업데이트하는 각 오버레이 평면에 대한 정보를 지정하는 DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO3 구조의 배열에 대한 포인터입니다. 자세한 내용은 하드웨어 대칭 이동 큐 참조하세요. 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_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는 신호를 받은 네이티브 펜스 배열로 지정된 하위 집합 대신 보류 중인 모든 네이티브 펜스 웨이터를 다시 검사합니다. DxgkrnlDXGK_VIDSCHCAPS::OptimizedNativeFenceInterrupt FALSE인 경우에만 이 값을 읽습니다. Windows 11 버전 24H2(WDDM 3.2)부터 지원됩니다.

NativeFenceSignaled.hHWQueue

인터럽트 발생을 발생시킨 엔진에서 실행되는 HWQueue의 KMD 핸들입니다. 이 핸들이 NULL이면 Dxgkrnl 이 엔진에 있는 모든 HWQueues의 로그 버퍼를 다시 검색합니다. DxgkrnlDXGK_VIDSCHCAPS::OptimizedNativeFenceInterrupt TRUE인 경우에만 이 값을 읽습니다. Windows 11 버전 24H2(WDDM 3.2)부터 지원됩니다.

EngineStateChange

[in] 인터럽트타입 DXGK_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

디스플레이 미니포트 드라이버가 DxgkCbNotifyInterrupt 함수를 호출할 때 실제 어댑터 마스크를 제공하는지 여부를 나타내는 DXGKCB_NOTIFY_INTERRUPT_DATA_FLAGS 구조체입니다.

발언

미니포트 드라이버는 DXGKARGCB_NOTIFY_INTERRUPT_DATA채운 다음 DXGKCB_SYNCHRONIZE_EXECUTION 콜백을 사용하여 인터럽트와 동기화합니다. DXGKCB_SYNCHRONIZE_EXECUTION 콜백의 SynchronizeRoutine 매개 변수는 적절한 경우 OS에서 호출되는 미니포트 구현 함수를 가리킨 다음 드라이버가 DXGKCB_NOTIFY_INTERRUPT 콜백을 사용하여 OS로 다시 호출하기 전에 매개 변수 정보를 채웁니다. 그런 다음 OS는 인터럽트를 처리하고 스케줄러는 DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO2 구조체의 정보를 사용합니다.

InterruptType 멤버의 값에 따라 디스플레이 미니포트 드라이버는 이 구조체에서 적절한 공용 구조체 멤버를 설정해야 합니다. 예를 들어 InterruptTypeDXGK_INTERRUPT_DMA_COMPLETED 값에 해당하는 DMA(직접 메모리 액세스) 버퍼 펜스의 끝부분에 대해 드라이버는 DmaCompleted 멤버의 SubmissionFenceId 멤버에 값을 설정해야 합니다. 이 값은 드라이버의 DxgkDdiSubmitCommand 함수가 방금 완료된 DMA 버퍼에 할당된 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