ComputeDispatchAsync

Family: Compute · 3 forms

What it does

ComputeDispatchAsync takes shaderID (an integer) and groupsX (an integer), and answers an integer. That is the first of 3 forms. shaderID is the id of a Shader object, obtained elsewhere in the Compute family.

Syntax

1
ComputeDispatchAsync(shaderID integer, groupsX integer) → integer
2
ComputeDispatchAsync(shaderID integer, groupsX integer, groupsY integer) → integer
3
ComputeDispatchAsync(shaderID integer, groupsX integer, groupsY integer, groupsZ integer) → integer

Parameters

NameTypeIn forms
shaderIDintegerall
groupsXintegerall
groupsYinteger2, 3
groupsZinteger3

Every form returns

integer

Example · generated

Form 1, the short one

shader = CreateComputeShader("@compute fn main() {}", "{}")DO  Print(ComputeDispatchAsync(shader, 1))  Sync()LOOP

Form 3, with every argument

shader = CreateComputeShader("@compute fn main() {}", "{}")DO  Print(ComputeDispatchAsync(shader, 1, 1, 1))  Sync()LOOP

CreateComputeShader is there to give the call something to act on; ComputeDispatchAsync is the line that matters. The DO … LOOP is not decoration: a classic BASIC program ends the moment it runs out of lines, and Sync() is what draws the frame.

14 commands in Compute