Class ARBComputeVariableGroupSize



  • public class ARBComputeVariableGroupSize
    extends java.lang.Object
    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.

    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method and Description
      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.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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_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 - 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
        group_size_x - the group size in the X dimension
        group_size_y - the group size in the Y dimension
        group_size_z - the group size in the Z dimension