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
InterruptType이 DXGK_INTERRUPT_DMA_COMPLETED 때 사용되는 구조체입니다.
DmaCompleted.SubmissionFenceId
완료된 명령의 DMA 버퍼 펜스 식별자입니다. 이 식별자는 드라이버의 DXGKDDI_SUBMITCOMMAND 함수를 호출하는 동안 완료된 최신 DMA 버퍼에 할당되었습니다.
DmaCompleted.NodeOrdinal
알림을 생성하는 노드의 인덱스(0부터 시작)입니다.
DmaCompleted.EngineOrdinal
NodeOrdinal이 지정하는 노드 내에서 알림을 생성하는 엔진의 인덱스(0부터 시작)입니다. 링크에 속하지 않는 그래픽 어댑터의 경우 항상 EngineOrdinal 을 0으로 설정해야 합니다. 링크의 일부인 그래픽 어댑터의 경우 EngineOrdinal 을 인터럽트 엔진이 속한 링크의 어댑터 인덱스로 설정합니다.
DmaPreempted
InterruptType이 DXGK_INTERRUPT_DMA_PREEMPTED 때 사용되는 구조체입니다.
DmaPreempted.PreemptionFenceId
선점 요청의 제출 식별자입니다.
DmaPreempted.LastCompletedFenceId
선점 전에 마지막으로 완료된 명령의 제출 식별자입니다.
DmaPreempted.NodeOrdinal
알림을 생성하는 노드의 인덱스(0부터 시작)입니다.
DmaPreempted.EngineOrdinal
NodeOrdinal이 지정하는 노드 내에서 알림을 생성하는 엔진의 인덱스(0부터 시작)입니다. 링크에 속하지 않는 그래픽 어댑터의 경우 항상 EngineOrdinal 을 0으로 설정해야 합니다. 링크의 일부인 그래픽 어댑터의 경우 EngineOrdinal 을 인터럽트 엔진이 속한 링크의 어댑터 인덱스로 설정합니다. GPU 스케줄러는 하드웨어가 선점 요청과 LastCompletedFenceId 가 지정하는 제출 사이의 모든 명령을 선점했다고 결정합니다.
DmaFaulted
InterruptType이 DXGK_INTERRUPT_DMA_FAULTED 때 사용되는 구조체입니다.
DmaFaulted.FaultedFenceId
잘못된 명령의 식별자입니다.
DmaFaulted.Status
잘못된 명령의 상태.
DmaFaulted.NodeOrdinal
알림을 생성하는 노드의 인덱스(0부터 시작)입니다.
DmaFaulted.EngineOrdinal
NodeOrdinal이 지정하는 노드 내에서 알림을 생성하는 엔진의 인덱스(0부터 시작)입니다. 링크에 속하지 않는 그래픽 어댑터의 경우 항상 EngineOrdinal 을 0으로 설정해야 합니다. 링크의 일부인 그래픽 어댑터의 경우 EngineOrdinal 을 인터럽트 엔진이 속한 링크의 어댑터 인덱스로 설정합니다.
CrtcVsync
InterruptType이 DXGK_INTERRUPT_CRTC_VSYNC 때 사용되는 구조체입니다.
CrtcVsync.VidPnTargetId
VidPN(비디오 현재 네트워크) 토폴로지 경로에 있는 비디오 현재 대상의 식별 번호(0부터 시작)입니다. 이 숫자는 세로 동기화가 발생하는 비디오 현재 대상을 나타냅니다.
CrtcVsync.PhysicalAddress
표시되는 버퍼의 실제 주소입니다. 모니터 표시 유형이 꺼져 있으면 운영 체제에서 여전히 NULL 이 아닌 실제 주소가 있어야 합니다. 이 주소는 표시 유형이 설정된 경우 픽셀 파이프라인이 읽을 실제 주소로 설정해야 합니다.
CrtcVsync.PhysicalAdapterMask
수직 동기화가 발생하는 실제 어댑터 마스크입니다. 이 멤버에 유효한 값이 포함된 경우 드라이버는 Flags 멤버에서 ValidPhysicalAdapterMask 비트 필드 플래그도 설정해야 합니다.
DisplayOnlyVsync
InterruptType이 DXGK_INTERRUPT_DISPLAYONLY_VSYNC 때 사용되는 구조체입니다. Windows 8 부터 지원합니다.
DisplayOnlyVsync.VidPnTargetId
디스플레이 전용 드라이버의 경우 VidPN(비디오 현재 네트워크) 토폴로지 경로에 있는 비디오의 0부터 시작하는 식별 번호입니다. 이 숫자는 세로 동기화가 발생하는 비디오 현재 대상을 나타냅니다. Windows 8 부터 지원합니다.
CrtcVsyncWithMultiPlaneOverlay
InterruptType이 DXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY 때 사용되는 구조체입니다. 다중 평면 오버레이를 지원하는 디스플레이 미니포트 드라이버에 대한 VSync 알림을 제공합니다. Windows 8 부터 지원합니다.
CrtcVsyncWithMultiPlaneOverlay.VidPnTargetId
VidPN(비디오 현재 네트워크) 토폴로지 경로에 있는 비디오 현재 대상의 식별 번호(0부터 시작)입니다. 이 숫자는 세로 동기화가 발생하는 비디오 현재 대상을 나타냅니다. 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 구조체입니다. InterruptType이 DXGK_INTERRUPT_DISPLAYONLY_PRESENT_PROGRESS 때 사용됩니다. Windows 8 부터 지원합니다.
MiracastEncodeChunkCompleted
InterruptType이 DXGK_INTERRUPT_MICACAST_CHUNK_PROCESSING_COMPLETE 때 사용되는 구조체입니다. WDDM 1.3 이상에서 지원되며 Windows 8.1 이상에서 실행되는 미니포트 드라이버를 표시합니다.
MiracastEncodeChunkCompleted.VidPnTargetId
VidPN(비디오 현재 네트워크) 토폴로지 경로에 있는 비디오 현재 대상의 식별 번호(0부터 시작)입니다. 이 숫자는 인코딩이 수행되는 비디오 현재 대상을 나타냅니다. 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
InterruptType이 DXGK_INTERRUPT_DMA_PAGE_FAULTED 때 사용되는 구조체입니다. 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
InterruptType이 DXGK_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
InterruptType이 DXGK_INTERRUPT_MONITORED_FENCE_SIGNALED 때 사용되는 구조체입니다. Windows 10 버전 1703부터 지원됩니다.
MonitoredFenceSignaled.NodeOrdinal
알림을 생성하는 엔진의 노드 서수입니다. Windows 10 버전 1703부터 지원됩니다.
MonitoredFenceSignaled.EngineOrdinal
알림을 생성하는 엔진의 엔진 서수입니다. Windows 10 버전 1703부터 지원됩니다.
HwContextListSwitchCompleted
InterruptType이 DXGK_INTERRUPT_HWCONTEXTLIST_SWITCH_COMPLETED 때 사용되는 구조체입니다. Windows 10 버전 1703부터 지원됩니다.
HwContextListSwitchCompleted.NodeOrdinal
알림을 생성하는 엔진의 노드 서수입니다. Windows 10 버전 1703부터 지원됩니다.
HwContextListSwitchCompleted.EngineOrdinal
알림을 생성하는 엔진의 엔진 서수입니다. Windows 10 버전 1703부터 지원됩니다.
HwContextListSwitchCompleted.ContextSwitchFence
이 스위치 작업을 수행하는 데 사용되는 컨텍스트 스위치 펜스입니다. Windows 10 버전 1703부터 지원됩니다.
HwQueuePageFaulted
InterruptType이 DXGK_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
InterruptType이 DXGK_INTERRUPT_PERIODIC_MONITORED_FENCE_SIGNALED 때 사용되는 구조체입니다. Windows 10 버전 1703부터 지원됩니다.
PeriodicMonitoredFenceSignaled.VidPnTargetId
모니터링된 펜스를 알리는 디스플레이입니다. Windows 10 버전 1703부터 지원됩니다.
PeriodicMonitoredFenceSignaled.NotificationID
여러 개의 알림 ID를 하나의 VidPnSource에 연결할 수 있습니다. Windows 10 버전 1703부터 지원됩니다.
SchedulingLogInterrupt
InterruptType이 DXGK_INTERRUPT_SCHEDULING_LOG_INTERRUPT 때 사용되는 구조체입니다. Windows 10 버전 1803부터 지원됩니다.
SchedulingLogInterrupt.NodeOrdinal
예약 로그 인터럽트 발생 엔진의 노드 서수입니다. Windows 10 버전 1803부터 지원됩니다.
SchedulingLogInterrupt.EngineOrdinal
예약 로그 인터럽트 발생 엔진 서수입니다. Windows 10 버전 1803부터 지원됩니다.
GpuEngineTimeout
InterruptType이 DXGK_INTERRUPT_GPU_ENGINE_TIMEOUT 때 사용되는 구조체입니다. Windows 10 버전 1803부터 지원됩니다.
GpuEngineTimeout.NodeOrdinal
시간이 초과되고 다시 설정이 필요한 엔진의 노드 서수입니다. Windows 10 버전 1803부터 지원됩니다.
GpuEngineTimeout.EngineOrdinal
시간이 초과되고 재설정이 필요한 엔진의 엔진 서수입니다. Windows 10 버전 1803부터 지원됩니다.
SuspendContextCompleted
InterruptType이 DXGK_INTERRUPT_SUSPEND_CONTEXT_COMPLETED 때 사용되는 구조체입니다. Windows 10 버전 1803부터 지원됩니다.
SuspendContextCompleted.hContext
일시 중단 승인이 적용되는 하드웨어 컨텍스트입니다. Windows 10 버전 1803부터 지원됩니다.
SuspendContextCompleted.ContextSuspendFence
컨텍스트가 펜스를 일시 중단합니다. Windows 10 버전 1803부터 지원됩니다.
CrtcVsyncWithMultiPlaneOverlay3
InterruptType이 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] InterruptType 이 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는 신호를 받은 네이티브 펜스 배열로 지정된 하위 집합 대신 보류 중인 모든 네이티브 펜스 웨이터를 다시 검사합니다. Dxgkrnl 은 DXGK_VIDSCHCAPS::OptimizedNativeFenceInterrupt 가 FALSE인 경우에만 이 값을 읽습니다. Windows 11 버전 24H2(WDDM 3.2)부터 지원됩니다.
NativeFenceSignaled.hHWQueue
인터럽트 발생 엔진에서 실행되는 HWQueue의 KMD 핸들입니다. 이 핸들이 NULL이면 Dxgkrnl 은 이 엔진에 있는 모든 HWQueues의 로그 버퍼를 다시 검사합니다. Dxgkrnl 은 DXGK_VIDSCHCAPS::OptimizedNativeFenceInterrupt 가 TRUE인 경우에만 이 값을 읽습니다. Windows 11 버전 24H2(WDDM 3.2)부터 지원됩니다.
EngineStateChange
[in] InterruptType 이 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 멤버의 값에 따라 디스플레이 미니포트 드라이버는 이 구조체에서 적절한 공용 구조체 멤버를 설정해야 합니다. 예를 들어 InterruptType의 DXGK_INTERRUPT_DMA_COMPLETED 값에 해당하는 DMA(직접 메모리 액세스) 버퍼 펜스의 끝 부분에 대해 드라이버는 DmaCompleted 멤버의 SubmissionFenceId 멤버에서 값을 설정해야 합니다. 이 값은 방금 완료된 DMA 버퍼에 할당된 드라이버의 DxgkDdiSubmitCommand 함수인 DMA 버퍼 펜스 식별자여야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista(WDDM 1.0) |
머리글 | d3dkmddi.h(D3dkmddi.h 포함) |
추가 정보
DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO
DXGKCB_NOTIFY_INTERRUPT_DATA_FLAGS