функция обратного вызова 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 должна оставаться в режиме ON и OFF и уведомляет драйвер режима ядра 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 |