Version: 2021.2
LanguageEnglish
  • C#

CommandBuffer.WaitOnAsyncGraphicsFence

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Declaration

public void WaitOnAsyncGraphicsFence(Rendering.GraphicsFence fence);

Declaration

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

Parameters

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 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.

Description

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.