ScriptableRenderContext.ExecuteCommandBufferAsync
Declaration
public void ExecuteCommandBufferAsync(Rendering.CommandBuffer commandBuffer, Rendering.ComputeQueueType queueType);Параметры
| Параметр | Описание |
|---|---|
| commandBuffer | CommandBuffer для выполнения. |
| queueType | Описывает желаемую очередь асинхронных вычислений, в которой должны выполняться предоставленные CommandBuffer. |
Описание
Расписывает выполнение Командного Буфера в очереди асинхронных вычислений. Переданные ComputeQueueType определяют порядок очереди.
Обратите внимание, что все команды в Командном Буфере должны быть типа, подходящего для выполнения в асинхронных вычислительных очередях. Если буфер содержит какие-либо неподходящие команды, то Unity регистрирует ошибку и отображает ее в окне консоли Редактора. Команды, которые CommandBuffer могут использовать в асинхронных вычислительных очередях, являются:
- CommandBuffer.BeginSample
- CommandBuffer.BuildRayTracingAccelerationStructure
- CommandBuffer.CopyCounterValue
- CommandBuffer.CopyTexture
- CommandBuffer.CreateGraphicsFence
- CommandBuffer.DisableShaderKeyword
- CommandBuffer.DispatchCompute
- CommandBuffer.EnableShaderKeyword
- CommandBuffer.EndSample
- CommandBuffer.GetTemporaryRT
- CommandBuffer.GetTemporaryRTArray
- CommandBuffer.IssuePluginEvent
- CommandBuffer.ReleaseTemporaryRT
- CommandBuffer.SetComputeBufferData
- 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.WaitOnGraphicsFence
Эти команды гарантировано выполняются в одной и той же очереди. Если целевая платформа не поддерживает асинхронные вычислительные очереди, то Unity отправляет работу в графическую очередь.
Дополнительные ресурсы: SystemInfo.supportsAsyncCompute, GPUFence, CommandBuffer.