Class ARBComputeVariableGroupSize
- java.lang.Object
-
- org.lwjgl.opengl.ARBComputeVariableGroupSize
-
public class ARBComputeVariableGroupSize extends java.lang.ObjectNative 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_variablelayout 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
DispatchComputeandDispatchComputeIndirect. Compute shaders with variable group sizes must be dispatched viaDispatchComputeGroupSizeARB. No support is provided in this extension for indirect dispatch of compute shaders with a variable group size.Requires
OpenGL 4.3orARB_compute_shader.
-
-
Field Summary
Fields Modifier and Type Field and Description static intGL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARBAccepted by thepnameparameter of GetIntegerv, GetBooleanv, GetFloatv, GetDoublev and GetInteger64v.static intGL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARBAccepted by thepnameparameter of GetIntegeri_v, GetBooleani_v, GetFloati_v, GetDoublei_v and GetInteger64i_v.static intGL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARBAccepted by thepnameparameter of GetIntegerv, GetBooleanv, GetFloatv, GetDoublev and GetInteger64v.static intGL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARBAccepted by thepnameparameter of GetIntegeri_v, GetBooleani_v, GetFloati_v, GetDoublei_v and GetInteger64i_v.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static voidglDispatchComputeGroupSizeARB(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.
-
-
-
Field Detail
-
GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB, GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB
Accepted by thepnameparameter of GetIntegerv, GetBooleanv, GetFloatv, GetDoublev and GetInteger64v.
-
GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB, GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB
Accepted by thepnameparameter of GetIntegeri_v, GetBooleani_v, GetFloati_v, GetDoublei_v and GetInteger64i_v.
-
-
Method Detail
-
glDispatchComputeGroupSizeARB
public static 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_OPERATIONerror is generated by DispatchComputeGroupSizeARB if the active program for the compute shader stage has a fixed work group size.An
INVALID_VALUEerror is generated by DispatchComputeGroupSizeARB if any ofgroup_size_x,group_size_y, orgroup_size_zis 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_VALUEerror is generated by DispatchComputeGroupSizeARB if the product ofgroup_size_x,group_size_y, andgroup_size_zexceeds 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- the number of work groups to be launched in the X dimensionnum_groups_y- the number of work groups to be launched in the Y dimensionnum_groups_z- the number of work groups to be launched in the Z dimensiongroup_size_x- the group size in the X dimensiongroup_size_y- the group size in the Y dimensiongroup_size_z- the group size in the Z dimension
-
-