Version: 2019.4
public void WaitOnAsyncGraphicsFence (Rendering.GraphicsFence fence);
public void WaitOnAsyncGraphicsFence (Rendering.GraphicsFence fence, Rendering.SynchronisationStage stage);


fenceThe GraphicsFence that the GPU will be instructed to wait upon before proceeding with its processing of the graphics queue.
stageOn some platforms there is a significant gap between the vertex processing completing and the pixel processing beginning for a given draw call. This parameter allows for a requested wait to be made before the next item's vertex or pixel processing begins. If a compute shader dispatch is the next item to be submitted then this parameter is ignored.


Instructs the GPU to wait until the given GraphicsFence is passed.

If this CommandBuffer is executed using Graphics.ExecuteCommandBuffer or ScriptableRenderContext.ExecuteCommandBuffer then the processing of the graphics queue will wait.

The GraphicsFence given as a parameter to this function must have been created with a GraphicsFenceType.AsyncQueueSynchronization fence type.

If this CommandBuffer is executed using Graphics.ExecuteCommandBufferAsync or ScriptableRenderContext.ExecuteCommandBufferAsyn then the queue on which the command buffer has been executed will wait.

On platforms which do not support GraphicsFences, this call does nothing see: SystemInfo.supportsGraphicsFence.

This function returns immediately on the CPU. Only GPU processing is effected by the fence.

See Also: Graphics.ExecuteCommandBufferAsync Graphics.CreateGraphicsFence, ScriptableRenderContext.ExecuteCommandBufferAsync, ScriptableRenderContext.CreateGraphicsFence.