ScriptableRenderContext.ExecuteCommandBufferAsync

切换到手册
public void ExecuteCommandBufferAsync (Rendering.CommandBuffer commandBuffer, Rendering.ComputeQueueType queueType);

参数

commandBuffer要执行的 CommandBuffer
queueType描述应在其上执行所提供的 CommandBuffer 的异步计算队列。

描述

对异步计算队列调度命令缓冲区的执行。传入的 ComputeQueueType 会确定队列顺序。

请注意,命令缓冲区中的所有命令都需要是适合在异步计算队列上执行的类型。如果缓冲区包含任何不合适的命令,则 Unity 会记录错误并在编辑器控制台窗口中显示。CommandBuffer 可以对异步计算队列使用的命令有:


- CommandBuffer.BeginSample
- CommandBuffer.CopyCounterValue
- CommandBuffer.CopyTexture
- CommandBuffer.CreateGPUFence
- CommandBuffer.DisableShaderKeyword
- CommandBuffer.DispatchCompute
- CommandBuffer.EnableShaderKeyword
- CommandBuffer.EndSample
- CommandBuffer.GetTemporaryRT
- CommandBuffer.GetTemporaryRTArray
- CommandBuffer.IssuePluginEvent
- CommandBuffer.ReleaseTemporaryRT
- CommandBuffer.SetComputeBufferParam
- CommandBuffer.SetComputeFloatParam
- CommandBuffer.SetComputeFloatParams
- CommandBuffer.SetComputeIntParam
- CommandBuffer.SetComputeIntParams
- CommandBuffer.SetComputeMatrixArrayParam
- CommandBuffer.SetComputeMatrixParam
- CommandBuffer.SetComputeTextureParam
- CommandBuffer.SetComputeVectorParam
- CommandBuffer.SetComputeVectorArrayParam
- CommandBuffer.SetGlobalBuffer
- CommandBuffer.SetGlobalColor
- CommandBuffer.SetGlobalFloat
- CommandBuffer.SetGlobalFloatArray
- CommandBuffer.SetGlobalInt
- CommandBuffer.SetGlobalMatrix
- CommandBuffer.SetGlobalMatrixArray
- CommandBuffer.SetGlobalTexture
- CommandBuffer.SetGlobalVector
- CommandBuffer.SetGlobalVectorArray
- CommandBuffer.WaitOnGPUFence


系统保证这些命令都在同一队列上执行。如果目标平台不支持异步计算队列,则 Unity 会将工作分发到图形队列。

另请参阅:SystemInfo.supportsAsyncCompute、GPUFence、CommandBuffer