AddCommandBufferAsync
Adds a command buffer to the GPU's async compute queues and executes that command buffer when graphics processing reaches a given point.
Read time 3 minutesLast updated 4 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
AddCommandBufferAsync(LightEvent, CommandBuffer, ComputeQueueType)
Adds a command buffer to the GPU's async compute queues and executes that command buffer when graphics processing reaches a given point.
public void AddCommandBufferAsync(LightEvent evt, CommandBuffer buffer, ComputeQueueType queueType)
Parameters
The point during the graphics processing at which this command buffer should commence on the GPU.
The buffer to execute.
The desired async compute queue type to execute the buffer on.
Remarks
Execute an async compute command buffer on the GPU when the graphics queues processing reaches a point described by the evt parameter.
Multiple command buffers can be set to execute at the same light event (or even the same buffer can be added multiple times). To remove a command buffer from execution, use Light.RemoveCommandBuffer.
Important: This API is compatible only with the Built-In Render Pipeline.
Passing a shadow pass mask allows detailed control over which shadow passes will execute the buffer.
The command buffer can only call the following commands for execution on the async compute queues, otherwise an error is logged and displayed in the Editor window:
All of the commands within the buffer are guaranteed to be executed on the same queue. If the target platform does not support async compute queues then the work is dispatched on the graphics queue.
Additional Resources:GPUFence, SystemInfo.supportsAsyncCompute, CommandBuffer, Light.RemoveCommandBuffer, Light.GetCommandBuffers.
AddCommandBufferAsync(LightEvent, CommandBuffer, ShadowMapPass, ComputeQueueType)
Adds a command buffer to the GPU's async compute queues and executes that command buffer when graphics processing reaches a given point.
public void AddCommandBufferAsync(LightEvent evt, CommandBuffer buffer, ShadowMapPass shadowPassMask, ComputeQueueType queueType)
Parameters
The point during the graphics processing at which this command buffer should commence on the GPU.
The buffer to execute.
A mask specifying which shadow passes to execute the buffer for.
The desired async compute queue type to execute the buffer on.
Remarks
Execute an async compute command buffer on the GPU when the graphics queues processing reaches a point described by the evt parameter.
Multiple command buffers can be set to execute at the same light event (or even the same buffer can be added multiple times). To remove a command buffer from execution, use Light.RemoveCommandBuffer.
Important: This API is compatible only with the Built-In Render Pipeline.
Passing a shadow pass mask allows detailed control over which shadow passes will execute the buffer.
The command buffer can only call the following commands for execution on the async compute queues, otherwise an error is logged and displayed in the Editor window:
All of the commands within the buffer are guaranteed to be executed on the same queue. If the target platform does not support async compute queues then the work is dispatched on the graphics queue.
Additional Resources:GPUFence, SystemInfo.supportsAsyncCompute, CommandBuffer, Light.RemoveCommandBuffer, Light.GetCommandBuffers.