структура 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
Значение типа DXGK_INTERRUPT_TYPE, указывающее тип прерывания, о котором драйвер минипорта дисплея уведомляет планировщик GPU.
DmaCompleted
Структура, используемая, когда параметр InterruptTypeDXGK_INTERRUPT_DMA_COMPLETED.
DmaCompleted.SubmissionFenceId
Идентификатор ограждения буфера DMA завершенной команды. Этот идентификатор был назначен во время вызова функции DXGKDDI_SUBMITCOMMAND драйвера для последнего завершенного буфера DMA.
DmaCompleted.NodeOrdinal
Отсчитываемый от нуля индекс узла, создающего уведомление.
DmaCompleted.EngineOrdinal
Отсчитываемый от нуля индекс подсистемы в узле, который указывает NodeOrdinal , который создает уведомление. Для графических адаптеров, которые не являются частью ссылки, всегда следует задать engineOrdinal значение 0. Для графических адаптеров, которые являются частью канала, задайте для EngineOrdinal индекс адаптера в канале, к которому принадлежит подсистема прерывания.
DmaPreempted
Структура, используемая при DXGK_INTERRUPT_DMA_PREEMPTEDТипа прерывания.
DmaPreempted.PreemptionFenceId
Идентификатор отправки запроса на вытеснение.
DmaPreempted.LastCompletedFenceId
Идентификатор отправки последней выполненной команды перед вытеснением.
DmaPreempted.NodeOrdinal
Отсчитываемый от нуля индекс узла, создающего уведомление.
DmaPreempted.EngineOrdinal
Отсчитываемый от нуля индекс подсистемы в узле, который указывает NodeOrdinal , который создает уведомление. Для графических адаптеров, которые не являются частью связи, всегда следует задать для параметра EngineOrdinal значение 0. Для графических адаптеров, которые являются частью канала, задайте для EngineOrdinal индекс адаптера в канале, к которому принадлежит подсистема прерывания. Планировщик GPU определяет, что оборудование вытесняет все команды между запросом вытеснения и отправкой, указанной LastCompletedFenceId .
DmaFaulted
Структура, используемая при DXGK_INTERRUPT_DMA_FAULTEDТипа прерывания.
DmaFaulted.FaultedFenceId
Идентификатор неисправной команды.
DmaFaulted.Status
Состояние неисправной команды.
DmaFaulted.NodeOrdinal
Отсчитываемый от нуля индекс узла, создающего уведомление.
DmaFaulted.EngineOrdinal
Отсчитываемый от нуля индекс подсистемы в узле, который указывает NodeOrdinal , который создает уведомление. Для графических адаптеров, которые не являются частью ссылки, всегда следует задать engineOrdinal значение 0. Для графических адаптеров, которые являются частью канала, задайте для EngineOrdinal индекс адаптера в канале, к которому принадлежит подсистема прерывания.
CrtcVsync
Структура, используемая, когда параметр InterruptTypeDXGK_INTERRUPT_CRTC_VSYNC.
CrtcVsync.VidPnTargetId
Отсчитываемый от нуля идентификационный номер целевого объекта представления видео в пути к топологии сети видеотрансляции (VidPN). Это число представляет целевой объект видео, где выполняется вертикальная синхронизация.
CrtcVsync.PhysicalAddress
Физический адрес отображаемого буфера. Если видимость монитора отключена, операционная система по-прежнему ожидает физический адрес, отличный от NULL . Для этого адреса должен быть задан физический адрес, из который будет считываться конвейер пикселей, если видимость включена.
CrtcVsync.PhysicalAdapterMask
Маска физического адаптера, в которой выполняется вертикальная синхронизация. Если этот элемент содержит допустимое значение, драйвер также должен установить флаг битового поля ValidPhysicalAdapterMask в элементе Flags .
DisplayOnlyVsync
Структура, используемая, когда параметр InterruptTypeDXGK_INTERRUPT_DISPLAYONLY_VSYNC. Поддерживается начиная с Windows 8.
DisplayOnlyVsync.VidPnTargetId
Для драйвера только для отображения — отсчитываемый от нуля идентификационный номер целевого объекта представления видео в пути к топологии сети видеотрансляции (VidPN). Это число представляет целевой объект видео, где выполняется вертикальная синхронизация. Поддерживается начиная с Windows 8.
CrtcVsyncWithMultiPlaneOverlay
Структура, используемая при DXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAYТипа прерывания. Предоставляет уведомления VSync для драйверов мини-портов для отображения, поддерживающих многоплановые наложения. Поддерживается начиная с Windows 8.
CrtcVsyncWithMultiPlaneOverlay.VidPnTargetId
Отсчитываемый от нуля идентификационный номер целевого объекта представления видео в пути к топологии сети видеотрансляции (VidPN). Это число представляет целевой объект видео, где выполняется вертикальная синхронизация. Поддерживается начиная с Windows 8.
CrtcVsyncWithMultiPlaneOverlay.PhysicalAdapterMask
Маска физического адаптера, в которой выполняется вертикальная синхронизация. Если этот элемент содержит допустимое значение, драйвер также должен установить флаг битового поля ValidPhysicalAdapterMask в элементе Flags . Поддерживается начиная с Windows 8.
CrtcVsyncWithMultiPlaneOverlay.MultiPlaneOverlayVsyncInfoCount
Количество плоскостей наложения, доступных для отображения. Поддерживается начиная с Windows 8.
CrtcVsyncWithMultiPlaneOverlay.pMultiPlaneOverlayVsyncInfo
Указатель на структуру DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO , указывающую плоскость наложения, отображаемую в течение интервала VSync. Поддерживается начиная с Windows 8.
DisplayOnlyPresentProgress
Структура DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS, которая обеспечивает ход выполнения текущей операции драйвера только для отображения в режиме ядра (KMDOD). Используется, если параметр InterruptType имеет DXGK_INTERRUPT_DISPLAYONLY_PRESENT_PROGRESS. Поддерживается начиная с Windows 8.
MiracastEncodeChunkCompleted
Структура, используемая при DXGK_INTERRUPT_MICACAST_CHUNK_PROCESSING_COMPLETEпараметра InterruptType. Поддерживается в WDDM 1.3 и более поздних версиях, отображающих драйверы мини-портов, работающие на Windows 8.1 и более поздних версиях.
MiracastEncodeChunkCompleted.VidPnTargetId
Отсчитываемый от нуля идентификационный номер целевого объекта представления видео в пути к топологии сети видеотрансляции (VidPN). Это число представляет целевой объект видео, где выполняется кодирование. Поддерживается начиная с Windows 8.1.
MiracastEncodeChunkCompleted.ChunkInfo
DXGK_MIRACAST_CHUNK_INFO кодировать структуру сведений о блоках, которую требует сообщить драйверу мини-порта дисплея. Поддерживается начиная с Windows 8.1.
MiracastEncodeChunkCompleted.pPrivateDriverData
Указатель на блок частных данных, описывающий этот блок кодирования. Поддерживается начиная с Windows 8.1.
MiracastEncodeChunkCompleted.PrivateDataDriverSize
Размер (в байтах) блока частных данных в pPrivateDriverData. Это значение не должно быть больше значения MaxChunkPrivateDriverDataSize , указанного драйвером в структуре DXGK_MIRACAST_CAPS . Поддерживается начиная с Windows 8.1.
MiracastEncodeChunkCompleted.Status
Значение типа NTSTATUS , указывающее, был ли блок кодирования успешно добавлен в очередь блоков. В случае успешного выполнения возвращается STATUS_SUCCESS . Если возвращается какое-либо другое значение, блок не может быть добавлен в очередь, и все невыполненные блоки будут потеряны. Поддерживается начиная с Windows 8.1.
Значение | Значение |
---|---|
STATUS_SUCCESS | Блок успешно добавлен в очередь. |
STATUS_INVALID_PARAMETER | Параметры были проверены и определены как неверные. |
STATUS_NO_MEMORY | В подпрограмме прерывания службы (ISR) закончились свободные блоки кодирования. |
DmaPageFaulted
Структура, используемая при DXGK_INTERRUPT_DMA_PAGE_FAULTEDпараметра InterruptType. Поддерживается начиная с Windows 10.
DmaPageFaulted.FaultedFenceId
Идентификатор ограждения отправки для команды с ошибкой.
Если не удается надежно определить неисправное ограждение, 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 , если ошибка имеет другую причину. В последнем случае для описания ошибки GPU следует использовать поле FaultErrorCode . Поддерживается начиная с 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
Структура, используемая при DXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY2параметре InterruptType. Поддерживается начиная с Windows 10 версии 1607.
CrtcVsyncWithMultiPlaneOverlay2.VidPnTargetId
Vsync с многоплановой наложением Vidpn целевой идентификатор. Поддерживается начиная с Windows 10 версии 1607.
CrtcVsyncWithMultiPlaneOverlay2.PhysicalAdapterMask
Физическая маска адаптера, в которой выполняется вертикальная синхронизация. Если этот элемент содержит допустимое значение, драйвер также должен установить флаг битового поля ValidPhysicalAdapterMask в элементе Flags . Поддерживается начиная с Windows 10 версии 1607.
CrtcVsyncWithMultiPlaneOverlay2.MultiPlaneOverlayVsyncInfoCount
Количество плоскостей наложения, доступных для отображения. Поддерживается начиная с Windows 10 версии 1607.
CrtcVsyncWithMultiPlaneOverlay2.pMultiPlaneOverlayVsyncInfo
Указатель на структуру DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO2 , которая указывает сведения для каждой плоскости наложения, обновленной VSync. Поддерживается начиная с Windows 10 версии 1607.
CrtcVsyncWithMultiPlaneOverlay2.GpuFrequency
Частота счетчика часов GPU. Поддерживается начиная с Windows 10 версии 1607.
CrtcVsyncWithMultiPlaneOverlay2.GpuClockCounter
Счетчик часов GPU во время прерывания VSYNC. В сочетании с GpuFrequency это указывает время прерывания VSYNC. Поддерживается начиная с Windows 10 версии 1607.
MonitoredFenceSignaled
Структура, используемая при DXGK_INTERRUPT_MONITORED_FENCE_SIGNALEDпараметре InterruptType. Поддерживается начиная с Windows 10 версии 1703.
MonitoredFenceSignaled.NodeOrdinal
Порядковый номер узла подсистемы, создающей уведомление. Поддерживается начиная с Windows 10 версии 1703.
MonitoredFenceSignaled.EngineOrdinal
Порядковый номер обработчика, создающего уведомление. Поддерживается начиная с Windows 10 версии 1703.
HwContextListSwitchCompleted
Структура, используемая при DXGK_INTERRUPT_HWCONTEXTLIST_SWITCH_COMPLETEDпараметре InterruptType. Поддерживается начиная с 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 для неисправной команды. Если не удалось определить неисправное ограждение, для pageFaultFlags должен быть установлен флаг DXGK_PAGE_FAULT_FENCE_INVALID. Поддерживается начиная с Windows 10 версии 1703.
HwQueuePageFaulted.FaultedVirtualAddress
Виртуальный адрес ошибки или 0, если ошибка имеет другую причину. В последнем случае для описания ошибки GPU следует использовать поле FaultErrorCode. Поддерживается начиная с 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. Поддерживается начиная с Windows 10 версии 1703.
SchedulingLogInterrupt
Структура, используемая при DXGK_INTERRUPT_SCHEDULING_LOG_INTERRUPTпараметре InterruptType. Поддерживается начиная с Windows 10 версии 1803.
SchedulingLogInterrupt.NodeOrdinal
Порядковый номер узла подсистемы, который вызвал прерывание журнала планирования. Поддерживается начиная с Windows 10 версии 1803.
SchedulingLogInterrupt.EngineOrdinal
Порядковый номер подсистемы, который вызвал прерывание журнала планирования. Поддерживается начиная с Windows 10 версии 1803.
GpuEngineTimeout
Структура, используемая при DXGK_INTERRUPT_GPU_ENGINE_TIMEOUTпараметре InterruptType. Поддерживается начиная с Windows 10 версии 1803.
GpuEngineTimeout.NodeOrdinal
Порядковый номер узла подсистемы, для которых истекло время ожидания и требуется сброс. Поддерживается начиная с Windows 10 версии 1803.
GpuEngineTimeout.EngineOrdinal
Порядковый номер двигателя, для которых истекло время ожидания и требуется сброс. Поддерживается начиная с Windows 10 версии 1803.
SuspendContextCompleted
Структура, используемая при DXGK_INTERRUPT_SUSPEND_CONTEXT_COMPLETEDТип прерывания. Поддерживается начиная с Windows 10 версии 1803.
SuspendContextCompleted.hContext
Аппаратный контекст, для которому предназначено подтверждение приостановки. Поддерживается начиная с Windows 10 версии 1803.
SuspendContextCompleted.ContextSuspendFence
Забор приостановки контекста. Поддерживается начиная с Windows 10 версии 1803.
CrtcVsyncWithMultiPlaneOverlay3
Структура, используемая, если параметр InterruptTypeDXGK_INTERRUPT_CRTC_VSYNC_WITH_MULTIPLANE_OVERLAY3. Доступно начиная с Windows Server 2022 (WDDM 2.9).
CrtcVsyncWithMultiPlaneOverlay3.VidPnTargetId
Vsync с многоплановой наложением Vidpn целевой идентификатор. Доступно начиная с Windows Server 2022 (WDDM 2.9).
CrtcVsyncWithMultiPlaneOverlay3.PhysicalAdapterMask
Физическая маска адаптера, в которой выполняется вертикальная синхронизация. Если этот элемент содержит допустимое значение, драйвер также должен установить флаг битового поля ValidPhysicalAdapterMask в элементе Flags . Доступно начиная с Windows Server 2022 (WDDM 2.9).
CrtcVsyncWithMultiPlaneOverlay3.MultiPlaneOverlayVsyncInfoCount
Количество структур DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO3 , на которые указывает CrtcVsyncWithMultiPlaneOverlay3.pMultiPlaneOverlayVsyncInfo . Эти структуры описывают плоскости наложения, доступные для отображения. Доступно начиная с Windows Server 2022 (WDDM 2.9).
CrtcVsyncWithMultiPlaneOverlay3.pMultiPlaneOverlayVsyncInfo
Указатель на массив DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO3 структур, указывающих сведения для каждой плоскости наложения, обновленной VSync. Дополнительные сведения см. в разделе Очередь аппаратного переворачивания . Доступно начиная с Windows Server 2022 (WDDM 2.9).
CrtcVsyncWithMultiPlaneOverlay3.GpuFrequency
Частота счетчика часов GPU. Доступно начиная с Windows Server 2022 (WDDM 2.9).
CrtcVsyncWithMultiPlaneOverlay3.GpuClockCounter
Счетчик часов GPU во время прерывания VSYNC. В сочетании с 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
Массив, содержащий дескрипторы ядра ОС для всех собственных заборов, которые были сигнализованы и требуют разблокировки официантов. Если этот массив пуст, ос будет повторно сканировать все ожидающие собственные официанты ограждения вместо подмножества, указанного в собственном массиве ограждения. Dxgkrnl считывает это значение, только если DXGK_VIDSCHCAPS::OptimizedNativeFenceInterrupt имеет значение FALSE. Поддерживается начиная с Windows 11 версии 24H2 (WDDM 3.2).
NativeFenceSignaled.hHWQueue
Дескриптор KMD HWQueue, запущенный в подсистеме, которая вызвала прерывание. Если этот дескриптор имеет значение NULL, Dxgkrnl повторно проверит буфер журналов всех объектов HWQueue в этом обработчике. Dxgkrnl считывает это значение, только если DXGK_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
Структура DXGKCB_NOTIFY_INTERRUPT_DATA_FLAGS , указывающая, предоставляет ли драйвер мини-порта дисплей физическую маску адаптера при вызове функции DxgkCbNotifyInterrupt .
Комментарии
Драйвер мини-порта заполняет DXGKARGCB_NOTIFY_INTERRUPT_DATA, а затем использует обратный вызов DXGKCB_SYNCHRONIZE_EXECUTION для синхронизации с прерыванием. Параметр SynchronizeRoutineобратного вызова DXGKCB_SYNCHRONIZE_EXECUTION указывает на функцию, реализованную в минипорте, которая вызывается ОС при необходимости, а затем драйвер заполняет сведения о параметре перед обратным вызовом в ОС с помощью обратного вызова DXGKCB_NOTIFY_INTERRUPT . Затем ОС обрабатывает прерывание, а планировщик использует сведения в DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO2 структуре.
В зависимости от значения в элементе InterruptType драйвер мини-порта дисплея должен задать соответствующий член объединения в этой структуре. Например, для конца буферного забора прямого доступа к памяти (DMA), соответствующего значению DXGK_INTERRUPT_DMA_COMPLETED в Элементе InterruptType, драйвер должен задать значение в члене SubmissionFenceId элемента DmaCompleted . Это значение должно быть идентификатором ограждения буфера DMA, который функция DxgkDdiSubmitCommand драйвера назначает только что завершенный буфер DMA.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista (WDDM 1.0) |
Верхняя часть | d3dkmddi.h (включая D3dkmddi.h) |
См. также раздел
DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO
DXGKCB_NOTIFY_INTERRUPT_DATA_FLAGS