Поделиться через


структура 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_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