Version: 2020.1


public static void WaitOnAsyncGraphicsFence (Rendering.GraphicsFence fence);
public static void WaitOnAsyncGraphicsFence (Rendering.GraphicsFence fence, Rendering.SynchronisationStage stage= SynchronisationStage.PixelProcessing);


fence The GraphicsFence that the GPU will be instructed to wait upon before proceeding with its processing of the graphics queue.
stage On some platforms there is a significant gap between the vertex processing completing and the pixel processing begining for a given draw call. This parameter allows for requested wait to be before the next items 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's processing of the graphics queue to wait until the given GraphicsFence is passed.

Some platforms can not differentiate between the start of vertex and pixel processing, these platforms will wait before the next items vertex processing regardless of the value passed to the stage parameter.

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

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

It is possible for the user to create GPU deadlocks with this function. Care should be taken to ensure that the GraphicsFence passed can be completed before the GPU is instructed to wait.

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

See Also: GraphicsFence, Graphics.CreateGraphicsFence.