Initialization and DMA Buffer Creation
To indicate that the GPU supports GDI Hardware Acceleration, a display miniport driver's implementation of the DriverEntry function must fill in the DxgkDdiRenderKm member of the DRIVER_INITIALIZATION_DATA structure with a pointer to the driver-implemented DxgkDdiRenderKm function.
The DirectX graphics kernel subsystem calls the DxgkDdiRenderKm function to generate a DMA buffer from the command buffer that is passed by the kernel-mode Canonical Display Driver (CDD) provided by the operating system.
When the display port driver of the DirectX graphics kernel subsystem (Dxgkrnl.sys) calls the DxgkDdiCreateContext function, it sets the pCreateContext->Flags->GdiContext member to indicate the context that is used for GDI Hardware Acceleration.
Similarly, when the display port driver calls the DxgkDdiCreateDevice function, it sets the pCreateDevice->Flags->GdiDevice member to indicate the device that is used for GDI Hardware Acceleration.