Supplying Fence Identifiers
DXGK在调用KMD的DxgkDdiPatch和DxgkDdiSubmitCommand函数时会在参数DXGKARG_PATCH和DXGKARG_SUBMITCOMMAND的SubmissionFenceId成员中给出唯一的Fence ID。根据显卡硬件的具体实现,KMD会因为如下原因使用DxgkDdiPatch或DxgkDdiSubmitCommand中的任一一个fence id。
-
驱动使用fence id 给DxgkDdiPatch 来写入DMA buffer的尾部。
-
驱动将DxgkDdiSubmitCommand中传递的fence id写入ring buffer。Ring buffer是一段buffer,DMA buffer在其中排队,等待GPU硬件执行(大多数GPU都用该DMA buffer队列模型)