Supplying Fence Identifiers
The Microsoft DirectX graphics kernel subsystem supplies an identical fence identifier in the SubmissionFenceId members of the DXGKARG_PATCH and DXGKARG_SUBMITCOMMAND structures in calls to the display miniport driver's DxgkDdiPatch and DxgkDdiSubmitCommand functions. Depending on how the graphics hardware is implemented, the driver is only required to use the fence identifier passed to one of either the DxgkDdiPatch or DxgkDdiSubmitCommand function for the following reasons:
The driver uses the fence identifier passed to DxgkDdiPatch to write into the end of the direct memory access (DMA) buffer.
The driver uses the fence identifier passed to DxgkDdiSubmitCommand to write into the ring buffer, which is the buffer where DMA buffers are queued for execution by the graphics processing unit (GPU) (most GPU types use a DMA buffer queuing model).