Introduction to Command and DMA Buffers
Command buffer和DMA buffer很类似。但是Command buffer是UMD使用的,DMA buffer是KMD使用的。
Command buffer有如下特性:
-
不能被GPU直接访问。
-
内容格式由硬件厂商制定。
-
其内存分配在渲染应用进程的私有地址空间中,该内存为为普通的可分页内存,且被UMD使用。
DMA buffer 有如下特性:
-
DMA buffer 的内容来源于Command buffer中被UMD验证过的内容。
-
DMA buffer由KMD在内核可分页内存中分配。
-
GPU读取DMA buffer之前,KMD必须锁住DMA buffer所在内存页面并且通过aperture映射该DMA buffer。