функция обратного вызова 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 (include D3dumddi.h) |