## Name

glDispatchCompute — launch one or more compute work groups

## C Specification

`void glDispatchCompute(` | GLuint num_groups_x,
| GLuint num_groups_y,
| GLuint num_groups_z`)`;

## Parameters

`num_groups_x`

  The number of work groups to be launched in the X dimension.

`num_groups_y`

  The number of work groups to be launched in the Y dimension.

`num_groups_z`

  The number of work groups to be launched in the Z dimension.

## Description

`glDispatchCompute` launches one or more compute work groups. Each work group is processed by the active program object for the compute shader stage. While the individual shader invocations within a work group are executed as a unit, work groups are executed completely independently and in unspecified order. `num_groups_x`, `num_groups_y` and `num_groups_z` specify the number of local work groups that will be dispatched in the X, Y and Z dimensions, respectively.

## Errors

`GL_INVALID_OPERATION` is generated if there is no active program for the compute shader stage.

`GL_INVALID_VALUE` is generated if any of `num_groups_x`, `num_groups_y`, or `num_groups_z` is greater than or equal to the maximum work-group count for the corresponding dimension.

## Associated Gets

glGet with argument `GL_MAX_COMPUTE_WORK_GROUP_COUNT`

## See Also

glDispatchComputeIndirect.

## Copyright

Copyright © 2012 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.