Объявление
public static void ExecuteCommandBufferAsync(Rendering.CommandBuffer buffer, Rendering.ComputeQueueType queueType);Параметры
buffer | Выполняемый CommandBuffer. |
queueType | Описывает желаемую очередь асинхронных вычислений, в которой должен выполняться предоставленный CommandBuffer. |
Описание
Выполняет буфер команд в очереди асинхронных вычислений с очередью, выбранной на основе переданного параметра ComputeQueueType.
Необходимо, чтобы все команды в буфере команд относились к типу, подходящему для выполнения в очередях асинхронных вычислений. Если буфер содержит какие-либо команды, которые не подходят, то ошибка будет зарегистрирована и отображена в окне редактора. В частности, следующие команды разрешены в CommandBuffer, предназначенном для асинхронного выполнения:
CommandBuffer.CopyCounterValue
CommandBuffer.CreateGraphicsFence
CommandBuffer.DisableShaderKeyword
CommandBuffer.EnableShaderKeyword
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.SetGlobalFloatArray
CommandBuffer.SetGlobalMatrixArray
CommandBuffer.SetGlobalTexture
CommandBuffer.SetGlobalVectorArray
CommandBuffer.WaitOnGraphicsFence
Все команды в буфере гарантированно будут выполняться в одной очереди. Если целевая платформа не поддерживает очереди асинхронных вычислений, то работа направляется в графическую очередь.
Посмотрите так же: SystemInfo.supportsAsyncCompute , GPUFence , CommandBuffer.