Class ComputeTask
Execute compute effect class.
Implements
Inherited Members
Namespace: Evergine.Framework.Graphics
Assembly: Evergine.Framework.dll
Syntax
public class ComputeTask : BaseMaterial, IDisposable
  Constructors
ComputeTask(Effect)
Initializes a new instance of the ComputeTask class.
Declaration
public ComputeTask(Effect effect)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Effect | effect | Effect instance.  | 
      
Fields
ComputeCommandQueue
Compute command Queue.
Declaration
protected static CommandQueue ComputeCommandQueue
  Field Value
| Type | Description | 
|---|---|
| CommandQueue | 
Methods
PrepareComputeTask(string)
Create pipeline and resourceLayout and resourceSet.
Declaration
protected void PrepareComputeTask(string passName)
  Parameters
| Type | Name | Description | 
|---|---|---|
| string | passName | Pass name.  | 
      
Run(CommandBuffer, uint, uint, uint, string)
Execute compute effect. (dispatch).
Declaration
public void Run(CommandBuffer computeCommandBuffer, uint groupCountX, uint groupCountY, uint groupCountZ, string pass = "Default")
  Parameters
| Type | Name | Description | 
|---|---|---|
| CommandBuffer | computeCommandBuffer | CommandBuffer instance.  | 
      
| uint | groupCountX | The number of groups dispatched in the x direction. ThreadGroupCountX must be less than or equal to (65535).  | 
      
| uint | groupCountY | The number of groups dispatched in the y direction. ThreadGroupCountY must be less than or equal to (65535).  | 
      
| uint | groupCountZ | The number of groups dispatched in the z direction. ThreadGroupCountZ must be less than or equal to (65535).  | 
      
| string | pass | Pass name.  | 
      
Run(uint, uint, uint, string)
Execute compute effect. (dispatch).
Declaration
public void Run(uint groupCountX, uint groupCountY, uint groupCountZ, string pass = "Default")
  Parameters
| Type | Name | Description | 
|---|---|---|
| uint | groupCountX | The number of groups dispatched in the x direction. ThreadGroupCountX must be less than or equal to (65535).  | 
      
| uint | groupCountY | The number of groups dispatched in the y direction. ThreadGroupCountY must be less than or equal to (65535).  | 
      
| uint | groupCountZ | The number of groups dispatched in the z direction. ThreadGroupCountZ must be less than or equal to (65535).  | 
      
| string | pass | Pass name.  | 
      
Run1D(CommandBuffer, uint, uint, string)
Execute a 1D compute effect.
Declaration
public void Run1D(CommandBuffer computeCommandBuffer, uint threadCountX, uint groupSizeX = 64, string pass = "Default")
  Parameters
| Type | Name | Description | 
|---|---|---|
| CommandBuffer | computeCommandBuffer | The commandbuffer.  | 
      
| uint | threadCountX | The size of the problem.  | 
      
| uint | groupSizeX | The group size, 64 by default.  | 
      
| string | pass | Pass name.  | 
      
Run1D(uint, uint, string)
Execute a 1D compute effect.
Declaration
public void Run1D(uint threadCountX, uint groupSizeX = 64, string pass = "Default")
  Parameters
| Type | Name | Description | 
|---|---|---|
| uint | threadCountX | The size of the problem.  | 
      
| uint | groupSizeX | The group size, 64 by default.  | 
      
| string | pass | Pass name.  | 
      
Run2D(CommandBuffer, uint, uint, uint, uint, string)
Execute a 2D compute effect.
Declaration
public void Run2D(CommandBuffer computeCommandBuffer, uint threadCountX, uint threadCountY, uint groupSizeX = 8, uint groupSizeY = 8, string pass = "Default")
  Parameters
| Type | Name | Description | 
|---|---|---|
| CommandBuffer | computeCommandBuffer | The commandbuffer.  | 
      
| uint | threadCountX | The x size of the problem.  | 
      
| uint | threadCountY | The y size of the problem.  | 
      
| uint | groupSizeX | The group size x, 8 by default.  | 
      
| uint | groupSizeY | The group size y, 8 by default.  | 
      
| string | pass | Pass name.  | 
      
Run2D(uint, uint, uint, uint, string)
Execute a 2D compute effect.
Declaration
public void Run2D(uint threadCountX, uint threadCountY, uint groupSizeX = 8, uint groupSizeY = 8, string pass = "Default")
  Parameters
| Type | Name | Description | 
|---|---|---|
| uint | threadCountX | The x size of the problem.  | 
      
| uint | threadCountY | The y size of the problem.  | 
      
| uint | groupSizeX | The group size x, 8 by default.  | 
      
| uint | groupSizeY | The group size y, 8 by default.  | 
      
| string | pass | Pass name.  | 
      
Run3D(CommandBuffer, uint, uint, uint, uint, uint, uint, string)
Execute a 3D compute effect.
Declaration
public void Run3D(CommandBuffer computeCommandBuffer, uint threadCountX, uint threadCountY, uint threadCountZ, uint groupSizeX, uint groupSizeY, uint groupSizeZ, string pass = "Default")
  Parameters
| Type | Name | Description | 
|---|---|---|
| CommandBuffer | computeCommandBuffer | The commandbuffer.  | 
      
| uint | threadCountX | The x size of the problem.  | 
      
| uint | threadCountY | The y size of the problem.  | 
      
| uint | threadCountZ | The z size of the problem.  | 
      
| uint | groupSizeX | The group size x.  | 
      
| uint | groupSizeY | The group size y.  | 
      
| uint | groupSizeZ | The group size z.  | 
      
| string | pass | Pass name.  | 
      
Run3D(uint, uint, uint, uint, uint, uint, string)
Execute a 3D compute effect.
Declaration
public void Run3D(uint threadCountX, uint threadCountY, uint threadCountZ, uint groupSizeX, uint groupSizeY, uint groupSizeZ, string pass = "Default")
  Parameters
| Type | Name | Description | 
|---|---|---|
| uint | threadCountX | The x size of the problem.  | 
      
| uint | threadCountY | The y size of the problem.  | 
      
| uint | threadCountZ | The z size of the problem.  | 
      
| uint | groupSizeX | The group size x.  | 
      
| uint | groupSizeY | The group size y.  | 
      
| uint | groupSizeZ | The group size z.  | 
      
| string | pass | Pass name.  |