функция обратного вызова DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 (d3dkmddi.h)
DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 вызывается для изменения отображаемой конфигурации наложения.
Синтаксис
DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 DxgkddiSetvidpnsourceaddresswithmultiplaneoverlay3;
NTSTATUS DxgkddiSetvidpnsourceaddresswithmultiplaneoverlay3(
IN_CONST_HANDLE hAdapter,
IN_OUT_PDXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 pSetVidPnSourceAddressWithMultiPlaneOverlay
)
{...}
Параметры
hAdapter
Идентифицирует адаптер, содержащий оборудование наложения.
pSetVidPnSourceAddressWithMultiPlaneOverlay
Указатель на структуру DXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 , описывающую отображаемые поверхности и параметры отображения.
Возвращаемое значение
DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 возвращает следующие значения:
Код возврата | Описание |
---|---|
STATUS_SUCCESS | Подпрограмма успешно завершена. |
STATUS_INVALID_PARAMETER | В [модели очереди пролистывания оборудования]/windows-hardware/drivers/display/hardware-flip-queue) драйверу не удалось обработать запрос на пролистывание. |
STATUS_RETRY | Возвращается по таким причинам, как не удалось ставить в очередь запрос к оборудованию из-за ожидающих проверок или драйвер должен быть вызван на PASSIVE_LEVEL. Если драйвер необходимо вызвать в PASSIVE_LEVEL он также должен задать DXGK_SETVIDPNSOURCEADDRESS_OUTPUT_FLAGS. Флаг PrePresentNeeded . |
Комментарии
Эта функция обычно вызывается на уровне прерываний, но если драйверу необходимо выполнить настройку оборудования, которая может быть выполнена только в PASSIVE_LEVEL, драйвер может запросить отзыв этой функции в PASSIVE_LEVEL, возвратив STATUS_RETRY и задав DXGK_SETVIDPNSOURCEADDRESS_OUTPUT_FLAGS. Флаг PrePresentNeeded .
Даже при вызове на PASSIVE_LEVEL драйвер не должен тратить значительное количество времени на этот вызов, так как вызов блокирует поток планировщика MAIN GPU, и задержка может привести к сбою. Ресурсоемкие действия должны быть помещены в очередь в виде отдельных рабочих элементов по драйверу и обрабатываться в фоновом режиме. В этом сценарии драйвер должен управлять любыми конфликтами между элементом в очереди и изменениями оборудования, которые потребуются для будущих вызовов до и после.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3dkmddi.h |