Fences are more fine-grained synchronization primitives offering potentially better performance since it allows other command lists to continue, as opposed to zeCommandQueueSynchronize which will hold the host until all work inside the queue is complete.
Create a fence object for every L0 Queue
executeCmdListReg will reset this fence and set it to trigger upon new invocation of command list execution.
Queue::finish() will wait for this fence to signal.
Fences are more fine-grained synchronization primitives offering potentially better performance since it allows other command lists to continue, as opposed to
zeCommandQueueSynchronize
which will hold the host until all work inside the queue is complete.executeCmdListReg
will reset this fence and set it to trigger upon new invocation of command list execution.Queue::finish()
will wait for this fence to signal.