Top Description Fields Constructors Methods
org.lwjgl.opengl

public Class ARBComputeVariableGroupSize

extends Object
Class Inheritance
Imports
org.lwjgl.system.*

Native bindings to the ARB_compute_variable_group_size extension.

This extension allows applications to write generic compute shaders that operate on work groups with arbitrary dimensions. Instead of specifying a fixed work group size in the compute shader, an application can use a compute shader using the local_size_variable layout qualifer to indicate a variable work group size. When using such compute shaders, the new command DispatchComputeGroupSizeARB should be used to specify both a work group size and work group count.

In this extension, compute shaders with fixed group sizes must be dispatched by DispatchCompute and DispatchComputeIndirect. Compute shaders with variable group sizes must be dispatched via DispatchComputeGroupSizeARB. No support is provided in this extension for indirect dispatch of compute shaders with a variable group size.

Requires OpenGL 4.3 or ARB_compute_shader.

Field Summary

Modifier and TypeField and Description
public static final int
GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB

Accepted by the pname parameter of GetIntegerv, GetBooleanv, GetFloatv, GetDoublev and GetInteger64v.

public static final int
GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB

Accepted by the pname parameter of GetIntegeri_v, GetBooleani_v, GetFloati_v, GetDoublei_v and GetInteger64i_v.

public static final int
GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB

Accepted by the pname parameter of GetIntegerv, GetBooleanv, GetFloatv, GetDoublev and GetInteger64v.

public static final int
GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB

Accepted by the pname parameter of GetIntegeri_v, GetBooleani_v, GetFloati_v, GetDoublei_v and GetInteger64i_v.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static native void
glDispatchComputeGroupSizeARB(int
the number of work groups to be launched in the X dimension
num_groups_x
,
int
the number of work groups to be launched in the Y dimension
num_groups_y
,
int
the number of work groups to be launched in the Z dimension
num_groups_z
,
int
the group size in the X dimension
group_size_x
,
int
the group size in the Y dimension
group_size_y
,
int
the group size in the Z dimension
group_size_z
)

Launches one or more compute work groups, with arbitrary dimensions.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARBback to summary
public static final int GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB

Accepted by the pname parameter of GetIntegerv, GetBooleanv, GetFloatv, GetDoublev and GetInteger64v.

GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARBback to summary
public static final int GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB

Accepted by the pname parameter of GetIntegeri_v, GetBooleani_v, GetFloati_v, GetDoublei_v and GetInteger64i_v.

GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARBback to summary
public static final int GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB

Accepted by the pname parameter of GetIntegerv, GetBooleanv, GetFloatv, GetDoublev and GetInteger64v.

GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARBback to summary
public static final int GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB

Accepted by the pname parameter of GetIntegeri_v, GetBooleani_v, GetFloati_v, GetDoublei_v and GetInteger64i_v.

Constructor Detail

ARBComputeVariableGroupSizeback to summary
protected ARBComputeVariableGroupSize()

Method Detail

glDispatchComputeGroupSizeARBback to summary
public static native void glDispatchComputeGroupSizeARB(int num_groups_x, int num_groups_y, int num_groups_z, int group_size_x, int group_size_y, int group_size_z)

Launches one or more compute work groups, with arbitrary dimensions.

An INVALID_OPERATION error is generated by DispatchComputeGroupSizeARB if the active program for the compute shader stage has a fixed work group size.

An INVALID_VALUE error is generated by DispatchComputeGroupSizeARB if any of group_size_x, group_size_y, or group_size_z is less than or equal to zero or greater than the maximum local work group size for compute shaders with variable group size (MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB) in the corresponding dimension.

An INVALID_VALUE error is generated by DispatchComputeGroupSizeARB if the product of group_size_x, group_size_y, and group_size_z exceeds the implementation-dependent maximum local work group invocation count for compute shaders with variable group size (MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB).

Parameters
num_groups_x:int

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

num_groups_y:int

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

num_groups_z:int

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

group_size_x:int

the group size in the X dimension

group_size_y:int

the group size in the Y dimension

group_size_z:int

the group size in the Z dimension