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


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

pfnSubmitCommandCb используется для отправки буферов команд в контекстах, поддерживающих виртуальную адресацию графического процессора (GPU). Эти контексты создают команды непосредственно из пользовательского режима, управляют собственным буферным пулом команд и не используют список расположений выделения или исправлений.

pfnSubmitCommandCb заменяет старый pfnRenderCb для таких контекстов и должен использоваться вместо нее. Контексты, работающие в устаревшем режиме исправления, должны продолжать использовать старый pfnRenderCb.

Несмотря на то, что драйвер пользовательского режима не создает расположения исправлений, он по-прежнему должен создавать список первичных компонентов, на которые выполняется запись. Диспетчер видеопамяти использует список выделения, чтобы определить, на какие основные выделения ссылается каждый буфер команд для записи. Эти сведения используются для синхронизации отрисовки с основными операциями Flip .

Некоторым драйверам режима ядра требуется информация от драйвера пользовательского режима о том, как отправить определенный буфер прямого доступа к памяти (DMA) в gpu. В Windows Display Driver Model (WDDM) 1.0 эти сведения были отправлены драйвером пользовательского режима в драйвер режима ядра через буфер команд. Так как буфер DMA создается непосредственно драйвером пользовательского режима и передается в GPU без изменений, его нельзя использовать для отправки данных в драйвер ядра. В результате мы добавляем явный буфер данных частного драйвера для отправки вместе с отправкой. Обратите внимание, что эти частные данные драйвера являются однонаправленными, и драйвер режима ядра не может возвращать сведения драйверу пользовательского режима через этот буфер.

Синтаксис

PFND3DDDI_SUBMITCOMMANDCB Pfnd3dddiSubmitcommandcb;

HRESULT Pfnd3dddiSubmitcommandcb(
  HANDLE hDevice,
  const D3DDDICB_SUBMITCOMMAND *unnamedParam2
)
{...}

Параметры

hDevice

Дескриптор устройства отображения.

unnamedParam2

pData [in]

Указатель на структуру D3DDDICB_SUBMITCOMMAND , описывающую выполняемую операцию.

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

Если эта функция обратного вызова выполнена успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Требования

Требование Значение
Минимальная версия клиента Windows 10
Минимальная версия сервера Windows Server 2016
Целевая платформа Персональный компьютер
Верхняя часть d3dumddi.h (включая D3dumddi.h)

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

D3DDDICB_SUBMITCOMMAND

pfnRenderCb