初始化和 DMA 缓冲区创建

若要指示 GPU 支持 GDI 硬件加速,显示微型端口驱动程序的 DriverEntry 函数实现必须使用指向驱动程序实现的 DxgkDdiRenderKm 函数的指针填充 DRIVER_INITIALIZATION_DATA 结构的 DxgkDdiRenderKm 成员。

DirectX 图形内核子系统调用 DxgkDdiRenderKm 函数,以从操作系统提供的内核模式规范显示驱动程序 (CDD) 传递的命令缓冲区生成 DMA 缓冲区。

当 DirectX 图形内核子系统的显示端口驱动程序 (Dxgkrnl.sys) 调用 DxgkDdiCreateContext 函数时,它会设置 pCreateContext-Flags-GdiContext >> 成员以指示用于 GDI 硬件加速的上下文。

同样,当显示端口驱动程序调用 DxgkDdiCreateDevice 函数时,它会设置 pCreateDevice-Flags-GdiDevice >> 成员以指示用于 GDI 硬件加速的设备。