Introduction to Command and DMA Buffers
Command and DMA buffers closely resemble each other. However, a command buffer is used by the user-mode display driver, and a DMA buffer is used by the display miniport driver.
A command buffer has the following characteristics:
It is never directly accessed by the GPU.
The hardware vendor controls the format.
It is allocated for the user-mode display driver from regular pageable memory in the private address space of the rendering application.
A DMA buffer has the following characteristics:
It is based on the validated content of a command buffer.
It is allocated by the display miniport driver from kernel pageable memory.
Before the GPU can read from a DMA buffer, the display miniport driver must page-lock the DMA buffer and map the DMA buffer through an aperture.