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


Инициализация и создание буфера DMA

Чтобы указать, что GPU поддерживает аппаратное ускорение GDI, реализация драйвером мини-порта дисплея функции DriverEntry должна заполнить элемент DxgkDdiRenderKm структуры DRIVER_INITIALIZATION_DATA указателем на функцию DxgkDdiRenderKm , реализованную драйвером.

Подсистема графического ядра DirectX вызывает функцию DxgkDdiRenderKm для создания буфера DMA из буфера команд, который передается драйвером канонического дисплея (CDD) режима ядра, предоставляемым операционной системой.

Когда драйвер порта отображения подсистемы графического ядра DirectX (Dxgkrnl.sys) вызывает функцию DxgkDdiCreateContext, он задает элемент pCreateContext-Flags-GdiContext >> для указания контекста, используемого для аппаратного ускорения GDI.

Аналогичным образом, когда драйвер порта дисплея вызывает функцию DxgkDdiCreateDevice, он задает член pCreateDevice-Flags-GdiDevice>>, чтобы указать устройство, используемое для аппаратного ускорения GDI.