функция обратного вызова 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/driver/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 драйвер должен избежать значительного количества времени в этом вызове, так как вызов блокирует основной поток планировщика GPU и задержку может привести к текущим сбоям. Действия с интенсивным временем должны быть помещены в очередь в виде отдельных рабочих элементов драйвером и обрабатываются в фоновом режиме. В этом сценарии любые конфликты между очередным элементом и аппаратными изменениями, требуемыми для будущих вызовов предварительного и последующего вызова, должны управляться драйвером.
Требования
Требование | Ценность |
---|---|
целевая платформа | Виндоус |
заголовка | d3dkmddi.h |