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 지정하는
DmaPreempted
인터럽트타입
DmaPreempted.PreemptionFenceId
선점 요청의 제출 식별자입니다.
DmaPreempted.LastCompletedFenceId
선점 전에 마지막으로 완료된 명령의 제출 식별자입니다.
DmaPreempted.NodeOrdinal
알림을 생성하는 노드의 인덱스(0부터 시작하는 인덱스)입니다.
DmaPreempted.EngineOrdinal
NodeOrdinal 지정하는
DmaFaulted
인터럽트타입
DmaFaulted.FaultedFenceId
잘못된 명령의 식별자입니다.
DmaFaulted.Status
잘못된 명령의 상태입니다.
DmaFaulted.NodeOrdinal
알림을 생성하는 노드의 인덱스(0부터 시작하는 인덱스)입니다.
DmaFaulted.EngineOrdinal
NodeOrdinal 지정하는
CrtcVsync
인터럽트타입
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 구조체입니다. 인터럽트타입
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
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
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
인터럽트타입
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
인터럽트타입
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
인터럽트타입
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] 인터럽트타입
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] 인터럽트타입
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_MULTIPLANE_OVERLAY_VSYNC_INFO
DXGKCB_NOTIFY_INTERRUPT_DATA_FLAGS