sig
  type glpointer
  type byte_array =
      (int, Bigarray.int8_signed_elt, Bigarray.c_layout) Bigarray.Array1.t
  type ubyte_array =
      (int, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t
  type short_array =
      (int, Bigarray.int16_signed_elt, Bigarray.c_layout) Bigarray.Array1.t
  type ushort_array =
      (int, Bigarray.int16_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t
  type word_array =
      (int32, Bigarray.int32_elt, Bigarray.c_layout) Bigarray.Array1.t
  type int_array =
      (int, Bigarray.int_elt, Bigarray.c_layout) Bigarray.Array1.t
  type float_array =
      (float, Bigarray.float32_elt, Bigarray.c_layout) Bigarray.Array1.t
  type double_array =
      (float, Bigarray.float64_elt, Bigarray.c_layout) Bigarray.Array1.t
  type byte_matrix =
      (int, Bigarray.int8_signed_elt, Bigarray.c_layout) Bigarray.Array2.t
  type glenum =
      GL_CONSTANT_COLOR
    | GL_ONE_MINUS_CONSTANT_COLOR
    | GL_CONSTANT_ALPHA
    | GL_ONE_MINUS_CONSTANT_ALPHA
    | GL_BLEND_COLOR
    | GL_FUNC_ADD
    | GL_MIN
    | GL_MAX
    | GL_BLEND_EQUATION
    | GL_FUNC_SUBTRACT
    | GL_FUNC_REVERSE_SUBTRACT
    | GL_CONVOLUTION_1D
    | GL_CONVOLUTION_2D
    | GL_SEPARABLE_2D
    | GL_CONVOLUTION_BORDER_MODE
    | GL_CONVOLUTION_FILTER_SCALE
    | GL_CONVOLUTION_FILTER_BIAS
    | GL_REDUCE
    | GL_CONVOLUTION_FORMAT
    | GL_CONVOLUTION_WIDTH
    | GL_CONVOLUTION_HEIGHT
    | GL_MAX_CONVOLUTION_WIDTH
    | GL_MAX_CONVOLUTION_HEIGHT
    | GL_POST_CONVOLUTION_RED_SCALE
    | GL_POST_CONVOLUTION_GREEN_SCALE
    | GL_POST_CONVOLUTION_BLUE_SCALE
    | GL_POST_CONVOLUTION_ALPHA_SCALE
    | GL_POST_CONVOLUTION_RED_BIAS
    | GL_POST_CONVOLUTION_GREEN_BIAS
    | GL_POST_CONVOLUTION_BLUE_BIAS
    | GL_POST_CONVOLUTION_ALPHA_BIAS
    | GL_HISTOGRAM
    | GL_PROXY_HISTOGRAM
    | GL_HISTOGRAM_WIDTH
    | GL_HISTOGRAM_FORMAT
    | GL_HISTOGRAM_RED_SIZE
    | GL_HISTOGRAM_GREEN_SIZE
    | GL_HISTOGRAM_BLUE_SIZE
    | GL_HISTOGRAM_ALPHA_SIZE
    | GL_HISTOGRAM_LUMINANCE_SIZE
    | GL_HISTOGRAM_SINK
    | GL_MINMAX
    | GL_MINMAX_FORMAT
    | GL_MINMAX_SINK
    | GL_TABLE_TOO_LARGE
    | GL_COLOR_MATRIX
    | GL_COLOR_MATRIX_STACK_DEPTH
    | GL_MAX_COLOR_MATRIX_STACK_DEPTH
    | GL_POST_COLOR_MATRIX_RED_SCALE
    | GL_POST_COLOR_MATRIX_GREEN_SCALE
    | GL_POST_COLOR_MATRIX_BLUE_SCALE
    | GL_POST_COLOR_MATRIX_ALPHA_SCALE
    | GL_POST_COLOR_MATRIX_RED_BIAS
    | GL_POST_COLOR_MATRIX_GREEN_BIAS
    | GL_POST_COLOR_MATRIX_BLUE_BIAS
    | GL_POST_COLOR_MATRIX_ALPHA_BIAS
    | GL_COLOR_TABLE
    | GL_POST_CONVOLUTION_COLOR_TABLE
    | GL_POST_COLOR_MATRIX_COLOR_TABLE
    | GL_PROXY_COLOR_TABLE
    | GL_PROXY_POST_CONVOLUTION_COLOR_TABLE
    | GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE
    | GL_COLOR_TABLE_SCALE
    | GL_COLOR_TABLE_BIAS
    | GL_COLOR_TABLE_FORMAT
    | GL_COLOR_TABLE_WIDTH
    | GL_COLOR_TABLE_RED_SIZE
    | GL_COLOR_TABLE_GREEN_SIZE
    | GL_COLOR_TABLE_BLUE_SIZE
    | GL_COLOR_TABLE_ALPHA_SIZE
    | GL_COLOR_TABLE_LUMINANCE_SIZE
    | GL_COLOR_TABLE_INTENSITY_SIZE
    | GL_IGNORE_BORDER
    | GL_CONSTANT_BORDER
    | GL_WRAP_BORDER
    | GL_REPLICATE_BORDER
    | GL_CONVOLUTION_BORDER_COLOR
    | GL_MATRIX_PALETTE_ARB
    | GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB
    | GL_MAX_PALETTE_MATRICES_ARB
    | GL_CURRENT_PALETTE_MATRIX_ARB
    | GL_MATRIX_INDEX_ARRAY_ARB
    | GL_CURRENT_MATRIX_INDEX_ARB
    | GL_MATRIX_INDEX_ARRAY_SIZE_ARB
    | GL_MATRIX_INDEX_ARRAY_TYPE_ARB
    | GL_MATRIX_INDEX_ARRAY_STRIDE_ARB
    | GL_MATRIX_INDEX_ARRAY_POINTER_ARB
    | GL_TEXTURE0_ARB
    | GL_TEXTURE1_ARB
    | GL_TEXTURE2_ARB
    | GL_TEXTURE3_ARB
    | GL_TEXTURE4_ARB
    | GL_TEXTURE5_ARB
    | GL_TEXTURE6_ARB
    | GL_TEXTURE7_ARB
    | GL_TEXTURE8_ARB
    | GL_TEXTURE9_ARB
    | GL_TEXTURE10_ARB
    | GL_TEXTURE11_ARB
    | GL_TEXTURE12_ARB
    | GL_TEXTURE13_ARB
    | GL_TEXTURE14_ARB
    | GL_TEXTURE15_ARB
    | GL_TEXTURE16_ARB
    | GL_TEXTURE17_ARB
    | GL_TEXTURE18_ARB
    | GL_TEXTURE19_ARB
    | GL_TEXTURE20_ARB
    | GL_TEXTURE21_ARB
    | GL_TEXTURE22_ARB
    | GL_TEXTURE23_ARB
    | GL_TEXTURE24_ARB
    | GL_TEXTURE25_ARB
    | GL_TEXTURE26_ARB
    | GL_TEXTURE27_ARB
    | GL_TEXTURE28_ARB
    | GL_TEXTURE29_ARB
    | GL_TEXTURE30_ARB
    | GL_TEXTURE31_ARB
    | GL_ACTIVE_TEXTURE_ARB
    | GL_CLIENT_ACTIVE_TEXTURE_ARB
    | GL_MAX_TEXTURE_UNITS_ARB
    | GL_MAX_VERTEX_UNITS_ARB
    | GL_ACTIVE_VERTEX_UNITS_ARB
    | GL_WEIGHT_SUM_UNITY_ARB
    | GL_VERTEX_BLEND_ARB
    | GL_CURRENT_WEIGHT_ARB
    | GL_WEIGHT_ARRAY_TYPE_ARB
    | GL_WEIGHT_ARRAY_STRIDE_ARB
    | GL_WEIGHT_ARRAY_SIZE_ARB
    | GL_WEIGHT_ARRAY_POINTER_ARB
    | GL_WEIGHT_ARRAY_ARB
    | GL_MODELVIEW0_ARB
    | GL_MODELVIEW1_ARB
    | GL_MODELVIEW2_ARB
    | GL_MODELVIEW3_ARB
    | GL_MODELVIEW4_ARB
    | GL_MODELVIEW5_ARB
    | GL_MODELVIEW6_ARB
    | GL_MODELVIEW7_ARB
    | GL_MODELVIEW8_ARB
    | GL_MODELVIEW9_ARB
    | GL_MODELVIEW10_ARB
    | GL_MODELVIEW11_ARB
    | GL_MODELVIEW12_ARB
    | GL_MODELVIEW13_ARB
    | GL_MODELVIEW14_ARB
    | GL_MODELVIEW15_ARB
    | GL_MODELVIEW16_ARB
    | GL_MODELVIEW17_ARB
    | GL_MODELVIEW18_ARB
    | GL_MODELVIEW19_ARB
    | GL_MODELVIEW20_ARB
    | GL_MODELVIEW21_ARB
    | GL_MODELVIEW22_ARB
    | GL_MODELVIEW23_ARB
    | GL_MODELVIEW24_ARB
    | GL_MODELVIEW25_ARB
    | GL_MODELVIEW26_ARB
    | GL_MODELVIEW27_ARB
    | GL_MODELVIEW28_ARB
    | GL_MODELVIEW29_ARB
    | GL_MODELVIEW30_ARB
    | GL_MODELVIEW31_ARB
    | GL_BUMP_ROT_MATRIX_ATI
    | GL_BUMP_ROT_MATRIX_SIZE_ATI
    | GL_BUMP_NUM_TEX_UNITS_ATI
    | GL_BUMP_TEX_UNITS_ATI
    | GL_DUDV_ATI
    | GL_DU8DV8_ATI
    | GL_BUMP_ENVMAP_ATI
    | GL_BUMP_TARGET_ATI
    | GL_PN_TRIANGLES_ATI
    | GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI
    | GL_PN_TRIANGLES_POINT_MODE_ATI
    | GL_PN_TRIANGLES_NORMAL_MODE_ATI
    | GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI
    | GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI
    | GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI
    | GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI
    | GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI
    | GL_STENCIL_BACK_FUNC_ATI
    | GL_STENCIL_BACK_FAIL_ATI
    | GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI
    | GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI
    | GL_COMPRESSED_RGB_3DC_ATI
    | GL_MAX_VERTEX_STREAMS_ATI
    | GL_VERTEX_SOURCE_ATI
    | GL_VERTEX_STREAM0_ATI
    | GL_VERTEX_STREAM1_ATI
    | GL_VERTEX_STREAM2_ATI
    | GL_VERTEX_STREAM3_ATI
    | GL_VERTEX_STREAM4_ATI
    | GL_VERTEX_STREAM5_ATI
    | GL_VERTEX_STREAM6_ATI
    | GL_VERTEX_STREAM7_ATI
    | GL_TEXTURE_POINT_MODE_ATIX
    | GL_TEXTURE_POINT_ONE_COORD_ATIX
    | GL_TEXTURE_POINT_SPRITE_ATIX
    | GL_POINT_SPRITE_CULL_MODE_ATIX
    | GL_POINT_SPRITE_CULL_CENTER_ATIX
    | GL_POINT_SPRITE_CULL_CLIP_ATIX
    | GL_MODULATE_ADD_ATIX
    | GL_MODULATE_SIGNED_ADD_ATIX
    | GL_MODULATE_SUBTRACT_ATIX
    | GL_SECONDARY_COLOR_ATIX
    | GL_TEXTURE_OUTPUT_RGB_ATIX
    | GL_TEXTURE_OUTPUT_ALPHA_ATIX
    | GL_OUTPUT_POINT_SIZE_ATIX
    | GL_CG_VERTEX_SHADER_EXT
    | GL_CG_FRAGMENT_SHADER_EXT
    | GL_DEPTH_BOUNDS_TEST_EXT
    | GL_DEPTH_BOUNDS_EXT
    | GL_FOG_COORDINATE_SOURCE_EXT
    | GL_FOG_COORDINATE_EXT
    | GL_FRAGMENT_DEPTH_EXT
    | GL_CURRENT_FOG_COORDINATE_EXT
    | GL_FOG_COORDINATE_ARRAY_TYPE_EXT
    | GL_FOG_COORDINATE_ARRAY_STRIDE_EXT
    | GL_FOG_COORDINATE_ARRAY_POINTER_EXT
    | GL_FOG_COORDINATE_ARRAY_EXT
    | GL_PIXEL_PACK_BUFFER_EXT
    | GL_PIXEL_UNPACK_BUFFER_EXT
    | GL_PIXEL_PACK_BUFFER_BINDING_EXT
    | GL_PIXEL_UNPACK_BUFFER_BINDING_EXT
    | GL_COLOR_SUM_EXT
    | GL_CURRENT_SECONDARY_COLOR_EXT
    | GL_SECONDARY_COLOR_ARRAY_SIZE_EXT
    | GL_SECONDARY_COLOR_ARRAY_TYPE_EXT
    | GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT
    | GL_SECONDARY_COLOR_ARRAY_POINTER_EXT
    | GL_SECONDARY_COLOR_ARRAY_EXT
    | GL_NORMAL_MAP_EXT
    | GL_REFLECTION_MAP_EXT
    | GL_TEXTURE_CUBE_MAP_EXT
    | GL_TEXTURE_BINDING_CUBE_MAP_EXT
    | GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT
    | GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT
    | GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT
    | GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT
    | GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT
    | GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT
    | GL_PROXY_TEXTURE_CUBE_MAP_EXT
    | GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT
    | GL_CLAMP_TO_EDGE_EXT
    | GL_TEXTURE_RECTANGLE_EXT
    | GL_TEXTURE_BINDING_RECTANGLE_EXT
    | GL_PROXY_TEXTURE_RECTANGLE_EXT
    | GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT
    | GL_VERTEX_SHADER_EXT
    | GL_VERTEX_SHADER_BINDING_EXT
    | GL_OP_INDEX_EXT
    | GL_OP_NEGATE_EXT
    | GL_OP_DOT3_EXT
    | GL_OP_DOT4_EXT
    | GL_OP_MUL_EXT
    | GL_OP_ADD_EXT
    | GL_OP_MADD_EXT
    | GL_OP_FRAC_EXT
    | GL_OP_MAX_EXT
    | GL_OP_MIN_EXT
    | GL_OP_SET_GE_EXT
    | GL_OP_SET_LT_EXT
    | GL_OP_CLAMP_EXT
    | GL_OP_FLOOR_EXT
    | GL_OP_ROUND_EXT
    | GL_OP_EXP_BASE_2_EXT
    | GL_OP_LOG_BASE_2_EXT
    | GL_OP_POWER_EXT
    | GL_OP_RECIP_EXT
    | GL_OP_RECIP_SQRT_EXT
    | GL_OP_SUB_EXT
    | GL_OP_CROSS_PRODUCT_EXT
    | GL_OP_MULTIPLY_MATRIX_EXT
    | GL_OP_MOV_EXT
    | GL_OUTPUT_VERTEX_EXT
    | GL_OUTPUT_COLOR0_EXT
    | GL_OUTPUT_COLOR1_EXT
    | GL_OUTPUT_TEXTURE_COORD0_EXT
    | GL_OUTPUT_TEXTURE_COORD1_EXT
    | GL_OUTPUT_TEXTURE_COORD2_EXT
    | GL_OUTPUT_TEXTURE_COORD3_EXT
    | GL_OUTPUT_TEXTURE_COORD4_EXT
    | GL_OUTPUT_TEXTURE_COORD5_EXT
    | GL_OUTPUT_TEXTURE_COORD6_EXT
    | GL_OUTPUT_TEXTURE_COORD7_EXT
    | GL_OUTPUT_TEXTURE_COORD8_EXT
    | GL_OUTPUT_TEXTURE_COORD9_EXT
    | GL_OUTPUT_TEXTURE_COORD10_EXT
    | GL_OUTPUT_TEXTURE_COORD11_EXT
    | GL_OUTPUT_TEXTURE_COORD12_EXT
    | GL_OUTPUT_TEXTURE_COORD13_EXT
    | GL_OUTPUT_TEXTURE_COORD14_EXT
    | GL_OUTPUT_TEXTURE_COORD15_EXT
    | GL_OUTPUT_TEXTURE_COORD16_EXT
    | GL_OUTPUT_TEXTURE_COORD17_EXT
    | GL_OUTPUT_TEXTURE_COORD18_EXT
    | GL_OUTPUT_TEXTURE_COORD19_EXT
    | GL_OUTPUT_TEXTURE_COORD20_EXT
    | GL_OUTPUT_TEXTURE_COORD21_EXT
    | GL_OUTPUT_TEXTURE_COORD22_EXT
    | GL_OUTPUT_TEXTURE_COORD23_EXT
    | GL_OUTPUT_TEXTURE_COORD24_EXT
    | GL_OUTPUT_TEXTURE_COORD25_EXT
    | GL_OUTPUT_TEXTURE_COORD26_EXT
    | GL_OUTPUT_TEXTURE_COORD27_EXT
    | GL_OUTPUT_TEXTURE_COORD28_EXT
    | GL_OUTPUT_TEXTURE_COORD29_EXT
    | GL_OUTPUT_TEXTURE_COORD30_EXT
    | GL_OUTPUT_TEXTURE_COORD31_EXT
    | GL_OUTPUT_FOG_EXT
    | GL_SCALAR_EXT
    | GL_VECTOR_EXT
    | GL_MATRIX_EXT
    | GL_VARIANT_EXT
    | GL_INVARIANT_EXT
    | GL_LOCAL_CONSTANT_EXT
    | GL_LOCAL_EXT
    | GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT
    | GL_MAX_VERTEX_SHADER_VARIANTS_EXT
    | GL_MAX_VERTEX_SHADER_INVARIANTS_EXT
    | GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT
    | GL_MAX_VERTEX_SHADER_LOCALS_EXT
    | GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT
    | GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT
    | GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT
    | GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT
    | GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT
    | GL_VERTEX_SHADER_INSTRUCTIONS_EXT
    | GL_VERTEX_SHADER_VARIANTS_EXT
    | GL_VERTEX_SHADER_INVARIANTS_EXT
    | GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT
    | GL_VERTEX_SHADER_LOCALS_EXT
    | GL_VERTEX_SHADER_OPTIMIZED_EXT
    | GL_X_EXT
    | GL_Y_EXT
    | GL_Z_EXT
    | GL_W_EXT
    | GL_NEGATIVE_X_EXT
    | GL_NEGATIVE_Y_EXT
    | GL_NEGATIVE_Z_EXT
    | GL_NEGATIVE_W_EXT
    | GL_ZERO_EXT
    | GL_ONE_EXT
    | GL_NEGATIVE_ONE_EXT
    | GL_NORMALIZED_RANGE_EXT
    | GL_FULL_RANGE_EXT
    | GL_CURRENT_VERTEX_EXT
    | GL_MVP_MATRIX_EXT
    | GL_VARIANT_VALUE_EXT
    | GL_VARIANT_DATATYPE_EXT
    | GL_VARIANT_ARRAY_STRIDE_EXT
    | GL_VARIANT_ARRAY_TYPE_EXT
    | GL_VARIANT_ARRAY_EXT
    | GL_VARIANT_ARRAY_POINTER_EXT
    | GL_INVARIANT_VALUE_EXT
    | GL_INVARIANT_DATATYPE_EXT
    | GL_LOCAL_CONSTANT_VALUE_EXT
    | GL_LOCAL_CONSTANT_DATATYPE_EXT
    | GL_KTX_FRONT_REGION
    | GL_KTX_BACK_REGION
    | GL_KTX_Z_REGION
    | GL_KTX_STENCIL_REGION
    | GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV
    | GL_MAX_PROGRAM_CALL_DEPTH_NV
    | GL_MAX_PROGRAM_IF_DEPTH_NV
    | GL_MAX_PROGRAM_LOOP_DEPTH_NV
    | GL_MAX_PROGRAM_LOOP_COUNT_NV
    | GL_ACCUM
    | GL_LOAD
    | GL_RETURN
    | GL_MULT
    | GL_ADD
    | GL_NEVER
    | GL_LESS
    | GL_EQUAL
    | GL_LEQUAL
    | GL_GREATER
    | GL_NOTEQUAL
    | GL_GEQUAL
    | GL_ALWAYS
    | GL_CURRENT_BIT
    | GL_POINT_BIT
    | GL_LINE_BIT
    | GL_POLYGON_BIT
    | GL_POLYGON_STIPPLE_BIT
    | GL_PIXEL_MODE_BIT
    | GL_LIGHTING_BIT
    | GL_FOG_BIT
    | GL_DEPTH_BUFFER_BIT
    | GL_ACCUM_BUFFER_BIT
    | GL_STENCIL_BUFFER_BIT
    | GL_VIEWPORT_BIT
    | GL_TRANSFORM_BIT
    | GL_ENABLE_BIT
    | GL_COLOR_BUFFER_BIT
    | GL_HINT_BIT
    | GL_EVAL_BIT
    | GL_LIST_BIT
    | GL_TEXTURE_BIT
    | GL_SCISSOR_BIT
    | GL_ALL_ATTRIB_BITS
    | GL_POINTS
    | GL_LINES
    | GL_LINE_LOOP
    | GL_LINE_STRIP
    | GL_TRIANGLES
    | GL_TRIANGLE_STRIP
    | GL_TRIANGLE_FAN
    | GL_QUADS
    | GL_QUAD_STRIP
    | GL_POLYGON
    | GL_ZERO
    | GL_ONE
    | GL_SRC_COLOR
    | GL_ONE_MINUS_SRC_COLOR
    | GL_SRC_ALPHA
    | GL_ONE_MINUS_SRC_ALPHA
    | GL_DST_ALPHA
    | GL_ONE_MINUS_DST_ALPHA
    | GL_DST_COLOR
    | GL_ONE_MINUS_DST_COLOR
    | GL_SRC_ALPHA_SATURATE
    | GL_TRUE
    | GL_FALSE
    | GL_CLIP_PLANE0
    | GL_CLIP_PLANE1
    | GL_CLIP_PLANE2
    | GL_CLIP_PLANE3
    | GL_CLIP_PLANE4
    | GL_CLIP_PLANE5
    | GL_BYTE
    | GL_UNSIGNED_BYTE
    | GL_SHORT
    | GL_UNSIGNED_SHORT
    | GL_INT
    | GL_UNSIGNED_INT
    | GL_FLOAT
    | GL_2_BYTES
    | GL_3_BYTES
    | GL_4_BYTES
    | GL_DOUBLE
    | GL_NONE
    | GL_FRONT_LEFT
    | GL_FRONT_RIGHT
    | GL_BACK_LEFT
    | GL_BACK_RIGHT
    | GL_FRONT
    | GL_BACK
    | GL_LEFT
    | GL_RIGHT
    | GL_FRONT_AND_BACK
    | GL_AUX0
    | GL_AUX1
    | GL_AUX2
    | GL_AUX3
    | GL_NO_ERROR
    | GL_INVALID_ENUM
    | GL_INVALID_VALUE
    | GL_INVALID_OPERATION
    | GL_STACK_OVERFLOW
    | GL_STACK_UNDERFLOW
    | GL_OUT_OF_MEMORY
    | GL_2D
    | GL_3D
    | GL_3D_COLOR
    | GL_3D_COLOR_TEXTURE
    | GL_4D_COLOR_TEXTURE
    | GL_PASS_THROUGH_TOKEN
    | GL_POINT_TOKEN
    | GL_LINE_TOKEN
    | GL_POLYGON_TOKEN
    | GL_BITMAP_TOKEN
    | GL_DRAW_PIXEL_TOKEN
    | GL_COPY_PIXEL_TOKEN
    | GL_LINE_RESET_TOKEN
    | GL_EXP
    | GL_EXP2
    | GL_CW
    | GL_CCW
    | GL_COEFF
    | GL_ORDER
    | GL_DOMAIN
    | GL_CURRENT_COLOR
    | GL_CURRENT_INDEX
    | GL_CURRENT_NORMAL
    | GL_CURRENT_TEXTURE_COORDS
    | GL_CURRENT_RASTER_COLOR
    | GL_CURRENT_RASTER_INDEX
    | GL_CURRENT_RASTER_TEXTURE_COORDS
    | GL_CURRENT_RASTER_POSITION
    | GL_CURRENT_RASTER_POSITION_VALID
    | GL_CURRENT_RASTER_DISTANCE
    | GL_POINT_SMOOTH
    | GL_POINT_SIZE
    | GL_POINT_SIZE_RANGE
    | GL_POINT_SIZE_GRANULARITY
    | GL_LINE_SMOOTH
    | GL_LINE_WIDTH
    | GL_LINE_WIDTH_RANGE
    | GL_LINE_WIDTH_GRANULARITY
    | GL_LINE_STIPPLE
    | GL_LINE_STIPPLE_PATTERN
    | GL_LINE_STIPPLE_REPEAT
    | GL_LIST_MODE
    | GL_MAX_LIST_NESTING
    | GL_LIST_BASE
    | GL_LIST_INDEX
    | GL_POLYGON_MODE
    | GL_POLYGON_SMOOTH
    | GL_POLYGON_STIPPLE
    | GL_EDGE_FLAG
    | GL_CULL_FACE
    | GL_CULL_FACE_MODE
    | GL_FRONT_FACE
    | GL_LIGHTING
    | GL_LIGHT_MODEL_LOCAL_VIEWER
    | GL_LIGHT_MODEL_TWO_SIDE
    | GL_LIGHT_MODEL_AMBIENT
    | GL_SHADE_MODEL
    | GL_COLOR_MATERIAL_FACE
    | GL_COLOR_MATERIAL_PARAMETER
    | GL_COLOR_MATERIAL
    | GL_FOG
    | GL_FOG_INDEX
    | GL_FOG_DENSITY
    | GL_FOG_START
    | GL_FOG_END
    | GL_FOG_MODE
    | GL_FOG_COLOR
    | GL_DEPTH_RANGE
    | GL_DEPTH_TEST
    | GL_DEPTH_WRITEMASK
    | GL_DEPTH_CLEAR_VALUE
    | GL_DEPTH_FUNC
    | GL_ACCUM_CLEAR_VALUE
    | GL_STENCIL_TEST
    | GL_STENCIL_CLEAR_VALUE
    | GL_STENCIL_FUNC
    | GL_STENCIL_VALUE_MASK
    | GL_STENCIL_FAIL
    | GL_STENCIL_PASS_DEPTH_FAIL
    | GL_STENCIL_PASS_DEPTH_PASS
    | GL_STENCIL_REF
    | GL_STENCIL_WRITEMASK
    | GL_MATRIX_MODE
    | GL_NORMALIZE
    | GL_VIEWPORT
    | GL_MODELVIEW_STACK_DEPTH
    | GL_PROJECTION_STACK_DEPTH
    | GL_TEXTURE_STACK_DEPTH
    | GL_MODELVIEW_MATRIX
    | GL_PROJECTION_MATRIX
    | GL_TEXTURE_MATRIX
    | GL_ATTRIB_STACK_DEPTH
    | GL_CLIENT_ATTRIB_STACK_DEPTH
    | GL_ALPHA_TEST
    | GL_ALPHA_TEST_FUNC
    | GL_ALPHA_TEST_REF
    | GL_DITHER
    | GL_BLEND_DST
    | GL_BLEND_SRC
    | GL_BLEND
    | GL_LOGIC_OP_MODE
    | GL_INDEX_LOGIC_OP
    | GL_COLOR_LOGIC_OP
    | GL_AUX_BUFFERS
    | GL_DRAW_BUFFER
    | GL_READ_BUFFER
    | GL_SCISSOR_BOX
    | GL_SCISSOR_TEST
    | GL_INDEX_CLEAR_VALUE
    | GL_INDEX_WRITEMASK
    | GL_COLOR_CLEAR_VALUE
    | GL_COLOR_WRITEMASK
    | GL_INDEX_MODE
    | GL_RGBA_MODE
    | GL_DOUBLEBUFFER
    | GL_STEREO
    | GL_RENDER_MODE
    | GL_PERSPECTIVE_CORRECTION_HINT
    | GL_POINT_SMOOTH_HINT
    | GL_LINE_SMOOTH_HINT
    | GL_POLYGON_SMOOTH_HINT
    | GL_FOG_HINT
    | GL_TEXTURE_GEN_S
    | GL_TEXTURE_GEN_T
    | GL_TEXTURE_GEN_R
    | GL_TEXTURE_GEN_Q
    | GL_PIXEL_MAP_I_TO_I
    | GL_PIXEL_MAP_S_TO_S
    | GL_PIXEL_MAP_I_TO_R
    | GL_PIXEL_MAP_I_TO_G
    | GL_PIXEL_MAP_I_TO_B
    | GL_PIXEL_MAP_I_TO_A
    | GL_PIXEL_MAP_R_TO_R
    | GL_PIXEL_MAP_G_TO_G
    | GL_PIXEL_MAP_B_TO_B
    | GL_PIXEL_MAP_A_TO_A
    | GL_PIXEL_MAP_I_TO_I_SIZE
    | GL_PIXEL_MAP_S_TO_S_SIZE
    | GL_PIXEL_MAP_I_TO_R_SIZE
    | GL_PIXEL_MAP_I_TO_G_SIZE
    | GL_PIXEL_MAP_I_TO_B_SIZE
    | GL_PIXEL_MAP_I_TO_A_SIZE
    | GL_PIXEL_MAP_R_TO_R_SIZE
    | GL_PIXEL_MAP_G_TO_G_SIZE
    | GL_PIXEL_MAP_B_TO_B_SIZE
    | GL_PIXEL_MAP_A_TO_A_SIZE
    | GL_UNPACK_SWAP_BYTES
    | GL_UNPACK_LSB_FIRST
    | GL_UNPACK_ROW_LENGTH
    | GL_UNPACK_SKIP_ROWS
    | GL_UNPACK_SKIP_PIXELS
    | GL_UNPACK_ALIGNMENT
    | GL_PACK_SWAP_BYTES
    | GL_PACK_LSB_FIRST
    | GL_PACK_ROW_LENGTH
    | GL_PACK_SKIP_ROWS
    | GL_PACK_SKIP_PIXELS
    | GL_PACK_ALIGNMENT
    | GL_MAP_COLOR
    | GL_MAP_STENCIL
    | GL_INDEX_SHIFT
    | GL_INDEX_OFFSET
    | GL_RED_SCALE
    | GL_RED_BIAS
    | GL_ZOOM_X
    | GL_ZOOM_Y
    | GL_GREEN_SCALE
    | GL_GREEN_BIAS
    | GL_BLUE_SCALE
    | GL_BLUE_BIAS
    | GL_ALPHA_SCALE
    | GL_ALPHA_BIAS
    | GL_DEPTH_SCALE
    | GL_DEPTH_BIAS
    | GL_MAX_EVAL_ORDER
    | GL_MAX_LIGHTS
    | GL_MAX_CLIP_PLANES
    | GL_MAX_TEXTURE_SIZE
    | GL_MAX_PIXEL_MAP_TABLE
    | GL_MAX_ATTRIB_STACK_DEPTH
    | GL_MAX_MODELVIEW_STACK_DEPTH
    | GL_MAX_NAME_STACK_DEPTH
    | GL_MAX_PROJECTION_STACK_DEPTH
    | GL_MAX_TEXTURE_STACK_DEPTH
    | GL_MAX_VIEWPORT_DIMS
    | GL_MAX_CLIENT_ATTRIB_STACK_DEPTH
    | GL_SUBPIXEL_BITS
    | GL_INDEX_BITS
    | GL_RED_BITS
    | GL_GREEN_BITS
    | GL_BLUE_BITS
    | GL_ALPHA_BITS
    | GL_DEPTH_BITS
    | GL_STENCIL_BITS
    | GL_ACCUM_RED_BITS
    | GL_ACCUM_GREEN_BITS
    | GL_ACCUM_BLUE_BITS
    | GL_ACCUM_ALPHA_BITS
    | GL_NAME_STACK_DEPTH
    | GL_AUTO_NORMAL
    | GL_MAP1_COLOR_4
    | GL_MAP1_INDEX
    | GL_MAP1_NORMAL
    | GL_MAP1_TEXTURE_COORD_1
    | GL_MAP1_TEXTURE_COORD_2
    | GL_MAP1_TEXTURE_COORD_3
    | GL_MAP1_TEXTURE_COORD_4
    | GL_MAP1_VERTEX_3
    | GL_MAP1_VERTEX_4
    | GL_MAP2_COLOR_4
    | GL_MAP2_INDEX
    | GL_MAP2_NORMAL
    | GL_MAP2_TEXTURE_COORD_1
    | GL_MAP2_TEXTURE_COORD_2
    | GL_MAP2_TEXTURE_COORD_3
    | GL_MAP2_TEXTURE_COORD_4
    | GL_MAP2_VERTEX_3
    | GL_MAP2_VERTEX_4
    | GL_MAP1_GRID_DOMAIN
    | GL_MAP1_GRID_SEGMENTS
    | GL_MAP2_GRID_DOMAIN
    | GL_MAP2_GRID_SEGMENTS
    | GL_TEXTURE_1D
    | GL_TEXTURE_2D
    | GL_FEEDBACK_BUFFER_POINTER
    | GL_FEEDBACK_BUFFER_SIZE
    | GL_FEEDBACK_BUFFER_TYPE
    | GL_SELECTION_BUFFER_POINTER
    | GL_SELECTION_BUFFER_SIZE
    | GL_TEXTURE_WIDTH
    | GL_TEXTURE_HEIGHT
    | GL_TEXTURE_INTERNAL_FORMAT
    | GL_TEXTURE_BORDER_COLOR
    | GL_TEXTURE_BORDER
    | GL_DONT_CARE
    | GL_FASTEST
    | GL_NICEST
    | GL_LIGHT0
    | GL_LIGHT1
    | GL_LIGHT2
    | GL_LIGHT3
    | GL_LIGHT4
    | GL_LIGHT5
    | GL_LIGHT6
    | GL_LIGHT7
    | GL_AMBIENT
    | GL_DIFFUSE
    | GL_SPECULAR
    | GL_POSITION
    | GL_SPOT_DIRECTION
    | GL_SPOT_EXPONENT
    | GL_SPOT_CUTOFF
    | GL_CONSTANT_ATTENUATION
    | GL_LINEAR_ATTENUATION
    | GL_QUADRATIC_ATTENUATION
    | GL_COMPILE
    | GL_COMPILE_AND_EXECUTE
    | GL_CLEAR
    | GL_AND
    | GL_AND_REVERSE
    | GL_COPY
    | GL_AND_INVERTED
    | GL_NOOP
    | GL_XOR
    | GL_OR
    | GL_NOR
    | GL_EQUIV
    | GL_INVERT
    | GL_OR_REVERSE
    | GL_COPY_INVERTED
    | GL_OR_INVERTED
    | GL_NAND
    | GL_SET
    | GL_EMISSION
    | GL_SHININESS
    | GL_AMBIENT_AND_DIFFUSE
    | GL_COLOR_INDEXES
    | GL_MODELVIEW
    | GL_PROJECTION
    | GL_TEXTURE
    | GL_COLOR
    | GL_DEPTH
    | GL_STENCIL
    | GL_COLOR_INDEX
    | GL_STENCIL_INDEX
    | GL_DEPTH_COMPONENT
    | GL_RED
    | GL_GREEN
    | GL_BLUE
    | GL_ALPHA
    | GL_RGB
    | GL_RGBA
    | GL_LUMINANCE
    | GL_LUMINANCE_ALPHA
    | GL_BITMAP
    | GL_POINT
    | GL_LINE
    | GL_FILL
    | GL_RENDER
    | GL_FEEDBACK
    | GL_SELECT
    | GL_FLAT
    | GL_SMOOTH
    | GL_KEEP
    | GL_REPLACE
    | GL_INCR
    | GL_DECR
    | GL_VENDOR
    | GL_RENDERER
    | GL_VERSION
    | GL_EXTENSIONS
    | GL_S
    | GL_T
    | GL_R
    | GL_Q
    | GL_MODULATE
    | GL_DECAL
    | GL_TEXTURE_ENV_MODE
    | GL_TEXTURE_ENV_COLOR
    | GL_TEXTURE_ENV
    | GL_EYE_LINEAR
    | GL_OBJECT_LINEAR
    | GL_SPHERE_MAP
    | GL_TEXTURE_GEN_MODE
    | GL_OBJECT_PLANE
    | GL_EYE_PLANE
    | GL_NEAREST
    | GL_LINEAR
    | GL_NEAREST_MIPMAP_NEAREST
    | GL_LINEAR_MIPMAP_NEAREST
    | GL_NEAREST_MIPMAP_LINEAR
    | GL_LINEAR_MIPMAP_LINEAR
    | GL_TEXTURE_MAG_FILTER
    | GL_TEXTURE_MIN_FILTER
    | GL_TEXTURE_WRAP_S
    | GL_TEXTURE_WRAP_T
    | GL_CLAMP
    | GL_REPEAT
    | GL_CLIENT_PIXEL_STORE_BIT
    | GL_CLIENT_VERTEX_ARRAY_BIT
    | GL_CLIENT_ALL_ATTRIB_BITS
    | GL_POLYGON_OFFSET_FACTOR
    | GL_POLYGON_OFFSET_UNITS
    | GL_POLYGON_OFFSET_POINT
    | GL_POLYGON_OFFSET_LINE
    | GL_POLYGON_OFFSET_FILL
    | GL_ALPHA4
    | GL_ALPHA8
    | GL_ALPHA12
    | GL_ALPHA16
    | GL_LUMINANCE4
    | GL_LUMINANCE8
    | GL_LUMINANCE12
    | GL_LUMINANCE16
    | GL_LUMINANCE4_ALPHA4
    | GL_LUMINANCE6_ALPHA2
    | GL_LUMINANCE8_ALPHA8
    | GL_LUMINANCE12_ALPHA4
    | GL_LUMINANCE12_ALPHA12
    | GL_LUMINANCE16_ALPHA16
    | GL_INTENSITY
    | GL_INTENSITY4
    | GL_INTENSITY8
    | GL_INTENSITY12
    | GL_INTENSITY16
    | GL_R3_G3_B2
    | GL_RGB4
    | GL_RGB5
    | GL_RGB8
    | GL_RGB10
    | GL_RGB12
    | GL_RGB16
    | GL_RGBA2
    | GL_RGBA4
    | GL_RGB5_A1
    | GL_RGBA8
    | GL_RGB10_A2
    | GL_RGBA12
    | GL_RGBA16
    | GL_TEXTURE_RED_SIZE
    | GL_TEXTURE_GREEN_SIZE
    | GL_TEXTURE_BLUE_SIZE
    | GL_TEXTURE_ALPHA_SIZE
    | GL_TEXTURE_LUMINANCE_SIZE
    | GL_TEXTURE_INTENSITY_SIZE
    | GL_PROXY_TEXTURE_1D
    | GL_PROXY_TEXTURE_2D
    | GL_TEXTURE_PRIORITY
    | GL_TEXTURE_RESIDENT
    | GL_TEXTURE_BINDING_1D
    | GL_TEXTURE_BINDING_2D
    | GL_VERTEX_ARRAY
    | GL_NORMAL_ARRAY
    | GL_COLOR_ARRAY
    | GL_INDEX_ARRAY
    | GL_TEXTURE_COORD_ARRAY
    | GL_EDGE_FLAG_ARRAY
    | GL_VERTEX_ARRAY_SIZE
    | GL_VERTEX_ARRAY_TYPE
    | GL_VERTEX_ARRAY_STRIDE
    | GL_NORMAL_ARRAY_TYPE
    | GL_NORMAL_ARRAY_STRIDE
    | GL_COLOR_ARRAY_SIZE
    | GL_COLOR_ARRAY_TYPE
    | GL_COLOR_ARRAY_STRIDE
    | GL_INDEX_ARRAY_TYPE
    | GL_INDEX_ARRAY_STRIDE
    | GL_TEXTURE_COORD_ARRAY_SIZE
    | GL_TEXTURE_COORD_ARRAY_TYPE
    | GL_TEXTURE_COORD_ARRAY_STRIDE
    | GL_EDGE_FLAG_ARRAY_STRIDE
    | GL_VERTEX_ARRAY_POINTER
    | GL_NORMAL_ARRAY_POINTER
    | GL_COLOR_ARRAY_POINTER
    | GL_INDEX_ARRAY_POINTER
    | GL_TEXTURE_COORD_ARRAY_POINTER
    | GL_EDGE_FLAG_ARRAY_POINTER
    | GL_V2F
    | GL_V3F
    | GL_C4UB_V2F
    | GL_C4UB_V3F
    | GL_C3F_V3F
    | GL_N3F_V3F
    | GL_C4F_N3F_V3F
    | GL_T2F_V3F
    | GL_T4F_V4F
    | GL_T2F_C4UB_V3F
    | GL_T2F_C3F_V3F
    | GL_T2F_N3F_V3F
    | GL_T2F_C4F_N3F_V3F
    | GL_T4F_C4F_N3F_V4F
    | GL_LOGIC_OP
    | GL_TEXTURE_COMPONENTS
    | GL_COLOR_INDEX1_EXT
    | GL_COLOR_INDEX2_EXT
    | GL_COLOR_INDEX4_EXT
    | GL_COLOR_INDEX8_EXT
    | GL_COLOR_INDEX12_EXT
    | GL_COLOR_INDEX16_EXT
    | GL_UNSIGNED_BYTE_3_3_2
    | GL_UNSIGNED_SHORT_4_4_4_4
    | GL_UNSIGNED_SHORT_5_5_5_1
    | GL_UNSIGNED_INT_8_8_8_8
    | GL_UNSIGNED_INT_10_10_10_2
    | GL_RESCALE_NORMAL
    | GL_UNSIGNED_BYTE_2_3_3_REV
    | GL_UNSIGNED_SHORT_5_6_5
    | GL_UNSIGNED_SHORT_5_6_5_REV
    | GL_UNSIGNED_SHORT_4_4_4_4_REV
    | GL_UNSIGNED_SHORT_1_5_5_5_REV
    | GL_UNSIGNED_INT_8_8_8_8_REV
    | GL_UNSIGNED_INT_2_10_10_10_REV
    | GL_BGR
    | GL_BGRA
    | GL_MAX_ELEMENTS_VERTICES
    | GL_MAX_ELEMENTS_INDICES
    | GL_CLAMP_TO_EDGE
    | GL_TEXTURE_MIN_LOD
    | GL_TEXTURE_MAX_LOD
    | GL_TEXTURE_BASE_LEVEL
    | GL_TEXTURE_MAX_LEVEL
    | GL_LIGHT_MODEL_COLOR_CONTROL
    | GL_SINGLE_COLOR
    | GL_SEPARATE_SPECULAR_COLOR
    | GL_SMOOTH_POINT_SIZE_RANGE
    | GL_SMOOTH_POINT_SIZE_GRANULARITY
    | GL_SMOOTH_LINE_WIDTH_RANGE
    | GL_SMOOTH_LINE_WIDTH_GRANULARITY
    | GL_ALIASED_POINT_SIZE_RANGE
    | GL_ALIASED_LINE_WIDTH_RANGE
    | GL_PACK_SKIP_IMAGES
    | GL_PACK_IMAGE_HEIGHT
    | GL_UNPACK_SKIP_IMAGES
    | GL_UNPACK_IMAGE_HEIGHT
    | GL_TEXTURE_3D
    | GL_PROXY_TEXTURE_3D
    | GL_TEXTURE_DEPTH
    | GL_TEXTURE_WRAP_R
    | GL_MAX_3D_TEXTURE_SIZE
    | GL_TEXTURE_BINDING_3D
    | GL_TEXTURE0
    | GL_TEXTURE1
    | GL_TEXTURE2
    | GL_TEXTURE3
    | GL_TEXTURE4
    | GL_TEXTURE5
    | GL_TEXTURE6
    | GL_TEXTURE7
    | GL_TEXTURE8
    | GL_TEXTURE9
    | GL_TEXTURE10
    | GL_TEXTURE11
    | GL_TEXTURE12
    | GL_TEXTURE13
    | GL_TEXTURE14
    | GL_TEXTURE15
    | GL_TEXTURE16
    | GL_TEXTURE17
    | GL_TEXTURE18
    | GL_TEXTURE19
    | GL_TEXTURE20
    | GL_TEXTURE21
    | GL_TEXTURE22
    | GL_TEXTURE23
    | GL_TEXTURE24
    | GL_TEXTURE25
    | GL_TEXTURE26
    | GL_TEXTURE27
    | GL_TEXTURE28
    | GL_TEXTURE29
    | GL_TEXTURE30
    | GL_TEXTURE31
    | GL_ACTIVE_TEXTURE
    | GL_CLIENT_ACTIVE_TEXTURE
    | GL_MAX_TEXTURE_UNITS
    | GL_NORMAL_MAP
    | GL_REFLECTION_MAP
    | GL_TEXTURE_CUBE_MAP
    | GL_TEXTURE_BINDING_CUBE_MAP
    | GL_TEXTURE_CUBE_MAP_POSITIVE_X
    | GL_TEXTURE_CUBE_MAP_NEGATIVE_X
    | GL_TEXTURE_CUBE_MAP_POSITIVE_Y
    | GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
    | GL_TEXTURE_CUBE_MAP_POSITIVE_Z
    | GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
    | GL_PROXY_TEXTURE_CUBE_MAP
    | GL_MAX_CUBE_MAP_TEXTURE_SIZE
    | GL_COMPRESSED_ALPHA
    | GL_COMPRESSED_LUMINANCE
    | GL_COMPRESSED_LUMINANCE_ALPHA
    | GL_COMPRESSED_INTENSITY
    | GL_COMPRESSED_RGB
    | GL_COMPRESSED_RGBA
    | GL_TEXTURE_COMPRESSION_HINT
    | GL_TEXTURE_COMPRESSED_IMAGE_SIZE
    | GL_TEXTURE_COMPRESSED
    | GL_NUM_COMPRESSED_TEXTURE_FORMATS
    | GL_COMPRESSED_TEXTURE_FORMATS
    | GL_MULTISAMPLE
    | GL_SAMPLE_ALPHA_TO_COVERAGE
    | GL_SAMPLE_ALPHA_TO_ONE
    | GL_SAMPLE_COVERAGE
    | GL_SAMPLE_BUFFERS
    | GL_SAMPLES
    | GL_SAMPLE_COVERAGE_VALUE
    | GL_SAMPLE_COVERAGE_INVERT
    | GL_MULTISAMPLE_BIT
    | GL_TRANSPOSE_MODELVIEW_MATRIX
    | GL_TRANSPOSE_PROJECTION_MATRIX
    | GL_TRANSPOSE_TEXTURE_MATRIX
    | GL_TRANSPOSE_COLOR_MATRIX
    | GL_COMBINE
    | GL_COMBINE_RGB
    | GL_COMBINE_ALPHA
    | GL_SOURCE0_RGB
    | GL_SOURCE1_RGB
    | GL_SOURCE2_RGB
    | GL_SOURCE0_ALPHA
    | GL_SOURCE1_ALPHA
    | GL_SOURCE2_ALPHA
    | GL_OPERAND0_RGB
    | GL_OPERAND1_RGB
    | GL_OPERAND2_RGB
    | GL_OPERAND0_ALPHA
    | GL_OPERAND1_ALPHA
    | GL_OPERAND2_ALPHA
    | GL_RGB_SCALE
    | GL_ADD_SIGNED
    | GL_INTERPOLATE
    | GL_SUBTRACT
    | GL_CONSTANT
    | GL_PRIMARY_COLOR
    | GL_PREVIOUS
    | GL_DOT3_RGB
    | GL_DOT3_RGBA
    | GL_CLAMP_TO_BORDER
    | GL_GENERATE_MIPMAP
    | GL_GENERATE_MIPMAP_HINT
    | GL_DEPTH_COMPONENT16
    | GL_DEPTH_COMPONENT24
    | GL_DEPTH_COMPONENT32
    | GL_TEXTURE_DEPTH_SIZE
    | GL_DEPTH_TEXTURE_MODE
    | GL_TEXTURE_COMPARE_MODE
    | GL_TEXTURE_COMPARE_FUNC
    | GL_COMPARE_R_TO_TEXTURE
    | GL_FOG_COORDINATE_SOURCE
    | GL_FOG_COORDINATE
    | GL_FRAGMENT_DEPTH
    | GL_CURRENT_FOG_COORDINATE
    | GL_FOG_COORDINATE_ARRAY_TYPE
    | GL_FOG_COORDINATE_ARRAY_STRIDE
    | GL_FOG_COORDINATE_ARRAY_POINTER
    | GL_FOG_COORDINATE_ARRAY
    | GL_POINT_SIZE_MIN
    | GL_POINT_SIZE_MAX
    | GL_POINT_FADE_THRESHOLD_SIZE
    | GL_POINT_DISTANCE_ATTENUATION
    | GL_COLOR_SUM
    | GL_CURRENT_SECONDARY_COLOR
    | GL_SECONDARY_COLOR_ARRAY_SIZE
    | GL_SECONDARY_COLOR_ARRAY_TYPE
    | GL_SECONDARY_COLOR_ARRAY_STRIDE
    | GL_SECONDARY_COLOR_ARRAY_POINTER
    | GL_SECONDARY_COLOR_ARRAY
    | GL_BLEND_DST_RGB
    | GL_BLEND_SRC_RGB
    | GL_BLEND_DST_ALPHA
    | GL_BLEND_SRC_ALPHA
    | GL_INCR_WRAP
    | GL_DECR_WRAP
    | GL_TEXTURE_FILTER_CONTROL
    | GL_TEXTURE_LOD_BIAS
    | GL_MAX_TEXTURE_LOD_BIAS
    | GL_MIRRORED_REPEAT
    | GL_BUFFER_SIZE
    | GL_BUFFER_USAGE
    | GL_QUERY_COUNTER_BITS
    | GL_CURRENT_QUERY
    | GL_QUERY_RESULT
    | GL_QUERY_RESULT_AVAILABLE
    | GL_ARRAY_BUFFER
    | GL_ELEMENT_ARRAY_BUFFER
    | GL_ARRAY_BUFFER_BINDING
    | GL_ELEMENT_ARRAY_BUFFER_BINDING
    | GL_VERTEX_ARRAY_BUFFER_BINDING
    | GL_NORMAL_ARRAY_BUFFER_BINDING
    | GL_COLOR_ARRAY_BUFFER_BINDING
    | GL_INDEX_ARRAY_BUFFER_BINDING
    | GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING
    | GL_EDGE_FLAG_ARRAY_BUFFER_BINDING
    | GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING
    | GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING
    | GL_WEIGHT_ARRAY_BUFFER_BINDING
    | GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
    | GL_READ_ONLY
    | GL_WRITE_ONLY
    | GL_READ_WRITE
    | GL_BUFFER_ACCESS
    | GL_BUFFER_MAPPED
    | GL_BUFFER_MAP_POINTER
    | GL_STREAM_DRAW
    | GL_STREAM_READ
    | GL_STREAM_COPY
    | GL_STATIC_DRAW
    | GL_STATIC_READ
    | GL_STATIC_COPY
    | GL_DYNAMIC_DRAW
    | GL_DYNAMIC_READ
    | GL_DYNAMIC_COPY
    | GL_SAMPLES_PASSED
    | GL_FOG_COORD_SRC
    | GL_FOG_COORD
    | GL_CURRENT_FOG_COORD
    | GL_FOG_COORD_ARRAY_TYPE
    | GL_FOG_COORD_ARRAY_STRIDE
    | GL_FOG_COORD_ARRAY_POINTER
    | GL_FOG_COORD_ARRAY
    | GL_FOG_COORD_ARRAY_BUFFER_BINDING
    | GL_SRC0_RGB
    | GL_SRC1_RGB
    | GL_SRC2_RGB
    | GL_SRC0_ALPHA
    | GL_SRC1_ALPHA
    | GL_SRC2_ALPHA
    | GL_BLEND_EQUATION_RGB
    | GL_VERTEX_ATTRIB_ARRAY_ENABLED
    | GL_VERTEX_ATTRIB_ARRAY_SIZE
    | GL_VERTEX_ATTRIB_ARRAY_STRIDE
    | GL_VERTEX_ATTRIB_ARRAY_TYPE
    | GL_CURRENT_VERTEX_ATTRIB
    | GL_VERTEX_PROGRAM_POINT_SIZE
    | GL_VERTEX_PROGRAM_TWO_SIDE
    | GL_VERTEX_ATTRIB_ARRAY_POINTER
    | GL_STENCIL_BACK_FUNC
    | GL_STENCIL_BACK_FAIL
    | GL_STENCIL_BACK_PASS_DEPTH_FAIL
    | GL_STENCIL_BACK_PASS_DEPTH_PASS
    | GL_MAX_DRAW_BUFFERS
    | GL_DRAW_BUFFER0
    | GL_DRAW_BUFFER1
    | GL_DRAW_BUFFER2
    | GL_DRAW_BUFFER3
    | GL_DRAW_BUFFER4
    | GL_DRAW_BUFFER5
    | GL_DRAW_BUFFER6
    | GL_DRAW_BUFFER7
    | GL_DRAW_BUFFER8
    | GL_DRAW_BUFFER9
    | GL_DRAW_BUFFER10
    | GL_DRAW_BUFFER11
    | GL_DRAW_BUFFER12
    | GL_DRAW_BUFFER13
    | GL_DRAW_BUFFER14
    | GL_DRAW_BUFFER15
    | GL_BLEND_EQUATION_ALPHA
    | GL_POINT_SPRITE
    | GL_COORD_REPLACE
    | GL_MAX_VERTEX_ATTRIBS
    | GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
    | GL_MAX_TEXTURE_COORDS
    | GL_MAX_TEXTURE_IMAGE_UNITS
    | GL_FRAGMENT_SHADER
    | GL_VERTEX_SHADER
    | GL_MAX_FRAGMENT_UNIFORM_COMPONENTS
    | GL_MAX_VERTEX_UNIFORM_COMPONENTS
    | GL_MAX_VARYING_FLOATS
    | GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
    | GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
    | GL_SHADER_TYPE
    | GL_FLOAT_VEC2
    | GL_FLOAT_VEC3
    | GL_FLOAT_VEC4
    | GL_INT_VEC2
    | GL_INT_VEC3
    | GL_INT_VEC4
    | GL_BOOL
    | GL_BOOL_VEC2
    | GL_BOOL_VEC3
    | GL_BOOL_VEC4
    | GL_FLOAT_MAT2
    | GL_FLOAT_MAT3
    | GL_FLOAT_MAT4
    | GL_SAMPLER_1D
    | GL_SAMPLER_2D
    | GL_SAMPLER_3D
    | GL_SAMPLER_CUBE
    | GL_SAMPLER_1D_SHADOW
    | GL_SAMPLER_2D_SHADOW
    | GL_DELETE_STATUS
    | GL_COMPILE_STATUS
    | GL_LINK_STATUS
    | GL_VALIDATE_STATUS
    | GL_INFO_LOG_LENGTH
    | GL_ATTACHED_SHADERS
    | GL_ACTIVE_UNIFORMS
    | GL_ACTIVE_UNIFORM_MAX_LENGTH
    | GL_SHADER_SOURCE_LENGTH
    | GL_ACTIVE_ATTRIBUTES
    | GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
    | GL_FRAGMENT_SHADER_DERIVATIVE_HINT
    | GL_SHADING_LANGUAGE_VERSION
    | GL_CURRENT_PROGRAM
    | GL_POINT_SPRITE_COORD_ORIGIN
    | GL_LOWER_LEFT
    | GL_UPPER_LEFT
    | GL_STENCIL_BACK_REF
    | GL_STENCIL_BACK_VALUE_MASK
    | GL_STENCIL_BACK_WRITEMASK
  external glenum_of_int : int -> Glcaml.glenum = "glstub_glenum_of_int"
  external set_failwith : bool -> unit = "glstub_set_failwith"
  external int_of_glenum : Glcaml.glenum -> int = "glstub_int_of_glenum"
  external glColorTable :
    Glcaml.glenum ->
    Glcaml.glenum ->
    int -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glColorTable_byte" "glstub_glColorTable"
  external glColorSubTable :
    Glcaml.glenum ->
    int -> int -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glColorSubTable_byte" "glstub_glColorSubTable"
  external glColorTableParameteriv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glColorTableParameteriv"
  external glColorTableParameterfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glColorTableParameterfv"
  external glCopyColorSubTable :
    Glcaml.glenum -> int -> int -> int -> int -> unit
    = "glstub_glCopyColorSubTable"
  external glCopyColorTable :
    Glcaml.glenum -> Glcaml.glenum -> int -> int -> int -> unit
    = "glstub_glCopyColorTable"
  external glGetColorTable :
    Glcaml.glenum ->
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glGetColorTable"
  external glGetColorTableParameterfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetColorTableParameterfv"
  external glGetColorTableParameteriv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetColorTableParameteriv"
  external glHistogram :
    Glcaml.glenum -> int -> Glcaml.glenum -> bool -> unit
    = "glstub_glHistogram"
  external glResetHistogram : Glcaml.glenum -> unit
    = "glstub_glResetHistogram"
  external glGetHistogram :
    Glcaml.glenum ->
    bool -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glGetHistogram"
  external glGetHistogramParameterfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetHistogramParameterfv"
  external glGetHistogramParameteriv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetHistogramParameteriv"
  external glMinmax : Glcaml.glenum -> Glcaml.glenum -> bool -> unit
    = "glstub_glMinmax"
  external glResetMinmax : Glcaml.glenum -> unit = "glstub_glResetMinmax"
  external glGetMinmaxParameterfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetMinmaxParameterfv"
  external glGetMinmaxParameteriv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetMinmaxParameteriv"
  external glConvolutionFilter1D :
    Glcaml.glenum ->
    Glcaml.glenum ->
    int -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glConvolutionFilter1D_byte" "glstub_glConvolutionFilter1D"
  external glConvolutionFilter2D :
    Glcaml.glenum ->
    Glcaml.glenum ->
    int -> int -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glConvolutionFilter2D_byte" "glstub_glConvolutionFilter2D"
  external glConvolutionParameterf :
    Glcaml.glenum -> Glcaml.glenum -> float -> unit
    = "glstub_glConvolutionParameterf"
  external glConvolutionParameterfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glConvolutionParameterfv"
  external glConvolutionParameteri :
    Glcaml.glenum -> Glcaml.glenum -> int -> unit
    = "glstub_glConvolutionParameteri"
  external glConvolutionParameteriv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glConvolutionParameteriv"
  external glCopyConvolutionFilter1D :
    Glcaml.glenum -> Glcaml.glenum -> int -> int -> int -> unit
    = "glstub_glCopyConvolutionFilter1D"
  external glCopyConvolutionFilter2D :
    Glcaml.glenum -> Glcaml.glenum -> int -> int -> int -> int -> unit
    = "glstub_glCopyConvolutionFilter2D_byte"
    "glstub_glCopyConvolutionFilter2D"
  external glGetConvolutionFilter :
    Glcaml.glenum ->
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glGetConvolutionFilter"
  external glGetConvolutionParameterfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetConvolutionParameterfv"
  external glGetConvolutionParameteriv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetConvolutionParameteriv"
  external glSeparableFilter2D :
    Glcaml.glenum ->
    Glcaml.glenum ->
    int ->
    int ->
    Glcaml.glenum ->
    Glcaml.glenum -> Glcaml.glpointer -> Glcaml.glpointer -> unit
    = "glstub_glSeparableFilter2D_byte" "glstub_glSeparableFilter2D"
  external glGetSeparableFilter :
    Glcaml.glenum ->
    Glcaml.glenum ->
    Glcaml.glenum ->
    Glcaml.glpointer -> Glcaml.glpointer -> Glcaml.glpointer -> unit
    = "glstub_glGetSeparableFilter_byte" "glstub_glGetSeparableFilter"
  external glGetMinmax :
    Glcaml.glenum ->
    bool -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glGetMinmax"
  external glCurrentPaletteMatrixARB : int -> unit
    = "glstub_glCurrentPaletteMatrixARB"
  external glMatrixIndexPointerARB :
    int -> Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glMatrixIndexPointerARB"
  external glMatrixIndexubvARB : int -> Glcaml.ubyte_array -> unit
    = "glstub_glMatrixIndexubvARB"
  external glMatrixIndexusvARB : int -> Glcaml.ushort_array -> unit
    = "glstub_glMatrixIndexusvARB"
  external glMatrixIndexuivARB : int -> Glcaml.int_array -> unit
    = "glstub_glMatrixIndexuivARB"
  external glActiveTextureARB : Glcaml.glenum -> unit
    = "glstub_glActiveTextureARB"
  external glClientActiveTextureARB : Glcaml.glenum -> unit
    = "glstub_glClientActiveTextureARB"
  external glMultiTexCoord1dARB : Glcaml.glenum -> float -> unit
    = "glstub_glMultiTexCoord1dARB"
  external glMultiTexCoord1dvARB :
    Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glMultiTexCoord1dvARB"
  external glMultiTexCoord1fARB : Glcaml.glenum -> float -> unit
    = "glstub_glMultiTexCoord1fARB"
  external glMultiTexCoord1fvARB :
    Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glMultiTexCoord1fvARB"
  external glMultiTexCoord1iARB : Glcaml.glenum -> int -> unit
    = "glstub_glMultiTexCoord1iARB"
  external glMultiTexCoord1ivARB : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glMultiTexCoord1ivARB"
  external glMultiTexCoord1sARB : Glcaml.glenum -> int -> unit
    = "glstub_glMultiTexCoord1sARB"
  external glMultiTexCoord1svARB :
    Glcaml.glenum -> Glcaml.short_array -> unit
    = "glstub_glMultiTexCoord1svARB"
  external glMultiTexCoord2dARB : Glcaml.glenum -> float -> float -> unit
    = "glstub_glMultiTexCoord2dARB"
  external glMultiTexCoord2dvARB :
    Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glMultiTexCoord2dvARB"
  external glMultiTexCoord2fARB : Glcaml.glenum -> float -> float -> unit
    = "glstub_glMultiTexCoord2fARB"
  external glMultiTexCoord2fvARB :
    Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glMultiTexCoord2fvARB"
  external glMultiTexCoord2iARB : Glcaml.glenum -> int -> int -> unit
    = "glstub_glMultiTexCoord2iARB"
  external glMultiTexCoord2ivARB : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glMultiTexCoord2ivARB"
  external glMultiTexCoord2sARB : Glcaml.glenum -> int -> int -> unit
    = "glstub_glMultiTexCoord2sARB"
  external glMultiTexCoord2svARB :
    Glcaml.glenum -> Glcaml.short_array -> unit
    = "glstub_glMultiTexCoord2svARB"
  external glMultiTexCoord3dARB :
    Glcaml.glenum -> float -> float -> float -> unit
    = "glstub_glMultiTexCoord3dARB"
  external glMultiTexCoord3dvARB :
    Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glMultiTexCoord3dvARB"
  external glMultiTexCoord3fARB :
    Glcaml.glenum -> float -> float -> float -> unit
    = "glstub_glMultiTexCoord3fARB"
  external glMultiTexCoord3fvARB :
    Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glMultiTexCoord3fvARB"
  external glMultiTexCoord3iARB : Glcaml.glenum -> int -> int -> int -> unit
    = "glstub_glMultiTexCoord3iARB"
  external glMultiTexCoord3ivARB : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glMultiTexCoord3ivARB"
  external glMultiTexCoord3sARB : Glcaml.glenum -> int -> int -> int -> unit
    = "glstub_glMultiTexCoord3sARB"
  external glMultiTexCoord3svARB :
    Glcaml.glenum -> Glcaml.short_array -> unit
    = "glstub_glMultiTexCoord3svARB"
  external glMultiTexCoord4dARB :
    Glcaml.glenum -> float -> float -> float -> float -> unit
    = "glstub_glMultiTexCoord4dARB"
  external glMultiTexCoord4dvARB :
    Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glMultiTexCoord4dvARB"
  external glMultiTexCoord4fARB :
    Glcaml.glenum -> float -> float -> float -> float -> unit
    = "glstub_glMultiTexCoord4fARB"
  external glMultiTexCoord4fvARB :
    Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glMultiTexCoord4fvARB"
  external glMultiTexCoord4iARB :
    Glcaml.glenum -> int -> int -> int -> int -> unit
    = "glstub_glMultiTexCoord4iARB"
  external glMultiTexCoord4ivARB : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glMultiTexCoord4ivARB"
  external glMultiTexCoord4sARB :
    Glcaml.glenum -> int -> int -> int -> int -> unit
    = "glstub_glMultiTexCoord4sARB"
  external glMultiTexCoord4svARB :
    Glcaml.glenum -> Glcaml.short_array -> unit
    = "glstub_glMultiTexCoord4svARB"
  external glWeightbvARB : int -> Glcaml.byte_array -> unit
    = "glstub_glWeightbvARB"
  external glWeightsvARB : int -> Glcaml.short_array -> unit
    = "glstub_glWeightsvARB"
  external glWeightivARB : int -> Glcaml.int_array -> unit
    = "glstub_glWeightivARB"
  external glWeightfvARB : int -> Glcaml.float_array -> unit
    = "glstub_glWeightfvARB"
  external glWeightdvARB : int -> Glcaml.double_array -> unit
    = "glstub_glWeightdvARB"
  external glWeightubvARB : int -> Glcaml.ubyte_array -> unit
    = "glstub_glWeightubvARB"
  external glWeightusvARB : int -> Glcaml.ushort_array -> unit
    = "glstub_glWeightusvARB"
  external glWeightuivARB : int -> Glcaml.int_array -> unit
    = "glstub_glWeightuivARB"
  external glWeightPointerARB :
    int -> Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glWeightPointerARB"
  external glVertexBlendARB : int -> unit = "glstub_glVertexBlendARB"
  external glTexBumpParameterivATI :
    Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glTexBumpParameterivATI"
  external glTexBumpParameterfvATI :
    Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glTexBumpParameterfvATI"
  external glGetTexBumpParameterivATI :
    Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetTexBumpParameterivATI"
  external glGetTexBumpParameterfvATI :
    Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetTexBumpParameterfvATI"
  external glMapObjectBufferATI : int -> Glcaml.glpointer
    = "glstub_glMapObjectBufferATI"
  external glUnmapObjectBufferATI : int -> unit
    = "glstub_glUnmapObjectBufferATI"
  external glPNTrianglesiATI : Glcaml.glenum -> int -> unit
    = "glstub_glPNTrianglesiATI"
  external glPNTrianglesfATI : Glcaml.glenum -> float -> unit
    = "glstub_glPNTrianglesfATI"
  external glStencilOpSeparateATI :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glenum -> unit
    = "glstub_glStencilOpSeparateATI"
  external glStencilFuncSeparateATI :
    Glcaml.glenum -> Glcaml.glenum -> int -> int -> unit
    = "glstub_glStencilFuncSeparateATI"
  external glClientActiveVertexStreamATI : Glcaml.glenum -> unit
    = "glstub_glClientActiveVertexStreamATI"
  external glVertexBlendEnviATI : Glcaml.glenum -> int -> unit
    = "glstub_glVertexBlendEnviATI"
  external glVertexBlendEnvfATI : Glcaml.glenum -> float -> unit
    = "glstub_glVertexBlendEnvfATI"
  external glVertexStream2sATI : Glcaml.glenum -> int -> int -> unit
    = "glstub_glVertexStream2sATI"
  external glVertexStream2svATI : Glcaml.glenum -> Glcaml.short_array -> unit
    = "glstub_glVertexStream2svATI"
  external glVertexStream2iATI : Glcaml.glenum -> int -> int -> unit
    = "glstub_glVertexStream2iATI"
  external glVertexStream2ivATI : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glVertexStream2ivATI"
  external glVertexStream2fATI : Glcaml.glenum -> float -> float -> unit
    = "glstub_glVertexStream2fATI"
  external glVertexStream2fvATI : Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glVertexStream2fvATI"
  external glVertexStream2dATI : Glcaml.glenum -> float -> float -> unit
    = "glstub_glVertexStream2dATI"
  external glVertexStream2dvATI :
    Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glVertexStream2dvATI"
  external glVertexStream3sATI : Glcaml.glenum -> int -> int -> int -> unit
    = "glstub_glVertexStream3sATI"
  external glVertexStream3svATI : Glcaml.glenum -> Glcaml.short_array -> unit
    = "glstub_glVertexStream3svATI"
  external glVertexStream3iATI : Glcaml.glenum -> int -> int -> int -> unit
    = "glstub_glVertexStream3iATI"
  external glVertexStream3ivATI : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glVertexStream3ivATI"
  external glVertexStream3fATI :
    Glcaml.glenum -> float -> float -> float -> unit
    = "glstub_glVertexStream3fATI"
  external glVertexStream3fvATI : Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glVertexStream3fvATI"
  external glVertexStream3dATI :
    Glcaml.glenum -> float -> float -> float -> unit
    = "glstub_glVertexStream3dATI"
  external glVertexStream3dvATI :
    Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glVertexStream3dvATI"
  external glVertexStream4sATI :
    Glcaml.glenum -> int -> int -> int -> int -> unit
    = "glstub_glVertexStream4sATI"
  external glVertexStream4svATI : Glcaml.glenum -> Glcaml.short_array -> unit
    = "glstub_glVertexStream4svATI"
  external glVertexStream4iATI :
    Glcaml.glenum -> int -> int -> int -> int -> unit
    = "glstub_glVertexStream4iATI"
  external glVertexStream4ivATI : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glVertexStream4ivATI"
  external glVertexStream4fATI :
    Glcaml.glenum -> float -> float -> float -> float -> unit
    = "glstub_glVertexStream4fATI"
  external glVertexStream4fvATI : Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glVertexStream4fvATI"
  external glVertexStream4dATI :
    Glcaml.glenum -> float -> float -> float -> float -> unit
    = "glstub_glVertexStream4dATI"
  external glVertexStream4dvATI :
    Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glVertexStream4dvATI"
  external glNormalStream3bATI : Glcaml.glenum -> int -> int -> int -> unit
    = "glstub_glNormalStream3bATI"
  external glNormalStream3bvATI : Glcaml.glenum -> Glcaml.byte_array -> unit
    = "glstub_glNormalStream3bvATI"
  external glNormalStream3sATI : Glcaml.glenum -> int -> int -> int -> unit
    = "glstub_glNormalStream3sATI"
  external glNormalStream3svATI : Glcaml.glenum -> Glcaml.short_array -> unit
    = "glstub_glNormalStream3svATI"
  external glNormalStream3iATI : Glcaml.glenum -> int -> int -> int -> unit
    = "glstub_glNormalStream3iATI"
  external glNormalStream3ivATI : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glNormalStream3ivATI"
  external glNormalStream3fATI :
    Glcaml.glenum -> float -> float -> float -> unit
    = "glstub_glNormalStream3fATI"
  external glNormalStream3fvATI : Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glNormalStream3fvATI"
  external glNormalStream3dATI :
    Glcaml.glenum -> float -> float -> float -> unit
    = "glstub_glNormalStream3dATI"
  external glNormalStream3dvATI :
    Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glNormalStream3dvATI"
  external glDepthBoundsEXT : float -> float -> unit
    = "glstub_glDepthBoundsEXT"
  external glDrawRangeElementsEXT :
    Glcaml.glenum ->
    int -> int -> int -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glDrawRangeElementsEXT_byte" "glstub_glDrawRangeElementsEXT"
  external glFogCoordfEXT : float -> unit = "glstub_glFogCoordfEXT"
  external glFogCoordfvEXT : Glcaml.float_array -> unit
    = "glstub_glFogCoordfvEXT"
  external glFogCoorddEXT : float -> unit = "glstub_glFogCoorddEXT"
  external glFogCoorddvEXT : Glcaml.double_array -> unit
    = "glstub_glFogCoorddvEXT"
  external glFogCoordPointerEXT :
    Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glFogCoordPointerEXT"
  external glSecondaryColor3bEXT : int -> int -> int -> unit
    = "glstub_glSecondaryColor3bEXT"
  external glSecondaryColor3bvEXT : Glcaml.byte_array -> unit
    = "glstub_glSecondaryColor3bvEXT"
  external glSecondaryColor3dEXT : float -> float -> float -> unit
    = "glstub_glSecondaryColor3dEXT"
  external glSecondaryColor3dvEXT : Glcaml.double_array -> unit
    = "glstub_glSecondaryColor3dvEXT"
  external glSecondaryColor3fEXT : float -> float -> float -> unit
    = "glstub_glSecondaryColor3fEXT"
  external glSecondaryColor3fvEXT : Glcaml.float_array -> unit
    = "glstub_glSecondaryColor3fvEXT"
  external glSecondaryColor3iEXT : int -> int -> int -> unit
    = "glstub_glSecondaryColor3iEXT"
  external glSecondaryColor3ivEXT : Glcaml.int_array -> unit
    = "glstub_glSecondaryColor3ivEXT"
  external glSecondaryColor3sEXT : int -> int -> int -> unit
    = "glstub_glSecondaryColor3sEXT"
  external glSecondaryColor3svEXT : Glcaml.short_array -> unit
    = "glstub_glSecondaryColor3svEXT"
  external glSecondaryColor3ubEXT : int -> int -> int -> unit
    = "glstub_glSecondaryColor3ubEXT"
  external glSecondaryColor3ubvEXT : Glcaml.ubyte_array -> unit
    = "glstub_glSecondaryColor3ubvEXT"
  external glSecondaryColor3uiEXT : int -> int -> int -> unit
    = "glstub_glSecondaryColor3uiEXT"
  external glSecondaryColor3uivEXT : Glcaml.int_array -> unit
    = "glstub_glSecondaryColor3uivEXT"
  external glSecondaryColor3usEXT : int -> int -> int -> unit
    = "glstub_glSecondaryColor3usEXT"
  external glSecondaryColor3usvEXT : Glcaml.ushort_array -> unit
    = "glstub_glSecondaryColor3usvEXT"
  external glSecondaryColorPointerEXT :
    int -> Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glSecondaryColorPointerEXT"
  external glBeginVertexShaderEXT : unit -> unit
    = "glstub_glBeginVertexShaderEXT"
  external glEndVertexShaderEXT : unit -> unit
    = "glstub_glEndVertexShaderEXT"
  external glBindVertexShaderEXT : int -> unit
    = "glstub_glBindVertexShaderEXT"
  external glGenVertexShadersEXT : int -> int
    = "glstub_glGenVertexShadersEXT"
  external glDeleteVertexShaderEXT : int -> unit
    = "glstub_glDeleteVertexShaderEXT"
  external glShaderOp1EXT : Glcaml.glenum -> int -> int -> unit
    = "glstub_glShaderOp1EXT"
  external glShaderOp2EXT : Glcaml.glenum -> int -> int -> int -> unit
    = "glstub_glShaderOp2EXT"
  external glShaderOp3EXT : Glcaml.glenum -> int -> int -> int -> int -> unit
    = "glstub_glShaderOp3EXT"
  external glSwizzleEXT :
    int ->
    int ->
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glenum -> unit
    = "glstub_glSwizzleEXT_byte" "glstub_glSwizzleEXT"
  external glWriteMaskEXT :
    int ->
    int ->
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glenum -> unit
    = "glstub_glWriteMaskEXT_byte" "glstub_glWriteMaskEXT"
  external glInsertComponentEXT : int -> int -> int -> unit
    = "glstub_glInsertComponentEXT"
  external glExtractComponentEXT : int -> int -> int -> unit
    = "glstub_glExtractComponentEXT"
  external glGenSymbolsEXT :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.glenum -> int -> int
    = "glstub_glGenSymbolsEXT"
  external glSetInvariantEXT :
    int -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glSetInvariantEXT"
  external glSetLocalConstantEXT :
    int -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glSetLocalConstantEXT"
  external glVariantbvEXT : int -> Glcaml.byte_array -> unit
    = "glstub_glVariantbvEXT"
  external glVariantsvEXT : int -> Glcaml.short_array -> unit
    = "glstub_glVariantsvEXT"
  external glVariantivEXT : int -> Glcaml.int_array -> unit
    = "glstub_glVariantivEXT"
  external glVariantfvEXT : int -> Glcaml.float_array -> unit
    = "glstub_glVariantfvEXT"
  external glVariantdvEXT : int -> Glcaml.double_array -> unit
    = "glstub_glVariantdvEXT"
  external glVariantubvEXT : int -> Glcaml.ubyte_array -> unit
    = "glstub_glVariantubvEXT"
  external glVariantusvEXT : int -> Glcaml.ushort_array -> unit
    = "glstub_glVariantusvEXT"
  external glVariantuivEXT : int -> Glcaml.int_array -> unit
    = "glstub_glVariantuivEXT"
  external glVariantPointerEXT :
    int -> Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glVariantPointerEXT"
  external glEnableVariantClientStateEXT : int -> unit
    = "glstub_glEnableVariantClientStateEXT"
  external glDisableVariantClientStateEXT : int -> unit
    = "glstub_glDisableVariantClientStateEXT"
  external glBindLightParameterEXT : Glcaml.glenum -> Glcaml.glenum -> int
    = "glstub_glBindLightParameterEXT"
  external glBindMaterialParameterEXT : Glcaml.glenum -> Glcaml.glenum -> int
    = "glstub_glBindMaterialParameterEXT"
  external glBindTexGenParameterEXT :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.glenum -> int
    = "glstub_glBindTexGenParameterEXT"
  external glBindTextureUnitParameterEXT :
    Glcaml.glenum -> Glcaml.glenum -> int
    = "glstub_glBindTextureUnitParameterEXT"
  external glBindParameterEXT : Glcaml.glenum -> int
    = "glstub_glBindParameterEXT"
  external glIsVariantEnabledEXT : int -> Glcaml.glenum -> bool
    = "glstub_glIsVariantEnabledEXT"
  external glGetVariantBooleanvEXT :
    int -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetVariantBooleanvEXT"
  external glGetVariantIntegervEXT :
    int -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetVariantIntegervEXT"
  external glGetVariantFloatvEXT :
    int -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetVariantFloatvEXT"
  external glGetVariantPointervEXT :
    int -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glGetVariantPointervEXT"
  external glGetInvariantBooleanvEXT :
    int -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetInvariantBooleanvEXT"
  external glGetInvariantIntegervEXT :
    int -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetInvariantIntegervEXT"
  external glGetInvariantFloatvEXT :
    int -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetInvariantFloatvEXT"
  external glGetLocalConstantBooleanvEXT :
    int -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetLocalConstantBooleanvEXT"
  external glGetLocalConstantIntegervEXT :
    int -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetLocalConstantIntegervEXT"
  external glGetLocalConstantFloatvEXT :
    int -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetLocalConstantFloatvEXT"
  external glBufferRegionEnabledEXT : unit -> int
    = "glstub_glBufferRegionEnabledEXT"
  external glNewBufferRegionEXT : Glcaml.glenum -> int
    = "glstub_glNewBufferRegionEXT"
  external glDeleteBufferRegionEXT : Glcaml.glenum -> unit
    = "glstub_glDeleteBufferRegionEXT"
  external glReadBufferRegionEXT : int -> int -> int -> int -> int -> unit
    = "glstub_glReadBufferRegionEXT"
  external glDrawBufferRegionEXT :
    int -> int -> int -> int -> int -> int -> int -> unit
    = "glstub_glDrawBufferRegionEXT_byte" "glstub_glDrawBufferRegionEXT"
  external glAccum : Glcaml.glenum -> float -> unit = "glstub_glAccum"
  external glAlphaFunc : Glcaml.glenum -> float -> unit
    = "glstub_glAlphaFunc"
  external glAreTexturesResident :
    int -> Glcaml.int_array -> Glcaml.int_array -> bool
    = "glstub_glAreTexturesResident"
  external glArrayElement : int -> unit = "glstub_glArrayElement"
  external glBegin : Glcaml.glenum -> unit = "glstub_glBegin"
  external glBindTexture : Glcaml.glenum -> int -> unit
    = "glstub_glBindTexture"
  external glBitmap :
    int ->
    int -> float -> float -> float -> float -> Glcaml.ubyte_array -> unit
    = "glstub_glBitmap_byte" "glstub_glBitmap"
  external glBlendFunc : Glcaml.glenum -> Glcaml.glenum -> unit
    = "glstub_glBlendFunc"
  external glCallList : int -> unit = "glstub_glCallList"
  external glCallLists : int -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glCallLists"
  external glClear : Glcaml.glenum list -> unit = "glstub_glClear"
  external glClearAccum : float -> float -> float -> float -> unit
    = "glstub_glClearAccum"
  external glClearColor : float -> float -> float -> float -> unit
    = "glstub_glClearColor"
  external glClearDepth : float -> unit = "glstub_glClearDepth"
  external glClearIndex : float -> unit = "glstub_glClearIndex"
  external glClearStencil : int -> unit = "glstub_glClearStencil"
  external glClipPlane : Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glClipPlane"
  external glColor3b : int -> int -> int -> unit = "glstub_glColor3b"
  external glColor3bv : Glcaml.byte_array -> unit = "glstub_glColor3bv"
  external glColor3d : float -> float -> float -> unit = "glstub_glColor3d"
  external glColor3dv : Glcaml.double_array -> unit = "glstub_glColor3dv"
  external glColor3f : float -> float -> float -> unit = "glstub_glColor3f"
  external glColor3fv : Glcaml.float_array -> unit = "glstub_glColor3fv"
  external glColor3i : int -> int -> int -> unit = "glstub_glColor3i"
  external glColor3iv : Glcaml.int_array -> unit = "glstub_glColor3iv"
  external glColor3s : int -> int -> int -> unit = "glstub_glColor3s"
  external glColor3sv : Glcaml.short_array -> unit = "glstub_glColor3sv"
  external glColor3ub : int -> int -> int -> unit = "glstub_glColor3ub"
  external glColor3ubv : Glcaml.ubyte_array -> unit = "glstub_glColor3ubv"
  external glColor3ui : int -> int -> int -> unit = "glstub_glColor3ui"
  external glColor3uiv : Glcaml.int_array -> unit = "glstub_glColor3uiv"
  external glColor3us : int -> int -> int -> unit = "glstub_glColor3us"
  external glColor3usv : Glcaml.ushort_array -> unit = "glstub_glColor3usv"
  external glColor4b : int -> int -> int -> int -> unit = "glstub_glColor4b"
  external glColor4bv : Glcaml.byte_array -> unit = "glstub_glColor4bv"
  external glColor4d : float -> float -> float -> float -> unit
    = "glstub_glColor4d"
  external glColor4dv : Glcaml.double_array -> unit = "glstub_glColor4dv"
  external glColor4f : float -> float -> float -> float -> unit
    = "glstub_glColor4f"
  external glColor4fv : Glcaml.float_array -> unit = "glstub_glColor4fv"
  external glColor4i : int -> int -> int -> int -> unit = "glstub_glColor4i"
  external glColor4iv : Glcaml.int_array -> unit = "glstub_glColor4iv"
  external glColor4s : int -> int -> int -> int -> unit = "glstub_glColor4s"
  external glColor4sv : Glcaml.short_array -> unit = "glstub_glColor4sv"
  external glColor4ub : int -> int -> int -> int -> unit
    = "glstub_glColor4ub"
  external glColor4ubv : Glcaml.ubyte_array -> unit = "glstub_glColor4ubv"
  external glColor4ui : int -> int -> int -> int -> unit
    = "glstub_glColor4ui"
  external glColor4uiv : Glcaml.int_array -> unit = "glstub_glColor4uiv"
  external glColor4us : int -> int -> int -> int -> unit
    = "glstub_glColor4us"
  external glColor4usv : Glcaml.ushort_array -> unit = "glstub_glColor4usv"
  external glColorMask : bool -> bool -> bool -> bool -> unit
    = "glstub_glColorMask"
  external glColorMaterial : Glcaml.glenum -> Glcaml.glenum -> unit
    = "glstub_glColorMaterial"
  external glColorPointer :
    int -> Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glColorPointer"
  external glCopyPixels : int -> int -> int -> int -> Glcaml.glenum -> unit
    = "glstub_glCopyPixels"
  external glCopyTexImage1D :
    Glcaml.glenum -> int -> Glcaml.glenum -> int -> int -> int -> int -> unit
    = "glstub_glCopyTexImage1D_byte" "glstub_glCopyTexImage1D"
  external glCopyTexImage2D :
    Glcaml.glenum ->
    int -> Glcaml.glenum -> int -> int -> int -> int -> int -> unit
    = "glstub_glCopyTexImage2D_byte" "glstub_glCopyTexImage2D"
  external glCopyTexSubImage1D :
    Glcaml.glenum -> int -> int -> int -> int -> int -> unit
    = "glstub_glCopyTexSubImage1D_byte" "glstub_glCopyTexSubImage1D"
  external glCopyTexSubImage2D :
    Glcaml.glenum -> int -> int -> int -> int -> int -> int -> int -> unit
    = "glstub_glCopyTexSubImage2D_byte" "glstub_glCopyTexSubImage2D"
  external glCullFace : Glcaml.glenum -> unit = "glstub_glCullFace"
  external glDeleteLists : int -> int -> unit = "glstub_glDeleteLists"
  external glDeleteTextures : int -> Glcaml.int_array -> unit
    = "glstub_glDeleteTextures"
  external glDepthFunc : Glcaml.glenum -> unit = "glstub_glDepthFunc"
  external glDepthMask : bool -> unit = "glstub_glDepthMask"
  external glDepthRange : float -> float -> unit = "glstub_glDepthRange"
  external glDisable : Glcaml.glenum -> unit = "glstub_glDisable"
  external glDisableClientState : Glcaml.glenum -> unit
    = "glstub_glDisableClientState"
  external glDrawArrays : Glcaml.glenum -> int -> int -> unit
    = "glstub_glDrawArrays"
  external glDrawBuffer : Glcaml.glenum -> unit = "glstub_glDrawBuffer"
  external glDrawElements :
    Glcaml.glenum -> int -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glDrawElements"
  external glDrawPixels :
    int -> int -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glDrawPixels"
  external glEdgeFlag : bool -> unit = "glstub_glEdgeFlag"
  external glEdgeFlagPointer : int -> Glcaml.glpointer -> unit
    = "glstub_glEdgeFlagPointer"
  external glEdgeFlagv : Glcaml.int_array -> unit = "glstub_glEdgeFlagv"
  external glEnable : Glcaml.glenum -> unit = "glstub_glEnable"
  external glEnableClientState : Glcaml.glenum -> unit
    = "glstub_glEnableClientState"
  external glEnd : unit -> unit = "glstub_glEnd"
  external glEndList : unit -> unit = "glstub_glEndList"
  external glEvalCoord1d : float -> unit = "glstub_glEvalCoord1d"
  external glEvalCoord1dv : Glcaml.double_array -> unit
    = "glstub_glEvalCoord1dv"
  external glEvalCoord1f : float -> unit = "glstub_glEvalCoord1f"
  external glEvalCoord1fv : Glcaml.float_array -> unit
    = "glstub_glEvalCoord1fv"
  external glEvalCoord2d : float -> float -> unit = "glstub_glEvalCoord2d"
  external glEvalCoord2dv : Glcaml.double_array -> unit
    = "glstub_glEvalCoord2dv"
  external glEvalCoord2f : float -> float -> unit = "glstub_glEvalCoord2f"
  external glEvalCoord2fv : Glcaml.float_array -> unit
    = "glstub_glEvalCoord2fv"
  external glEvalMesh1 : Glcaml.glenum -> int -> int -> unit
    = "glstub_glEvalMesh1"
  external glEvalMesh2 : Glcaml.glenum -> int -> int -> int -> int -> unit
    = "glstub_glEvalMesh2"
  external glEvalPoint1 : int -> unit = "glstub_glEvalPoint1"
  external glEvalPoint2 : int -> int -> unit = "glstub_glEvalPoint2"
  external glFeedbackBuffer :
    int -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glFeedbackBuffer"
  external glFinish : unit -> unit = "glstub_glFinish"
  external glFlush : unit -> unit = "glstub_glFlush"
  external glFogf : Glcaml.glenum -> float -> unit = "glstub_glFogf"
  external glFogfv : Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glFogfv"
  external glFogi : Glcaml.glenum -> int -> unit = "glstub_glFogi"
  external glFogiv : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glFogiv"
  external glFrontFace : Glcaml.glenum -> unit = "glstub_glFrontFace"
  external glFrustum :
    float -> float -> float -> float -> float -> float -> unit
    = "glstub_glFrustum_byte" "glstub_glFrustum"
  external glGenLists : int -> int = "glstub_glGenLists"
  external glGenTextures : int -> Glcaml.int_array -> unit
    = "glstub_glGenTextures"
  external glGetBooleanv : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetBooleanv"
  external glGetClipPlane : Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glGetClipPlane"
  external glGetDoublev : Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glGetDoublev"
  external glGetError : unit -> Glcaml.glenum = "glstub_glGetError"
  external glGetFloatv : Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetFloatv"
  external glGetIntegerv : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetIntegerv"
  external glGetLightfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetLightfv"
  external glGetLightiv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetLightiv"
  external glGetMapdv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glGetMapdv"
  external glGetMapfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetMapfv"
  external glGetMapiv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetMapiv"
  external glGetMaterialfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetMaterialfv"
  external glGetMaterialiv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetMaterialiv"
  external glGetPixelMapfv : Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetPixelMapfv"
  external glGetPixelMapuiv : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetPixelMapuiv"
  external glGetPixelMapusv : Glcaml.glenum -> Glcaml.ushort_array -> unit
    = "glstub_glGetPixelMapusv"
  external glGetPointerv : Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glGetPointerv"
  external glGetPolygonStipple : Glcaml.ubyte_array -> unit
    = "glstub_glGetPolygonStipple"
  external glGetString : Glcaml.glenum -> string = "glstub_glGetString"
  external glGetTexEnvfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetTexEnvfv"
  external glGetTexEnviv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetTexEnviv"
  external glGetTexGendv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glGetTexGendv"
  external glGetTexGenfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetTexGenfv"
  external glGetTexGeniv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetTexGeniv"
  external glGetTexImage :
    Glcaml.glenum ->
    int -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glGetTexImage"
  external glGetTexLevelParameterfv :
    Glcaml.glenum -> int -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetTexLevelParameterfv"
  external glGetTexLevelParameteriv :
    Glcaml.glenum -> int -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetTexLevelParameteriv"
  external glGetTexParameterfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetTexParameterfv"
  external glGetTexParameteriv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetTexParameteriv"
  external glHint : Glcaml.glenum -> Glcaml.glenum -> unit = "glstub_glHint"
  external glIndexMask : int -> unit = "glstub_glIndexMask"
  external glIndexPointer : Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glIndexPointer"
  external glIndexd : float -> unit = "glstub_glIndexd"
  external glIndexdv : Glcaml.double_array -> unit = "glstub_glIndexdv"
  external glIndexf : float -> unit = "glstub_glIndexf"
  external glIndexfv : Glcaml.float_array -> unit = "glstub_glIndexfv"
  external glIndexi : int -> unit = "glstub_glIndexi"
  external glIndexiv : Glcaml.int_array -> unit = "glstub_glIndexiv"
  external glIndexs : int -> unit = "glstub_glIndexs"
  external glIndexsv : Glcaml.short_array -> unit = "glstub_glIndexsv"
  external glIndexub : int -> unit = "glstub_glIndexub"
  external glIndexubv : Glcaml.ubyte_array -> unit = "glstub_glIndexubv"
  external glInitNames : unit -> unit = "glstub_glInitNames"
  external glInterleavedArrays :
    Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glInterleavedArrays"
  external glIsEnabled : Glcaml.glenum -> bool = "glstub_glIsEnabled"
  external glIsList : int -> bool = "glstub_glIsList"
  external glIsTexture : int -> bool = "glstub_glIsTexture"
  external glLightModelf : Glcaml.glenum -> float -> unit
    = "glstub_glLightModelf"
  external glLightModelfv : Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glLightModelfv"
  external glLightModeli : Glcaml.glenum -> int -> unit
    = "glstub_glLightModeli"
  external glLightModeliv : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glLightModeliv"
  external glLightf : Glcaml.glenum -> Glcaml.glenum -> float -> unit
    = "glstub_glLightf"
  external glLightfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glLightfv"
  external glLighti : Glcaml.glenum -> Glcaml.glenum -> int -> unit
    = "glstub_glLighti"
  external glLightiv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glLightiv"
  external glLineStipple : int -> int -> unit = "glstub_glLineStipple"
  external glLineWidth : float -> unit = "glstub_glLineWidth"
  external glListBase : int -> unit = "glstub_glListBase"
  external glLoadIdentity : unit -> unit = "glstub_glLoadIdentity"
  external glLoadMatrixd : Glcaml.double_array -> unit
    = "glstub_glLoadMatrixd"
  external glLoadMatrixf : Glcaml.float_array -> unit
    = "glstub_glLoadMatrixf"
  external glLoadName : int -> unit = "glstub_glLoadName"
  external glLogicOp : Glcaml.glenum -> unit = "glstub_glLogicOp"
  external glMap1d :
    Glcaml.glenum ->
    float -> float -> int -> int -> Glcaml.double_array -> unit
    = "glstub_glMap1d_byte" "glstub_glMap1d"
  external glMap1f :
    Glcaml.glenum ->
    float -> float -> int -> int -> Glcaml.float_array -> unit
    = "glstub_glMap1f_byte" "glstub_glMap1f"
  external glMap2d :
    Glcaml.glenum ->
    float ->
    float ->
    int -> int -> float -> float -> int -> int -> Glcaml.double_array -> unit
    = "glstub_glMap2d_byte" "glstub_glMap2d"
  external glMap2f :
    Glcaml.glenum ->
    float ->
    float ->
    int -> int -> float -> float -> int -> int -> Glcaml.float_array -> unit
    = "glstub_glMap2f_byte" "glstub_glMap2f"
  external glMapGrid1d : int -> float -> float -> unit = "glstub_glMapGrid1d"
  external glMapGrid1f : int -> float -> float -> unit = "glstub_glMapGrid1f"
  external glMapGrid2d :
    int -> float -> float -> int -> float -> float -> unit
    = "glstub_glMapGrid2d_byte" "glstub_glMapGrid2d"
  external glMapGrid2f :
    int -> float -> float -> int -> float -> float -> unit
    = "glstub_glMapGrid2f_byte" "glstub_glMapGrid2f"
  external glMaterialf : Glcaml.glenum -> Glcaml.glenum -> float -> unit
    = "glstub_glMaterialf"
  external glMaterialfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glMaterialfv"
  external glMateriali : Glcaml.glenum -> Glcaml.glenum -> int -> unit
    = "glstub_glMateriali"
  external glMaterialiv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glMaterialiv"
  external glMatrixMode : Glcaml.glenum -> unit = "glstub_glMatrixMode"
  external glMultMatrixd : Glcaml.double_array -> unit
    = "glstub_glMultMatrixd"
  external glMultMatrixf : Glcaml.float_array -> unit
    = "glstub_glMultMatrixf"
  external glNewList : int -> Glcaml.glenum -> unit = "glstub_glNewList"
  external glNormal3b : int -> int -> int -> unit = "glstub_glNormal3b"
  external glNormal3bv : Glcaml.byte_array -> unit = "glstub_glNormal3bv"
  external glNormal3d : float -> float -> float -> unit = "glstub_glNormal3d"
  external glNormal3dv : Glcaml.double_array -> unit = "glstub_glNormal3dv"
  external glNormal3f : float -> float -> float -> unit = "glstub_glNormal3f"
  external glNormal3fv : Glcaml.float_array -> unit = "glstub_glNormal3fv"
  external glNormal3i : int -> int -> int -> unit = "glstub_glNormal3i"
  external glNormal3iv : Glcaml.int_array -> unit = "glstub_glNormal3iv"
  external glNormal3s : int -> int -> int -> unit = "glstub_glNormal3s"
  external glNormal3sv : Glcaml.short_array -> unit = "glstub_glNormal3sv"
  external glNormalPointer : Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glNormalPointer"
  external glOrtho :
    float -> float -> float -> float -> float -> float -> unit
    = "glstub_glOrtho_byte" "glstub_glOrtho"
  external glPassThrough : float -> unit = "glstub_glPassThrough"
  external glPixelMapfv : Glcaml.glenum -> int -> Glcaml.float_array -> unit
    = "glstub_glPixelMapfv"
  external glPixelMapuiv : Glcaml.glenum -> int -> Glcaml.int_array -> unit
    = "glstub_glPixelMapuiv"
  external glPixelMapusv :
    Glcaml.glenum -> int -> Glcaml.ushort_array -> unit
    = "glstub_glPixelMapusv"
  external glPixelStoref : Glcaml.glenum -> float -> unit
    = "glstub_glPixelStoref"
  external glPixelStorei : Glcaml.glenum -> int -> unit
    = "glstub_glPixelStorei"
  external glPixelTransferf : Glcaml.glenum -> float -> unit
    = "glstub_glPixelTransferf"
  external glPixelTransferi : Glcaml.glenum -> int -> unit
    = "glstub_glPixelTransferi"
  external glPixelZoom : float -> float -> unit = "glstub_glPixelZoom"
  external glPointSize : float -> unit = "glstub_glPointSize"
  external glPolygonMode : Glcaml.glenum -> Glcaml.glenum -> unit
    = "glstub_glPolygonMode"
  external glPolygonOffset : float -> float -> unit
    = "glstub_glPolygonOffset"
  external glPolygonStipple : Glcaml.ubyte_array -> unit
    = "glstub_glPolygonStipple"
  external glPopAttrib : unit -> unit = "glstub_glPopAttrib"
  external glPopClientAttrib : unit -> unit = "glstub_glPopClientAttrib"
  external glPopMatrix : unit -> unit = "glstub_glPopMatrix"
  external glPopName : unit -> unit = "glstub_glPopName"
  external glPrioritizeTextures :
    int -> Glcaml.int_array -> Glcaml.float_array -> unit
    = "glstub_glPrioritizeTextures"
  external glPushAttrib : Glcaml.glenum list -> unit = "glstub_glPushAttrib"
  external glPushClientAttrib : Glcaml.glenum list -> unit
    = "glstub_glPushClientAttrib"
  external glPushMatrix : unit -> unit = "glstub_glPushMatrix"
  external glPushName : int -> unit = "glstub_glPushName"
  external glRasterPos2d : float -> float -> unit = "glstub_glRasterPos2d"
  external glRasterPos2dv : Glcaml.double_array -> unit
    = "glstub_glRasterPos2dv"
  external glRasterPos2f : float -> float -> unit = "glstub_glRasterPos2f"
  external glRasterPos2fv : Glcaml.float_array -> unit
    = "glstub_glRasterPos2fv"
  external glRasterPos2i : int -> int -> unit = "glstub_glRasterPos2i"
  external glRasterPos2iv : Glcaml.int_array -> unit
    = "glstub_glRasterPos2iv"
  external glRasterPos2s : int -> int -> unit = "glstub_glRasterPos2s"
  external glRasterPos2sv : Glcaml.short_array -> unit
    = "glstub_glRasterPos2sv"
  external glRasterPos3d : float -> float -> float -> unit
    = "glstub_glRasterPos3d"
  external glRasterPos3dv : Glcaml.double_array -> unit
    = "glstub_glRasterPos3dv"
  external glRasterPos3f : float -> float -> float -> unit
    = "glstub_glRasterPos3f"
  external glRasterPos3fv : Glcaml.float_array -> unit
    = "glstub_glRasterPos3fv"
  external glRasterPos3i : int -> int -> int -> unit = "glstub_glRasterPos3i"
  external glRasterPos3iv : Glcaml.int_array -> unit
    = "glstub_glRasterPos3iv"
  external glRasterPos3s : int -> int -> int -> unit = "glstub_glRasterPos3s"
  external glRasterPos3sv : Glcaml.short_array -> unit
    = "glstub_glRasterPos3sv"
  external glRasterPos4d : float -> float -> float -> float -> unit
    = "glstub_glRasterPos4d"
  external glRasterPos4dv : Glcaml.double_array -> unit
    = "glstub_glRasterPos4dv"
  external glRasterPos4f : float -> float -> float -> float -> unit
    = "glstub_glRasterPos4f"
  external glRasterPos4fv : Glcaml.float_array -> unit
    = "glstub_glRasterPos4fv"
  external glRasterPos4i : int -> int -> int -> int -> unit
    = "glstub_glRasterPos4i"
  external glRasterPos4iv : Glcaml.int_array -> unit
    = "glstub_glRasterPos4iv"
  external glRasterPos4s : int -> int -> int -> int -> unit
    = "glstub_glRasterPos4s"
  external glRasterPos4sv : Glcaml.short_array -> unit
    = "glstub_glRasterPos4sv"
  external glReadBuffer : Glcaml.glenum -> unit = "glstub_glReadBuffer"
  external glReadPixels :
    int ->
    int ->
    int -> int -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glReadPixels_byte" "glstub_glReadPixels"
  external glRectd : float -> float -> float -> float -> unit
    = "glstub_glRectd"
  external glRectdv : Glcaml.double_array -> Glcaml.double_array -> unit
    = "glstub_glRectdv"
  external glRectf : float -> float -> float -> float -> unit
    = "glstub_glRectf"
  external glRectfv : Glcaml.float_array -> Glcaml.float_array -> unit
    = "glstub_glRectfv"
  external glRecti : int -> int -> int -> int -> unit = "glstub_glRecti"
  external glRectiv : Glcaml.int_array -> Glcaml.int_array -> unit
    = "glstub_glRectiv"
  external glRects : int -> int -> int -> int -> unit = "glstub_glRects"
  external glRectsv : Glcaml.short_array -> Glcaml.short_array -> unit
    = "glstub_glRectsv"
  external glRenderMode : Glcaml.glenum -> int = "glstub_glRenderMode"
  external glRotated : float -> float -> float -> float -> unit
    = "glstub_glRotated"
  external glRotatef : float -> float -> float -> float -> unit
    = "glstub_glRotatef"
  external glScaled : float -> float -> float -> unit = "glstub_glScaled"
  external glScalef : float -> float -> float -> unit = "glstub_glScalef"
  external glScissor : int -> int -> int -> int -> unit = "glstub_glScissor"
  external glSelectBuffer : int -> Glcaml.int_array -> unit
    = "glstub_glSelectBuffer"
  external glShadeModel : Glcaml.glenum -> unit = "glstub_glShadeModel"
  external glStencilFunc : Glcaml.glenum -> int -> int -> unit
    = "glstub_glStencilFunc"
  external glStencilMask : int -> unit = "glstub_glStencilMask"
  external glStencilOp :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.glenum -> unit
    = "glstub_glStencilOp"
  external glTexCoord1d : float -> unit = "glstub_glTexCoord1d"
  external glTexCoord1dv : Glcaml.double_array -> unit
    = "glstub_glTexCoord1dv"
  external glTexCoord1f : float -> unit = "glstub_glTexCoord1f"
  external glTexCoord1fv : Glcaml.float_array -> unit
    = "glstub_glTexCoord1fv"
  external glTexCoord1i : int -> unit = "glstub_glTexCoord1i"
  external glTexCoord1iv : Glcaml.int_array -> unit = "glstub_glTexCoord1iv"
  external glTexCoord1s : int -> unit = "glstub_glTexCoord1s"
  external glTexCoord1sv : Glcaml.short_array -> unit
    = "glstub_glTexCoord1sv"
  external glTexCoord2d : float -> float -> unit = "glstub_glTexCoord2d"
  external glTexCoord2dv : Glcaml.double_array -> unit
    = "glstub_glTexCoord2dv"
  external glTexCoord2f : float -> float -> unit = "glstub_glTexCoord2f"
  external glTexCoord2fv : Glcaml.float_array -> unit
    = "glstub_glTexCoord2fv"
  external glTexCoord2i : int -> int -> unit = "glstub_glTexCoord2i"
  external glTexCoord2iv : Glcaml.int_array -> unit = "glstub_glTexCoord2iv"
  external glTexCoord2s : int -> int -> unit = "glstub_glTexCoord2s"
  external glTexCoord2sv : Glcaml.short_array -> unit
    = "glstub_glTexCoord2sv"
  external glTexCoord3d : float -> float -> float -> unit
    = "glstub_glTexCoord3d"
  external glTexCoord3dv : Glcaml.double_array -> unit
    = "glstub_glTexCoord3dv"
  external glTexCoord3f : float -> float -> float -> unit
    = "glstub_glTexCoord3f"
  external glTexCoord3fv : Glcaml.float_array -> unit
    = "glstub_glTexCoord3fv"
  external glTexCoord3i : int -> int -> int -> unit = "glstub_glTexCoord3i"
  external glTexCoord3iv : Glcaml.int_array -> unit = "glstub_glTexCoord3iv"
  external glTexCoord3s : int -> int -> int -> unit = "glstub_glTexCoord3s"
  external glTexCoord3sv : Glcaml.short_array -> unit
    = "glstub_glTexCoord3sv"
  external glTexCoord4d : float -> float -> float -> float -> unit
    = "glstub_glTexCoord4d"
  external glTexCoord4dv : Glcaml.double_array -> unit
    = "glstub_glTexCoord4dv"
  external glTexCoord4f : float -> float -> float -> float -> unit
    = "glstub_glTexCoord4f"
  external glTexCoord4fv : Glcaml.float_array -> unit
    = "glstub_glTexCoord4fv"
  external glTexCoord4i : int -> int -> int -> int -> unit
    = "glstub_glTexCoord4i"
  external glTexCoord4iv : Glcaml.int_array -> unit = "glstub_glTexCoord4iv"
  external glTexCoord4s : int -> int -> int -> int -> unit
    = "glstub_glTexCoord4s"
  external glTexCoord4sv : Glcaml.short_array -> unit
    = "glstub_glTexCoord4sv"
  external glTexCoordPointer :
    int -> Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glTexCoordPointer"
  external glTexEnvf : Glcaml.glenum -> Glcaml.glenum -> float -> unit
    = "glstub_glTexEnvf"
  external glTexEnvfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glTexEnvfv"
  external glTexEnvi : Glcaml.glenum -> Glcaml.glenum -> int -> unit
    = "glstub_glTexEnvi"
  external glTexEnviv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glTexEnviv"
  external glTexGend : Glcaml.glenum -> Glcaml.glenum -> float -> unit
    = "glstub_glTexGend"
  external glTexGendv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glTexGendv"
  external glTexGenf : Glcaml.glenum -> Glcaml.glenum -> float -> unit
    = "glstub_glTexGenf"
  external glTexGenfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glTexGenfv"
  external glTexGeni : Glcaml.glenum -> Glcaml.glenum -> int -> unit
    = "glstub_glTexGeni"
  external glTexGeniv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glTexGeniv"
  external glTexImage1D :
    Glcaml.glenum ->
    int ->
    int ->
    int -> int -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glTexImage1D_byte" "glstub_glTexImage1D"
  external glTexImage2D :
    Glcaml.glenum ->
    int ->
    int ->
    int ->
    int -> int -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glTexImage2D_byte" "glstub_glTexImage2D"
  external glTexParameterf : Glcaml.glenum -> Glcaml.glenum -> float -> unit
    = "glstub_glTexParameterf"
  external glTexParameterfv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glTexParameterfv"
  external glTexParameteri : Glcaml.glenum -> Glcaml.glenum -> int -> unit
    = "glstub_glTexParameteri"
  external glTexParameteriv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glTexParameteriv"
  external glTexSubImage1D :
    Glcaml.glenum ->
    int ->
    int -> int -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glTexSubImage1D_byte" "glstub_glTexSubImage1D"
  external glTexSubImage2D :
    Glcaml.glenum ->
    int ->
    int ->
    int ->
    int -> int -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glTexSubImage2D_byte" "glstub_glTexSubImage2D"
  external glTranslated : float -> float -> float -> unit
    = "glstub_glTranslated"
  external glTranslatef : float -> float -> float -> unit
    = "glstub_glTranslatef"
  external glVertex2d : float -> float -> unit = "glstub_glVertex2d"
  external glVertex2dv : Glcaml.double_array -> unit = "glstub_glVertex2dv"
  external glVertex2f : float -> float -> unit = "glstub_glVertex2f"
  external glVertex2fv : Glcaml.float_array -> unit = "glstub_glVertex2fv"
  external glVertex2i : int -> int -> unit = "glstub_glVertex2i"
  external glVertex2iv : Glcaml.int_array -> unit = "glstub_glVertex2iv"
  external glVertex2s : int -> int -> unit = "glstub_glVertex2s"
  external glVertex2sv : Glcaml.short_array -> unit = "glstub_glVertex2sv"
  external glVertex3d : float -> float -> float -> unit = "glstub_glVertex3d"
  external glVertex3dv : Glcaml.double_array -> unit = "glstub_glVertex3dv"
  external glVertex3f : float -> float -> float -> unit = "glstub_glVertex3f"
  external glVertex3fv : Glcaml.float_array -> unit = "glstub_glVertex3fv"
  external glVertex3i : int -> int -> int -> unit = "glstub_glVertex3i"
  external glVertex3iv : Glcaml.int_array -> unit = "glstub_glVertex3iv"
  external glVertex3s : int -> int -> int -> unit = "glstub_glVertex3s"
  external glVertex3sv : Glcaml.short_array -> unit = "glstub_glVertex3sv"
  external glVertex4d : float -> float -> float -> float -> unit
    = "glstub_glVertex4d"
  external glVertex4dv : Glcaml.double_array -> unit = "glstub_glVertex4dv"
  external glVertex4f : float -> float -> float -> float -> unit
    = "glstub_glVertex4f"
  external glVertex4fv : Glcaml.float_array -> unit = "glstub_glVertex4fv"
  external glVertex4i : int -> int -> int -> int -> unit
    = "glstub_glVertex4i"
  external glVertex4iv : Glcaml.int_array -> unit = "glstub_glVertex4iv"
  external glVertex4s : int -> int -> int -> int -> unit
    = "glstub_glVertex4s"
  external glVertex4sv : Glcaml.short_array -> unit = "glstub_glVertex4sv"
  external glVertexPointer :
    int -> Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glVertexPointer"
  external glViewport : int -> int -> int -> int -> unit
    = "glstub_glViewport"
  external glDrawRangeElements :
    Glcaml.glenum ->
    int -> int -> int -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glDrawRangeElements_byte" "glstub_glDrawRangeElements"
  external glTexImage3D :
    Glcaml.glenum ->
    int ->
    int ->
    int ->
    int ->
    int -> int -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glTexImage3D_byte" "glstub_glTexImage3D"
  external glTexSubImage3D :
    Glcaml.glenum ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int -> int -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glTexSubImage3D_byte" "glstub_glTexSubImage3D"
  external glCopyTexSubImage3D :
    Glcaml.glenum ->
    int -> int -> int -> int -> int -> int -> int -> int -> unit
    = "glstub_glCopyTexSubImage3D_byte" "glstub_glCopyTexSubImage3D"
  external glActiveTexture : Glcaml.glenum -> unit = "glstub_glActiveTexture"
  external glClientActiveTexture : Glcaml.glenum -> unit
    = "glstub_glClientActiveTexture"
  external glCompressedTexImage1D :
    Glcaml.glenum ->
    int -> Glcaml.glenum -> int -> int -> int -> Glcaml.glpointer -> unit
    = "glstub_glCompressedTexImage1D_byte" "glstub_glCompressedTexImage1D"
  external glCompressedTexImage2D :
    Glcaml.glenum ->
    int ->
    Glcaml.glenum -> int -> int -> int -> int -> Glcaml.glpointer -> unit
    = "glstub_glCompressedTexImage2D_byte" "glstub_glCompressedTexImage2D"
  external glCompressedTexImage3D :
    Glcaml.glenum ->
    int ->
    Glcaml.glenum ->
    int -> int -> int -> int -> int -> Glcaml.glpointer -> unit
    = "glstub_glCompressedTexImage3D_byte" "glstub_glCompressedTexImage3D"
  external glCompressedTexSubImage1D :
    Glcaml.glenum ->
    int -> int -> int -> Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glCompressedTexSubImage1D_byte"
    "glstub_glCompressedTexSubImage1D"
  external glCompressedTexSubImage2D :
    Glcaml.glenum ->
    int ->
    int ->
    int -> int -> int -> Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glCompressedTexSubImage2D_byte"
    "glstub_glCompressedTexSubImage2D"
  external glCompressedTexSubImage3D :
    Glcaml.glenum ->
    int ->
    int ->
    int ->
    int ->
    int -> int -> int -> Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glCompressedTexSubImage3D_byte"
    "glstub_glCompressedTexSubImage3D"
  external glGetCompressedTexImage :
    Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glGetCompressedTexImage"
  external glLoadTransposeMatrixd : float -> unit
    = "glstub_glLoadTransposeMatrixd"
  external glLoadTransposeMatrixf : float -> unit
    = "glstub_glLoadTransposeMatrixf"
  external glMultTransposeMatrixd : float -> unit
    = "glstub_glMultTransposeMatrixd"
  external glMultTransposeMatrixf : float -> unit
    = "glstub_glMultTransposeMatrixf"
  external glMultiTexCoord1d : Glcaml.glenum -> float -> unit
    = "glstub_glMultiTexCoord1d"
  external glMultiTexCoord1dv : Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glMultiTexCoord1dv"
  external glMultiTexCoord1f : Glcaml.glenum -> float -> unit
    = "glstub_glMultiTexCoord1f"
  external glMultiTexCoord1fv : Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glMultiTexCoord1fv"
  external glMultiTexCoord1i : Glcaml.glenum -> int -> unit
    = "glstub_glMultiTexCoord1i"
  external glMultiTexCoord1iv : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glMultiTexCoord1iv"
  external glMultiTexCoord1s : Glcaml.glenum -> int -> unit
    = "glstub_glMultiTexCoord1s"
  external glMultiTexCoord1sv : Glcaml.glenum -> Glcaml.short_array -> unit
    = "glstub_glMultiTexCoord1sv"
  external glMultiTexCoord2d : Glcaml.glenum -> float -> float -> unit
    = "glstub_glMultiTexCoord2d"
  external glMultiTexCoord2dv : Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glMultiTexCoord2dv"
  external glMultiTexCoord2f : Glcaml.glenum -> float -> float -> unit
    = "glstub_glMultiTexCoord2f"
  external glMultiTexCoord2fv : Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glMultiTexCoord2fv"
  external glMultiTexCoord2i : Glcaml.glenum -> int -> int -> unit
    = "glstub_glMultiTexCoord2i"
  external glMultiTexCoord2iv : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glMultiTexCoord2iv"
  external glMultiTexCoord2s : Glcaml.glenum -> int -> int -> unit
    = "glstub_glMultiTexCoord2s"
  external glMultiTexCoord2sv : Glcaml.glenum -> Glcaml.short_array -> unit
    = "glstub_glMultiTexCoord2sv"
  external glMultiTexCoord3d :
    Glcaml.glenum -> float -> float -> float -> unit
    = "glstub_glMultiTexCoord3d"
  external glMultiTexCoord3dv : Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glMultiTexCoord3dv"
  external glMultiTexCoord3f :
    Glcaml.glenum -> float -> float -> float -> unit
    = "glstub_glMultiTexCoord3f"
  external glMultiTexCoord3fv : Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glMultiTexCoord3fv"
  external glMultiTexCoord3i : Glcaml.glenum -> int -> int -> int -> unit
    = "glstub_glMultiTexCoord3i"
  external glMultiTexCoord3iv : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glMultiTexCoord3iv"
  external glMultiTexCoord3s : Glcaml.glenum -> int -> int -> int -> unit
    = "glstub_glMultiTexCoord3s"
  external glMultiTexCoord3sv : Glcaml.glenum -> Glcaml.short_array -> unit
    = "glstub_glMultiTexCoord3sv"
  external glMultiTexCoord4d :
    Glcaml.glenum -> float -> float -> float -> float -> unit
    = "glstub_glMultiTexCoord4d"
  external glMultiTexCoord4dv : Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glMultiTexCoord4dv"
  external glMultiTexCoord4f :
    Glcaml.glenum -> float -> float -> float -> float -> unit
    = "glstub_glMultiTexCoord4f"
  external glMultiTexCoord4fv : Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glMultiTexCoord4fv"
  external glMultiTexCoord4i :
    Glcaml.glenum -> int -> int -> int -> int -> unit
    = "glstub_glMultiTexCoord4i"
  external glMultiTexCoord4iv : Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glMultiTexCoord4iv"
  external glMultiTexCoord4s :
    Glcaml.glenum -> int -> int -> int -> int -> unit
    = "glstub_glMultiTexCoord4s"
  external glMultiTexCoord4sv : Glcaml.glenum -> Glcaml.short_array -> unit
    = "glstub_glMultiTexCoord4sv"
  external glSampleCoverage : float -> bool -> unit
    = "glstub_glSampleCoverage"
  external glBlendEquation : Glcaml.glenum -> unit = "glstub_glBlendEquation"
  external glBlendColor : float -> float -> float -> float -> unit
    = "glstub_glBlendColor"
  external glFogCoordf : float -> unit = "glstub_glFogCoordf"
  external glFogCoordfv : Glcaml.float_array -> unit = "glstub_glFogCoordfv"
  external glFogCoordd : float -> unit = "glstub_glFogCoordd"
  external glFogCoorddv : Glcaml.double_array -> unit = "glstub_glFogCoorddv"
  external glFogCoordPointer :
    Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glFogCoordPointer"
  external glMultiDrawArrays :
    Glcaml.glenum -> Glcaml.int_array -> Glcaml.int_array -> int -> unit
    = "glstub_glMultiDrawArrays"
  external glMultiDrawElements :
    Glcaml.glenum ->
    Glcaml.int_array -> Glcaml.glenum -> Glcaml.glpointer -> int -> unit
    = "glstub_glMultiDrawElements"
  external glPointParameterf : Glcaml.glenum -> float -> unit
    = "glstub_glPointParameterf"
  external glPointParameterfv : Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glPointParameterfv"
  external glSecondaryColor3b : int -> int -> int -> unit
    = "glstub_glSecondaryColor3b"
  external glSecondaryColor3bv : Glcaml.byte_array -> unit
    = "glstub_glSecondaryColor3bv"
  external glSecondaryColor3d : float -> float -> float -> unit
    = "glstub_glSecondaryColor3d"
  external glSecondaryColor3dv : Glcaml.double_array -> unit
    = "glstub_glSecondaryColor3dv"
  external glSecondaryColor3f : float -> float -> float -> unit
    = "glstub_glSecondaryColor3f"
  external glSecondaryColor3fv : Glcaml.float_array -> unit
    = "glstub_glSecondaryColor3fv"
  external glSecondaryColor3i : int -> int -> int -> unit
    = "glstub_glSecondaryColor3i"
  external glSecondaryColor3iv : Glcaml.int_array -> unit
    = "glstub_glSecondaryColor3iv"
  external glSecondaryColor3s : int -> int -> int -> unit
    = "glstub_glSecondaryColor3s"
  external glSecondaryColor3sv : Glcaml.short_array -> unit
    = "glstub_glSecondaryColor3sv"
  external glSecondaryColor3ub : int -> int -> int -> unit
    = "glstub_glSecondaryColor3ub"
  external glSecondaryColor3ubv : Glcaml.ubyte_array -> unit
    = "glstub_glSecondaryColor3ubv"
  external glSecondaryColor3ui : int -> int -> int -> unit
    = "glstub_glSecondaryColor3ui"
  external glSecondaryColor3uiv : Glcaml.int_array -> unit
    = "glstub_glSecondaryColor3uiv"
  external glSecondaryColor3us : int -> int -> int -> unit
    = "glstub_glSecondaryColor3us"
  external glSecondaryColor3usv : Glcaml.ushort_array -> unit
    = "glstub_glSecondaryColor3usv"
  external glSecondaryColorPointer :
    int -> Glcaml.glenum -> int -> Glcaml.glpointer -> unit
    = "glstub_glSecondaryColorPointer"
  external glBlendFuncSeparate :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glenum -> unit
    = "glstub_glBlendFuncSeparate"
  external glWindowPos2d : float -> float -> unit = "glstub_glWindowPos2d"
  external glWindowPos2f : float -> float -> unit = "glstub_glWindowPos2f"
  external glWindowPos2i : int -> int -> unit = "glstub_glWindowPos2i"
  external glWindowPos2s : int -> int -> unit = "glstub_glWindowPos2s"
  external glWindowPos2dv : Glcaml.double_array -> unit
    = "glstub_glWindowPos2dv"
  external glWindowPos2fv : Glcaml.float_array -> unit
    = "glstub_glWindowPos2fv"
  external glWindowPos2iv : Glcaml.int_array -> unit
    = "glstub_glWindowPos2iv"
  external glWindowPos2sv : Glcaml.short_array -> unit
    = "glstub_glWindowPos2sv"
  external glWindowPos3d : float -> float -> float -> unit
    = "glstub_glWindowPos3d"
  external glWindowPos3f : float -> float -> float -> unit
    = "glstub_glWindowPos3f"
  external glWindowPos3i : int -> int -> int -> unit = "glstub_glWindowPos3i"
  external glWindowPos3s : int -> int -> int -> unit = "glstub_glWindowPos3s"
  external glWindowPos3dv : Glcaml.double_array -> unit
    = "glstub_glWindowPos3dv"
  external glWindowPos3fv : Glcaml.float_array -> unit
    = "glstub_glWindowPos3fv"
  external glWindowPos3iv : Glcaml.int_array -> unit
    = "glstub_glWindowPos3iv"
  external glWindowPos3sv : Glcaml.short_array -> unit
    = "glstub_glWindowPos3sv"
  external glGenQueries : int -> Glcaml.int_array -> unit
    = "glstub_glGenQueries"
  external glDeleteQueries : int -> Glcaml.int_array -> unit
    = "glstub_glDeleteQueries"
  external glIsQuery : int -> bool = "glstub_glIsQuery"
  external glBeginQuery : Glcaml.glenum -> int -> unit
    = "glstub_glBeginQuery"
  external glEndQuery : Glcaml.glenum -> unit = "glstub_glEndQuery"
  external glGetQueryiv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetQueryiv"
  external glGetQueryObjectiv :
    int -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetQueryObjectiv"
  external glGetQueryObjectuiv :
    int -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetQueryObjectuiv"
  external glBindBuffer : Glcaml.glenum -> int -> unit
    = "glstub_glBindBuffer"
  external glDeleteBuffers : int -> Glcaml.int_array -> unit
    = "glstub_glDeleteBuffers"
  external glGenBuffers : int -> Glcaml.int_array -> unit
    = "glstub_glGenBuffers"
  external glIsBuffer : int -> bool = "glstub_glIsBuffer"
  external glBufferData :
    Glcaml.glenum -> int -> Glcaml.glpointer -> Glcaml.glenum -> unit
    = "glstub_glBufferData"
  external glBufferSubData :
    Glcaml.glenum -> int -> int -> Glcaml.glpointer -> unit
    = "glstub_glBufferSubData"
  external glGetBufferSubData :
    Glcaml.glenum -> int -> int -> Glcaml.glpointer -> unit
    = "glstub_glGetBufferSubData"
  external glMapBuffer : Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer
    = "glstub_glMapBuffer"
  external glUnmapBuffer : Glcaml.glenum -> bool = "glstub_glUnmapBuffer"
  external glGetBufferParameteriv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetBufferParameteriv"
  external glGetBufferPointerv :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glGetBufferPointerv"
  external glBlendEquationSeparate : Glcaml.glenum -> Glcaml.glenum -> unit
    = "glstub_glBlendEquationSeparate"
  external glDrawBuffers : int -> Glcaml.int_array -> unit
    = "glstub_glDrawBuffers"
  external glStencilOpSeparate :
    Glcaml.glenum -> Glcaml.glenum -> Glcaml.glenum -> Glcaml.glenum -> unit
    = "glstub_glStencilOpSeparate"
  external glStencilFuncSeparate :
    Glcaml.glenum -> Glcaml.glenum -> int -> int -> unit
    = "glstub_glStencilFuncSeparate"
  external glStencilMaskSeparate : Glcaml.glenum -> int -> unit
    = "glstub_glStencilMaskSeparate"
  external glAttachShader : int -> int -> unit = "glstub_glAttachShader"
  external glBindAttribLocation : int -> int -> Glcaml.byte_array -> unit
    = "glstub_glBindAttribLocation"
  external glCompileShader : int -> unit = "glstub_glCompileShader"
  external glCreateProgram : unit -> int = "glstub_glCreateProgram"
  external glCreateShader : Glcaml.glenum -> int = "glstub_glCreateShader"
  external glDeleteProgram : int -> unit = "glstub_glDeleteProgram"
  external glDeleteShader : int -> unit = "glstub_glDeleteShader"
  external glDetachShader : int -> int -> unit = "glstub_glDetachShader"
  external glDisableVertexAttribArray : int -> unit
    = "glstub_glDisableVertexAttribArray"
  external glEnableVertexAttribArray : int -> unit
    = "glstub_glEnableVertexAttribArray"
  external glGetActiveAttrib :
    int ->
    int ->
    int ->
    Glcaml.int_array ->
    Glcaml.int_array -> Glcaml.int_array -> Glcaml.byte_array -> unit
    = "glstub_glGetActiveAttrib_byte" "glstub_glGetActiveAttrib"
  external glGetActiveUniform :
    int ->
    int ->
    int ->
    Glcaml.int_array ->
    Glcaml.int_array -> Glcaml.int_array -> Glcaml.byte_array -> unit
    = "glstub_glGetActiveUniform_byte" "glstub_glGetActiveUniform"
  external glGetAttachedShaders :
    int -> int -> Glcaml.int_array -> Glcaml.int_array -> unit
    = "glstub_glGetAttachedShaders"
  external glGetAttribLocation : int -> Glcaml.byte_array -> int
    = "glstub_glGetAttribLocation"
  external glGetProgramiv : int -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetProgramiv"
  external glGetProgramInfoLog :
    int -> int -> Glcaml.int_array -> Glcaml.byte_array -> unit
    = "glstub_glGetProgramInfoLog"
  external glGetShaderiv : int -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetShaderiv"
  external glGetShaderInfoLog :
    int -> int -> Glcaml.int_array -> Glcaml.byte_array -> unit
    = "glstub_glGetShaderInfoLog"
  external glShaderSource :
    int -> int -> Glcaml.byte_matrix -> Glcaml.int_array -> unit
    = "glstub_glShaderSource"
  external glGetUniformLocation : int -> Glcaml.byte_array -> int
    = "glstub_glGetUniformLocation"
  external glGetUniformfv : int -> int -> Glcaml.float_array -> unit
    = "glstub_glGetUniformfv"
  external glGetUniformiv : int -> int -> Glcaml.int_array -> unit
    = "glstub_glGetUniformiv"
  external glGetVertexAttribdv :
    int -> Glcaml.glenum -> Glcaml.double_array -> unit
    = "glstub_glGetVertexAttribdv"
  external glGetVertexAttribfv :
    int -> Glcaml.glenum -> Glcaml.float_array -> unit
    = "glstub_glGetVertexAttribfv"
  external glGetVertexAttribiv :
    int -> Glcaml.glenum -> Glcaml.int_array -> unit
    = "glstub_glGetVertexAttribiv"
  external glGetVertexAttribPointerv :
    int -> Glcaml.glenum -> Glcaml.glpointer -> unit
    = "glstub_glGetVertexAttribPointerv"
  external glIsProgram : int -> bool = "glstub_glIsProgram"
  external glIsShader : int -> bool = "glstub_glIsShader"
  external glLinkProgram : int -> unit = "glstub_glLinkProgram"
  external glGetShaderSource :
    int -> int -> Glcaml.int_array -> Glcaml.byte_array -> unit
    = "glstub_glGetShaderSource"
  external glUseProgram : int -> unit = "glstub_glUseProgram"
  external glUniform1f : int -> float -> unit = "glstub_glUniform1f"
  external glUniform1fv : int -> int -> Glcaml.float_array -> unit
    = "glstub_glUniform1fv"
  external glUniform1i : int -> int -> unit = "glstub_glUniform1i"
  external glUniform1iv : int -> int -> Glcaml.int_array -> unit
    = "glstub_glUniform1iv"
  external glUniform2f : int -> float -> float -> unit = "glstub_glUniform2f"
  external glUniform2fv : int -> int -> Glcaml.float_array -> unit
    = "glstub_glUniform2fv"
  external glUniform2i : int -> int -> int -> unit = "glstub_glUniform2i"
  external glUniform2iv : int -> int -> Glcaml.int_array -> unit
    = "glstub_glUniform2iv"
  external glUniform3f : int -> float -> float -> float -> unit
    = "glstub_glUniform3f"
  external glUniform3fv : int -> int -> Glcaml.float_array -> unit
    = "glstub_glUniform3fv"
  external glUniform3i : int -> int -> int -> int -> unit
    = "glstub_glUniform3i"
  external glUniform3iv : int -> int -> Glcaml.int_array -> unit
    = "glstub_glUniform3iv"
  external glUniform4f : int -> float -> float -> float -> float -> unit
    = "glstub_glUniform4f"
  external glUniform4fv : int -> int -> Glcaml.float_array -> unit
    = "glstub_glUniform4fv"
  external glUniform4i : int -> int -> int -> int -> int -> unit
    = "glstub_glUniform4i"
  external glUniform4iv : int -> int -> Glcaml.int_array -> unit
    = "glstub_glUniform4iv"
  external glUniformMatrix2fv :
    int -> int -> bool -> Glcaml.float_array -> unit
    = "glstub_glUniformMatrix2fv"
  external glUniformMatrix3fv :
    int -> int -> bool -> Glcaml.float_array -> unit
    = "glstub_glUniformMatrix3fv"
  external glUniformMatrix4fv :
    int -> int -> bool -> Glcaml.float_array -> unit
    = "glstub_glUniformMatrix4fv"
  external glValidateProgram : int -> unit = "glstub_glValidateProgram"
  external glVertexAttrib1d : int -> float -> unit
    = "glstub_glVertexAttrib1d"
  external glVertexAttrib1dv : int -> Glcaml.double_array -> unit
    = "glstub_glVertexAttrib1dv"
  external glVertexAttrib1f : int -> float -> unit
    = "glstub_glVertexAttrib1f"
  external glVertexAttrib1fv : int -> Glcaml.float_array -> unit
    = "glstub_glVertexAttrib1fv"
  external glVertexAttrib1s : int -> int -> unit = "glstub_glVertexAttrib1s"
  external glVertexAttrib1sv : int -> Glcaml.short_array -> unit
    = "glstub_glVertexAttrib1sv"
  external glVertexAttrib2d : int -> float -> float -> unit
    = "glstub_glVertexAttrib2d"
  external glVertexAttrib2dv : int -> Glcaml.double_array -> unit
    = "glstub_glVertexAttrib2dv"
  external glVertexAttrib2f : int -> float -> float -> unit
    = "glstub_glVertexAttrib2f"
  external glVertexAttrib2fv : int -> Glcaml.float_array -> unit
    = "glstub_glVertexAttrib2fv"
  external glVertexAttrib2s : int -> int -> int -> unit
    = "glstub_glVertexAttrib2s"
  external glVertexAttrib2sv : int -> Glcaml.short_array -> unit
    = "glstub_glVertexAttrib2sv"
  external glVertexAttrib3d : int -> float -> float -> float -> unit
    = "glstub_glVertexAttrib3d"
  external glVertexAttrib3dv : int -> Glcaml.double_array -> unit
    = "glstub_glVertexAttrib3dv"
  external glVertexAttrib3f : int -> float -> float -> float -> unit
    = "glstub_glVertexAttrib3f"
  external glVertexAttrib3fv : int -> Glcaml.float_array -> unit
    = "glstub_glVertexAttrib3fv"
  external glVertexAttrib3s : int -> int -> int -> int -> unit
    = "glstub_glVertexAttrib3s"
  external glVertexAttrib3sv : int -> Glcaml.short_array -> unit
    = "glstub_glVertexAttrib3sv"
  external glVertexAttrib4Nbv : int -> Glcaml.byte_array -> unit
    = "glstub_glVertexAttrib4Nbv"
  external glVertexAttrib4Niv : int -> Glcaml.int_array -> unit
    = "glstub_glVertexAttrib4Niv"
  external glVertexAttrib4Nsv : int -> Glcaml.short_array -> unit
    = "glstub_glVertexAttrib4Nsv"
  external glVertexAttrib4Nub : int -> int -> int -> int -> int -> unit
    = "glstub_glVertexAttrib4Nub"
  external glVertexAttrib4Nubv : int -> Glcaml.ubyte_array -> unit
    = "glstub_glVertexAttrib4Nubv"
  external glVertexAttrib4Nuiv : int -> Glcaml.int_array -> unit
    = "glstub_glVertexAttrib4Nuiv"
  external glVertexAttrib4Nusv : int -> Glcaml.ushort_array -> unit
    = "glstub_glVertexAttrib4Nusv"
  external glVertexAttrib4bv : int -> Glcaml.byte_array -> unit
    = "glstub_glVertexAttrib4bv"
  external glVertexAttrib4d : int -> float -> float -> float -> float -> unit
    = "glstub_glVertexAttrib4d"
  external glVertexAttrib4dv : int -> Glcaml.double_array -> unit
    = "glstub_glVertexAttrib4dv"
  external glVertexAttrib4f : int -> float -> float -> float -> float -> unit
    = "glstub_glVertexAttrib4f"
  external glVertexAttrib4fv : int -> Glcaml.float_array -> unit
    = "glstub_glVertexAttrib4fv"
  external glVertexAttrib4iv : int -> Glcaml.int_array -> unit
    = "glstub_glVertexAttrib4iv"
  external glVertexAttrib4s : int -> int -> int -> int -> int -> unit
    = "glstub_glVertexAttrib4s"
  external glVertexAttrib4sv : int -> Glcaml.short_array -> unit
    = "glstub_glVertexAttrib4sv"
  external glVertexAttrib4ubv : int -> Glcaml.ubyte_array -> unit
    = "glstub_glVertexAttrib4ubv"
  external glVertexAttrib4uiv : int -> Glcaml.int_array -> unit
    = "glstub_glVertexAttrib4uiv"
  external glVertexAttrib4usv : int -> Glcaml.ushort_array -> unit
    = "glstub_glVertexAttrib4usv"
  external glVertexAttribPointer :
    int -> int -> Glcaml.glenum -> bool -> int -> Glcaml.glpointer -> unit
    = "glstub_glVertexAttribPointer_byte" "glstub_glVertexAttribPointer"
end