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


функция обратного вызова DXGKDDI_CONTROLINTERRUPT3 (d3dkmddi.h)

Функция DxgkDdi_ControlInterrupt3 включает или отключает заданный тип прерывания для указанного VidPnSourceId на графическом оборудовании.

Синтаксис

DXGKDDI_CONTROLINTERRUPT3 DxgkddiControlinterrupt3;

NTSTATUS DxgkddiControlinterrupt3(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_CONTROLINTERRUPT3 InterruptControl
)
{...}

Параметры

[in] hAdapter

Дескриптор объекта адаптера для графического процессора (GPU). Драйвер вернул этот дескриптор в параметре MiniportDeviceContext из вызова функции DxgkDdiAddDevice .

[in] InterruptControl

Структура DXGKARG_CONTROLINTERRUPT3 , которая предоставляет тип прерывания, состояние VSYNC и VidPnSourceId.

Возвращаемое значение

DxgkDdi_ControlInterrupt3 возвращает одно из следующих значений:

Код возврата Описание
STATUS_SUCCESS Тип прерывания был успешно включен или отключен на графическом оборудовании.
STATUS_NOT_IMPLEMENTED DxgkDdi_ControlInterrupt3 не поддерживает включение или отключение указанного типа прерывания.

Комментарии

Элемент управления VSync используется в WDDM для переключения VSync ON и OFF, чтобы сбалансировать активное использование источника VidPn по сценарию и экономию электроэнергии, достигнутой путем выключения VSync. Как правило, операционная система управляет логикой того, когда VSync должна оставаться в состоянии ВКЛ и ВЫКЛ, и уведомляет драйвер режима ядра IHV (KMD) через вызов DDI. KMD выполняет запрос. До Windows 10 версии 2004 (WDDM 2.7) степень детализации элемента управления VSync была доступна для каждого адаптера. То есть для данного адаптера элемент управления VSync применяется к каждому источнику VidPn адаптера. Например, рассмотрим адаптер с двумя источниками VidPn, подключенными к двум разным выходам. Если в одном из выходных данных нет действий и нет потребителей для VSync/VBlank, то существует только один вариант: операционная система должна оставить VSync ON для неактивных выходных данных.

Для двухэкранных портативных устройств сохранение VSync ON для одного экрана, когда он не требуется, имеет значительные затраты на питание. Для этого требуется, чтобы контроллер дисплея или ссылка дисплея оставались активными и не позволяют панелям, поддерживающим самообновится, переходить в низкочастотный режим самообновляющегося обновления с низким энергопотреблением. В Windows 10 версии 2004 и более поздних dxgkDdiControlInterrupt3 обеспечивает более детальное управление VSync для каждого источника VidPn адаптера.

Операционная система будет использовать только один из dxgkDdiControlInterrupt3 или DxgkDdi_ControlInterrupt2 в течение жизненного цикла адаптера.

Драйверы WDDM 2.7, которые не реализуют DxgkDdi_ControlInterrupt3 , отказались от независимого элемента управления VidPn VSync, и ОС будет вызывать только DxgkDdi_ControlInterrupt2. Возможность DXGK_DRIVERCAPS-IndependentVidPnVSync> должна иметь значение 0 в драйверах, которые не поддерживают DxgkDdi_ControlInterrupt3. В противном случае ОС завершится сбоем инициализации адаптера. Если драйвер реализует DxgkDdi_ControlInterrupt3, то для этой возможности можно задать значение 0 или 1, чтобы указать Per-VidPn поддержку.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 2004
Верхняя часть d3dkmddi.h

См. также раздел

DXGKARG_CONTROLINTERRUPT2

DXGK_DRIVERCAPS

DXGKARG_CONTROLINTERRUPT3

DxgkDdi_ControlInterrupt2