sig
  type ('a, 'b) bigarray = ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t
  val bigarray_byte_size : ('a, 'b) Tgl4.Gl.bigarray -> int
  val string_of_bigarray :
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> string
  type bitfield = int
  type enum = int
  type enum_bigarray = (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray
  type int16 = int
  type sync
  type uint32_bigarray = (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray
  type uint64 = int64
  type uint64_bigarray = (int64, Bigarray.int64_elt) Tgl4.Gl.bigarray
  type uint8 = int
  type debug_proc =
      Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> Tgl4.Gl.enum -> string -> unit
  val active_shader_program : int -> int -> unit
  val active_texture : Tgl4.Gl.enum -> unit
  val attach_shader : int -> int -> unit
  val begin_conditional_render : int -> Tgl4.Gl.enum -> unit
  val begin_query : Tgl4.Gl.enum -> int -> unit
  val begin_query_indexed : Tgl4.Gl.enum -> int -> int -> unit
  val begin_transform_feedback : Tgl4.Gl.enum -> unit
  val bind_attrib_location : int -> int -> string -> unit
  val bind_buffer : Tgl4.Gl.enum -> int -> unit
  val bind_buffer_base : Tgl4.Gl.enum -> int -> int -> unit
  val bind_buffer_range : Tgl4.Gl.enum -> int -> int -> int -> int -> unit
  val bind_buffers_base :
    Tgl4.Gl.enum -> int -> int -> Tgl4.Gl.uint32_bigarray option -> unit
  val bind_buffers_range :
    Tgl4.Gl.enum ->
    int ->
    int ->
    Tgl4.Gl.uint32_bigarray option ->
    (nativeint, Bigarray.nativeint_elt) Tgl4.Gl.bigarray option ->
    (nativeint, Bigarray.nativeint_elt) Tgl4.Gl.bigarray option -> unit
  val bind_frag_data_location : int -> int -> string -> unit
  val bind_frag_data_location_indexed : int -> int -> int -> string -> unit
  val bind_framebuffer : Tgl4.Gl.enum -> int -> unit
  val bind_image_texture :
    int -> int -> int -> bool -> int -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> unit
  val bind_image_textures :
    int -> int -> Tgl4.Gl.uint32_bigarray option -> unit
  val bind_program_pipeline : int -> unit
  val bind_renderbuffer : Tgl4.Gl.enum -> int -> unit
  val bind_sampler : int -> int -> unit
  val bind_samplers : int -> int -> Tgl4.Gl.uint32_bigarray option -> unit
  val bind_texture : Tgl4.Gl.enum -> int -> unit
  val bind_texture_unit : int -> int -> unit
  val bind_textures : int -> int -> Tgl4.Gl.uint32_bigarray option -> unit
  val bind_transform_feedback : Tgl4.Gl.enum -> int -> unit
  val bind_vertex_array : int -> unit
  val bind_vertex_buffer : int -> int -> int -> int -> unit
  val bind_vertex_buffers :
    int ->
    int ->
    Tgl4.Gl.uint32_bigarray option ->
    (nativeint, Bigarray.nativeint_elt) Tgl4.Gl.bigarray option ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option -> unit
  val blend_color : float -> float -> float -> float -> unit
  val blend_equation : Tgl4.Gl.enum -> unit
  val blend_equation_separate : Tgl4.Gl.enum -> Tgl4.Gl.enum -> unit
  val blend_equation_separatei : int -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> unit
  val blend_equationi : int -> Tgl4.Gl.enum -> unit
  val blend_func : Tgl4.Gl.enum -> Tgl4.Gl.enum -> unit
  val blend_func_separate :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> unit
  val blend_func_separatei :
    int ->
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> unit
  val blend_funci : int -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> unit
  val blit_framebuffer :
    int ->
    int ->
    int ->
    int ->
    int -> int -> int -> int -> Tgl4.Gl.bitfield -> Tgl4.Gl.enum -> unit
  val blit_named_framebuffer :
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int -> int -> int -> int -> Tgl4.Gl.bitfield -> Tgl4.Gl.enum -> unit
  val buffer_data :
    Tgl4.Gl.enum ->
    int -> ('a, 'b) Tgl4.Gl.bigarray option -> Tgl4.Gl.enum -> unit
  val buffer_storage :
    Tgl4.Gl.enum ->
    int -> ('a, 'b) Tgl4.Gl.bigarray option -> Tgl4.Gl.bitfield -> unit
  val buffer_sub_data :
    Tgl4.Gl.enum -> int -> int -> ('a, 'b) Tgl4.Gl.bigarray option -> unit
  val check_framebuffer_status : Tgl4.Gl.enum -> Tgl4.Gl.enum
  val check_named_framebuffer_status : int -> Tgl4.Gl.enum -> Tgl4.Gl.enum
  val clamp_color : Tgl4.Gl.enum -> Tgl4.Gl.enum -> unit
  val clear : Tgl4.Gl.bitfield -> unit
  val clear_buffer_data :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> ('a, 'b) Tgl4.Gl.bigarray option -> unit
  val clear_buffer_sub_data :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    int ->
    int ->
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> ('a, 'b) Tgl4.Gl.bigarray option -> unit
  val clear_bufferfi : Tgl4.Gl.enum -> int -> float -> int -> unit
  val clear_bufferfv :
    Tgl4.Gl.enum ->
    int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val clear_bufferiv :
    Tgl4.Gl.enum ->
    int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val clear_bufferuiv :
    Tgl4.Gl.enum -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val clear_color : float -> float -> float -> float -> unit
  val clear_depth : float -> unit
  val clear_depthf : float -> unit
  val clear_named_buffer_data :
    int ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val clear_named_buffer_sub_data :
    int ->
    Tgl4.Gl.enum ->
    int ->
    int -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val clear_named_framebufferfi :
    int -> Tgl4.Gl.enum -> int -> float -> int -> unit
  val clear_named_framebufferfv :
    int ->
    Tgl4.Gl.enum ->
    int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val clear_named_framebufferiv :
    int ->
    Tgl4.Gl.enum ->
    int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val clear_named_framebufferuiv :
    int -> Tgl4.Gl.enum -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val clear_stencil : int -> unit
  val clear_tex_image :
    int ->
    int ->
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> ('a, 'b) Tgl4.Gl.bigarray option -> unit
  val clear_tex_sub_image :
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> ('a, 'b) Tgl4.Gl.bigarray option -> unit
  val client_wait_sync :
    Tgl4.Gl.sync -> Tgl4.Gl.bitfield -> Tgl4.Gl.uint64 -> Tgl4.Gl.enum
  val clip_control : Tgl4.Gl.enum -> Tgl4.Gl.enum -> unit
  val color_mask : bool -> bool -> bool -> bool -> unit
  val color_maski : int -> bool -> bool -> bool -> bool -> unit
  val compile_shader : int -> unit
  val compressed_tex_image1d :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum ->
    int ->
    int ->
    int -> [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val compressed_tex_image2d :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    int -> [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val compressed_tex_image3d :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    int ->
    int -> [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val compressed_tex_sub_image1d :
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum ->
    int -> [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val compressed_tex_sub_image2d :
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum ->
    int -> [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val compressed_tex_sub_image3d :
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum ->
    int -> [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val compressed_texture_sub_image1d :
    int ->
    int ->
    int -> int -> Tgl4.Gl.enum -> int -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val compressed_texture_sub_image2d :
    int ->
    int ->
    int ->
    int ->
    int -> int -> Tgl4.Gl.enum -> int -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val compressed_texture_sub_image3d :
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int -> int -> Tgl4.Gl.enum -> int -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val copy_buffer_sub_data :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> int -> int -> unit
  val copy_image_sub_data :
    int ->
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum -> int -> int -> int -> int -> int -> int -> int -> unit
  val copy_named_buffer_sub_data : int -> int -> int -> int -> int -> unit
  val copy_tex_image1d :
    Tgl4.Gl.enum -> int -> Tgl4.Gl.enum -> int -> int -> int -> int -> unit
  val copy_tex_image2d :
    Tgl4.Gl.enum ->
    int -> Tgl4.Gl.enum -> int -> int -> int -> int -> int -> unit
  val copy_tex_sub_image1d :
    Tgl4.Gl.enum -> int -> int -> int -> int -> int -> unit
  val copy_tex_sub_image2d :
    Tgl4.Gl.enum -> int -> int -> int -> int -> int -> int -> int -> unit
  val copy_tex_sub_image3d :
    Tgl4.Gl.enum ->
    int -> int -> int -> int -> int -> int -> int -> int -> unit
  val copy_texture_sub_image1d :
    int -> int -> int -> int -> int -> int -> unit
  val copy_texture_sub_image2d :
    int -> int -> int -> int -> int -> int -> int -> int -> unit
  val copy_texture_sub_image3d :
    int -> int -> int -> int -> int -> int -> int -> int -> int -> unit
  val create_buffers : int -> Tgl4.Gl.uint32_bigarray -> unit
  val create_framebuffers : int -> Tgl4.Gl.uint32_bigarray -> unit
  val create_program : unit -> int
  val create_program_pipelines : int -> Tgl4.Gl.uint32_bigarray -> unit
  val create_queries : Tgl4.Gl.enum -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val create_renderbuffers : int -> Tgl4.Gl.uint32_bigarray -> unit
  val create_samplers : int -> Tgl4.Gl.uint32_bigarray -> unit
  val create_shader : Tgl4.Gl.enum -> int
  val create_shader_programv : Tgl4.Gl.enum -> string -> int
  val create_textures :
    Tgl4.Gl.enum -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val create_transform_feedbacks : int -> Tgl4.Gl.uint32_bigarray -> unit
  val create_vertex_arrays : int -> Tgl4.Gl.uint32_bigarray -> unit
  val cull_face : Tgl4.Gl.enum -> unit
  val debug_message_callback : Tgl4.Gl.debug_proc -> unit
  val debug_message_control :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> int -> Tgl4.Gl.uint32_bigarray option -> bool -> unit
  val debug_message_insert :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> int -> Tgl4.Gl.enum -> int -> string -> unit
  val delete_buffers : int -> Tgl4.Gl.uint32_bigarray -> unit
  val delete_framebuffers : int -> Tgl4.Gl.uint32_bigarray -> unit
  val delete_program : int -> unit
  val delete_program_pipelines : int -> Tgl4.Gl.uint32_bigarray -> unit
  val delete_queries : int -> Tgl4.Gl.uint32_bigarray -> unit
  val delete_renderbuffers : int -> Tgl4.Gl.uint32_bigarray -> unit
  val delete_samplers : int -> Tgl4.Gl.uint32_bigarray -> unit
  val delete_shader : int -> unit
  val delete_sync : Tgl4.Gl.sync -> unit
  val delete_textures : int -> Tgl4.Gl.uint32_bigarray -> unit
  val delete_transform_feedbacks : int -> Tgl4.Gl.uint32_bigarray -> unit
  val delete_vertex_arrays : int -> Tgl4.Gl.uint32_bigarray -> unit
  val depth_func : Tgl4.Gl.enum -> unit
  val depth_mask : bool -> unit
  val depth_range : float -> float -> unit
  val depth_range_arrayv :
    int -> int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val depth_range_indexed : int -> float -> float -> unit
  val depth_rangef : float -> float -> unit
  val detach_shader : int -> int -> unit
  val disable : Tgl4.Gl.enum -> unit
  val disable_vertex_array_attrib : int -> int -> unit
  val disable_vertex_attrib_array : int -> unit
  val disablei : Tgl4.Gl.enum -> int -> unit
  val dispatch_compute : int -> int -> int -> unit
  val dispatch_compute_indirect : int -> unit
  val draw_arrays : Tgl4.Gl.enum -> int -> int -> unit
  val draw_arrays_indirect :
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val draw_arrays_instanced : Tgl4.Gl.enum -> int -> int -> int -> unit
  val draw_arrays_instanced_base_instance :
    Tgl4.Gl.enum -> int -> int -> int -> int -> unit
  val draw_buffer : Tgl4.Gl.enum -> unit
  val draw_buffers : int -> Tgl4.Gl.enum_bigarray -> unit
  val draw_elements :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val draw_elements_base_vertex :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> int -> unit
  val draw_elements_indirect :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val draw_elements_instanced :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> int -> unit
  val draw_elements_instanced_base_instance :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] ->
    int -> int -> unit
  val draw_elements_instanced_base_vertex :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] ->
    int -> int -> unit
  val draw_elements_instanced_base_vertex_base_instance :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] ->
    int -> int -> int -> unit
  val draw_range_elements :
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val draw_range_elements_base_vertex :
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> int -> unit
  val draw_transform_feedback : Tgl4.Gl.enum -> int -> unit
  val draw_transform_feedback_instanced : Tgl4.Gl.enum -> int -> int -> unit
  val draw_transform_feedback_stream : Tgl4.Gl.enum -> int -> int -> unit
  val draw_transform_feedback_stream_instanced :
    Tgl4.Gl.enum -> int -> int -> int -> unit
  val enable : Tgl4.Gl.enum -> unit
  val enable_vertex_array_attrib : int -> int -> unit
  val enable_vertex_attrib_array : int -> unit
  val enablei : Tgl4.Gl.enum -> int -> unit
  val end_conditional_render : unit -> unit
  val end_query : Tgl4.Gl.enum -> unit
  val end_query_indexed : Tgl4.Gl.enum -> int -> unit
  val end_transform_feedback : unit -> unit
  val fence_sync : Tgl4.Gl.enum -> Tgl4.Gl.bitfield -> Tgl4.Gl.sync
  val finish : unit -> unit
  val flush : unit -> unit
  val flush_mapped_buffer_range : Tgl4.Gl.enum -> int -> int -> unit
  val flush_mapped_named_buffer_range : int -> int -> int -> unit
  val framebuffer_parameteri : Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> unit
  val framebuffer_renderbuffer :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> unit
  val framebuffer_texture :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> int -> unit
  val framebuffer_texture1d :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> int -> unit
  val framebuffer_texture2d :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> int -> unit
  val framebuffer_texture3d :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> int -> int -> unit
  val framebuffer_texture_layer :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> int -> int -> unit
  val front_face : Tgl4.Gl.enum -> unit
  val gen_buffers : int -> Tgl4.Gl.uint32_bigarray -> unit
  val gen_framebuffers : int -> Tgl4.Gl.uint32_bigarray -> unit
  val gen_program_pipelines : int -> Tgl4.Gl.uint32_bigarray -> unit
  val gen_queries : int -> Tgl4.Gl.uint32_bigarray -> unit
  val gen_renderbuffers : int -> Tgl4.Gl.uint32_bigarray -> unit
  val gen_samplers : int -> Tgl4.Gl.uint32_bigarray -> unit
  val gen_textures : int -> Tgl4.Gl.uint32_bigarray -> unit
  val gen_transform_feedbacks : int -> Tgl4.Gl.uint32_bigarray -> unit
  val gen_vertex_arrays : int -> Tgl4.Gl.uint32_bigarray -> unit
  val generate_mipmap : Tgl4.Gl.enum -> unit
  val generate_texture_mipmap : int -> unit
  val get_active_atomic_counter_bufferiv :
    int ->
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_active_attrib :
    int ->
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray ->
    Tgl4.Gl.enum_bigarray ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_active_subroutine_name :
    int ->
    Tgl4.Gl.enum ->
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_active_subroutine_uniform_name :
    int ->
    Tgl4.Gl.enum ->
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_active_subroutine_uniformiv :
    int ->
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_active_uniform :
    int ->
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray ->
    Tgl4.Gl.enum_bigarray ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_active_uniform_block_name :
    int ->
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_active_uniform_blockiv :
    int ->
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_active_uniform_name :
    int ->
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_active_uniformsiv :
    int ->
    int ->
    Tgl4.Gl.uint32_bigarray ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_attached_shaders :
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    Tgl4.Gl.uint32_bigarray -> unit
  val get_attrib_location : int -> string -> int
  val get_booleani_v :
    Tgl4.Gl.enum ->
    int -> (int, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_booleanv :
    Tgl4.Gl.enum ->
    (int, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_buffer_parameteri64v :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (int64, Bigarray.int64_elt) Tgl4.Gl.bigarray -> unit
  val get_buffer_parameteriv :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_buffer_pointerv :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    (nativeint, Bigarray.nativeint_elt) Tgl4.Gl.bigarray -> unit
  val get_buffer_sub_data :
    Tgl4.Gl.enum -> int -> int -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val get_compressed_tex_image :
    Tgl4.Gl.enum ->
    int -> [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val get_compressed_texture_image :
    int -> int -> int -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val get_compressed_texture_sub_image :
    int ->
    int ->
    int ->
    int ->
    int -> int -> int -> int -> int -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val get_debug_message_log :
    int ->
    int ->
    Tgl4.Gl.enum_bigarray ->
    Tgl4.Gl.enum_bigarray ->
    Tgl4.Gl.uint32_bigarray option ->
    Tgl4.Gl.enum_bigarray ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray option -> int
  val get_doublei_v :
    Tgl4.Gl.enum ->
    int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val get_doublev :
    Tgl4.Gl.enum -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val get_error : unit -> Tgl4.Gl.enum
  val get_floati_v :
    Tgl4.Gl.enum ->
    int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val get_floatv :
    Tgl4.Gl.enum -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val get_frag_data_index : int -> string -> int
  val get_frag_data_location : int -> string -> int
  val get_framebuffer_attachment_parameteriv :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_framebuffer_parameteriv :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_graphics_reset_status : unit -> Tgl4.Gl.enum
  val get_integer64i_v :
    Tgl4.Gl.enum ->
    int -> (int64, Bigarray.int64_elt) Tgl4.Gl.bigarray -> unit
  val get_integer64v :
    Tgl4.Gl.enum -> (int64, Bigarray.int64_elt) Tgl4.Gl.bigarray -> unit
  val get_integeri_v :
    Tgl4.Gl.enum ->
    int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_integerv :
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_internalformati64v :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    int -> (int64, Bigarray.int64_elt) Tgl4.Gl.bigarray -> unit
  val get_internalformativ :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_multisamplefv :
    Tgl4.Gl.enum ->
    int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val get_named_buffer_parameteri64v :
    int ->
    Tgl4.Gl.enum -> (int64, Bigarray.int64_elt) Tgl4.Gl.bigarray -> unit
  val get_named_buffer_parameteriv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_named_buffer_pointerv :
    int ->
    Tgl4.Gl.enum ->
    (nativeint, Bigarray.nativeint_elt) Tgl4.Gl.bigarray -> unit
  val get_named_buffer_sub_data :
    int -> int -> int -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val get_named_framebuffer_attachment_parameteriv :
    int ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_named_framebuffer_parameteriv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_named_renderbuffer_parameteriv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_object_label :
    Tgl4.Gl.enum ->
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_object_ptr_label :
    ('a, 'b) Tgl4.Gl.bigarray ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_pointerv :
    Tgl4.Gl.enum ->
    (nativeint, Bigarray.nativeint_elt) Tgl4.Gl.bigarray -> unit
  val get_program_binary :
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    Tgl4.Gl.enum_bigarray -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val get_program_info_log :
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_program_interfaceiv :
    int ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_program_pipeline_info_log :
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_program_pipelineiv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_program_resource_index : int -> Tgl4.Gl.enum -> string -> int
  val get_program_resource_location : int -> Tgl4.Gl.enum -> string -> int
  val get_program_resource_location_index :
    int -> Tgl4.Gl.enum -> string -> int
  val get_program_resource_name :
    int ->
    Tgl4.Gl.enum ->
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_program_resourceiv :
    int ->
    Tgl4.Gl.enum ->
    int ->
    int ->
    Tgl4.Gl.enum_bigarray ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_program_stageiv :
    int ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_programiv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_query_buffer_objecti64v : int -> int -> Tgl4.Gl.enum -> int -> unit
  val get_query_buffer_objectiv : int -> int -> Tgl4.Gl.enum -> int -> unit
  val get_query_buffer_objectui64v :
    int -> int -> Tgl4.Gl.enum -> int -> unit
  val get_query_buffer_objectuiv : int -> int -> Tgl4.Gl.enum -> int -> unit
  val get_query_indexediv :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_query_objecti64v :
    int ->
    Tgl4.Gl.enum -> (int64, Bigarray.int64_elt) Tgl4.Gl.bigarray -> unit
  val get_query_objectiv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_query_objectui64v :
    int -> Tgl4.Gl.enum -> Tgl4.Gl.uint64_bigarray -> unit
  val get_query_objectuiv :
    int -> Tgl4.Gl.enum -> Tgl4.Gl.uint32_bigarray -> unit
  val get_queryiv :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_renderbuffer_parameteriv :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_sampler_parameter_iiv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_sampler_parameter_iuiv :
    int -> Tgl4.Gl.enum -> Tgl4.Gl.uint32_bigarray -> unit
  val get_sampler_parameterfv :
    int ->
    Tgl4.Gl.enum -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val get_sampler_parameteriv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_shader_info_log :
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_shader_precision_format :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_shader_source :
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_shaderiv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_string : Tgl4.Gl.enum -> string option
  val get_stringi : Tgl4.Gl.enum -> int -> string option
  val get_subroutine_index : int -> Tgl4.Gl.enum -> string -> int
  val get_subroutine_uniform_location : int -> Tgl4.Gl.enum -> string -> int
  val get_synciv :
    Tgl4.Gl.sync ->
    Tgl4.Gl.enum ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_tex_image :
    Tgl4.Gl.enum ->
    int -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val get_tex_level_parameterfv :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val get_tex_level_parameteriv :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_tex_parameter_iiv :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_tex_parameter_iuiv :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> Tgl4.Gl.uint32_bigarray -> unit
  val get_tex_parameterfv :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val get_tex_parameteriv :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_texture_image :
    int ->
    int ->
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val get_texture_level_parameterfv :
    int ->
    int ->
    Tgl4.Gl.enum -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val get_texture_level_parameteriv :
    int ->
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_texture_parameter_iiv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_texture_parameter_iuiv :
    int -> Tgl4.Gl.enum -> Tgl4.Gl.uint32_bigarray -> unit
  val get_texture_parameterfv :
    int ->
    Tgl4.Gl.enum -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val get_texture_parameteriv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_texture_sub_image :
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val get_transform_feedback_varying :
    int ->
    int ->
    int ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray ->
    Tgl4.Gl.enum_bigarray ->
    (char, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val get_transform_feedbacki64_v :
    int ->
    Tgl4.Gl.enum ->
    int -> (int64, Bigarray.int64_elt) Tgl4.Gl.bigarray -> unit
  val get_transform_feedbacki_v :
    int ->
    Tgl4.Gl.enum ->
    int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_transform_feedbackiv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_uniform_block_index : int -> string -> int
  val get_uniform_indices :
    int -> string list -> Tgl4.Gl.uint32_bigarray -> unit
  val get_uniform_location : int -> string -> int
  val get_uniform_subroutineuiv :
    Tgl4.Gl.enum -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val get_uniformdv :
    int -> int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val get_uniformfv :
    int -> int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val get_uniformiv :
    int -> int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_uniformuiv : int -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val get_vertex_array_indexed64iv :
    int ->
    int ->
    Tgl4.Gl.enum -> (int64, Bigarray.int64_elt) Tgl4.Gl.bigarray -> unit
  val get_vertex_array_indexediv :
    int ->
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_vertex_arrayiv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_vertex_attrib_iiv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val get_vertex_attrib_iuiv :
    int -> Tgl4.Gl.enum -> Tgl4.Gl.uint32_bigarray -> unit
  val get_vertex_attrib_ldv :
    int ->
    Tgl4.Gl.enum -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val get_vertex_attrib_pointerv :
    int ->
    Tgl4.Gl.enum ->
    (nativeint, Bigarray.nativeint_elt) Tgl4.Gl.bigarray -> unit
  val get_vertex_attribdv :
    int ->
    Tgl4.Gl.enum -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val get_vertex_attribfv :
    int ->
    Tgl4.Gl.enum -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val get_vertex_attribiv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val getn_compressed_tex_image :
    Tgl4.Gl.enum -> int -> int -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val getn_tex_image :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val getn_uniformdv :
    int ->
    int -> int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val getn_uniformfv :
    int ->
    int -> int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val getn_uniformiv :
    int -> int -> int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val getn_uniformuiv : int -> int -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val hint : Tgl4.Gl.enum -> Tgl4.Gl.enum -> unit
  val invalidate_buffer_data : int -> unit
  val invalidate_buffer_sub_data : int -> int -> int -> unit
  val invalidate_framebuffer :
    Tgl4.Gl.enum -> int -> Tgl4.Gl.enum_bigarray -> unit
  val invalidate_named_framebuffer_data :
    int -> int -> Tgl4.Gl.enum_bigarray -> unit
  val invalidate_named_framebuffer_sub_data :
    int -> int -> Tgl4.Gl.enum_bigarray -> int -> int -> int -> int -> unit
  val invalidate_sub_framebuffer :
    Tgl4.Gl.enum ->
    int -> Tgl4.Gl.enum_bigarray -> int -> int -> int -> int -> unit
  val invalidate_tex_image : int -> int -> unit
  val invalidate_tex_sub_image :
    int -> int -> int -> int -> int -> int -> int -> int -> unit
  val is_buffer : int -> bool
  val is_enabled : Tgl4.Gl.enum -> bool
  val is_enabledi : Tgl4.Gl.enum -> int -> bool
  val is_framebuffer : int -> bool
  val is_program : int -> bool
  val is_program_pipeline : int -> bool
  val is_query : int -> bool
  val is_renderbuffer : int -> bool
  val is_sampler : int -> bool
  val is_shader : int -> bool
  val is_sync : Tgl4.Gl.sync -> bool
  val is_texture : int -> bool
  val is_transform_feedback : int -> bool
  val is_vertex_array : int -> bool
  val line_width : float -> unit
  val link_program : int -> unit
  val logic_op : Tgl4.Gl.enum -> unit
  val map_buffer :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum -> ('a, 'b) Bigarray.kind -> ('a, 'b) Tgl4.Gl.bigarray
  val map_buffer_range :
    Tgl4.Gl.enum ->
    int ->
    int ->
    Tgl4.Gl.enum -> ('a, 'b) Bigarray.kind -> ('a, 'b) Tgl4.Gl.bigarray
  val map_named_buffer :
    Tgl4.Gl.enum ->
    int ->
    Tgl4.Gl.enum -> ('a, 'b) Bigarray.kind -> ('a, 'b) Tgl4.Gl.bigarray
  val map_named_buffer_range :
    Tgl4.Gl.enum ->
    int ->
    int ->
    Tgl4.Gl.enum -> ('a, 'b) Bigarray.kind -> ('a, 'b) Tgl4.Gl.bigarray
  val memory_barrier : Tgl4.Gl.bitfield -> unit
  val memory_barrier_by_region : Tgl4.Gl.bitfield -> unit
  val min_sample_shading : float -> unit
  val multi_draw_arrays :
    Tgl4.Gl.enum ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> int -> unit
  val multi_draw_arrays_indirect :
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] ->
    int -> int -> unit
  val multi_draw_elements :
    Tgl4.Gl.enum ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray ->
    Tgl4.Gl.enum -> ('a, 'b) Tgl4.Gl.bigarray -> int -> unit
  val multi_draw_elements_base_vertex :
    Tgl4.Gl.enum ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray ->
    Tgl4.Gl.enum ->
    ('a, 'b) Tgl4.Gl.bigarray ->
    int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val multi_draw_elements_indirect :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] ->
    int -> int -> unit
  val named_buffer_data :
    int -> int -> ('a, 'b) Tgl4.Gl.bigarray -> Tgl4.Gl.enum -> unit
  val named_buffer_storage :
    int -> int -> ('a, 'b) Tgl4.Gl.bigarray -> Tgl4.Gl.bitfield -> unit
  val named_buffer_sub_data :
    int -> int -> int -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val named_framebuffer_draw_buffer : int -> Tgl4.Gl.enum -> unit
  val named_framebuffer_draw_buffers :
    int -> int -> Tgl4.Gl.enum_bigarray -> unit
  val named_framebuffer_parameteri : int -> Tgl4.Gl.enum -> int -> unit
  val named_framebuffer_read_buffer : int -> Tgl4.Gl.enum -> unit
  val named_framebuffer_renderbuffer :
    int -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> unit
  val named_framebuffer_texture : int -> Tgl4.Gl.enum -> int -> int -> unit
  val named_framebuffer_texture_layer :
    int -> Tgl4.Gl.enum -> int -> int -> int -> unit
  val named_renderbuffer_storage : int -> Tgl4.Gl.enum -> int -> int -> unit
  val named_renderbuffer_storage_multisample :
    int -> int -> Tgl4.Gl.enum -> int -> int -> unit
  val object_label : Tgl4.Gl.enum -> int -> int -> string option -> unit
  val object_ptr_label :
    ('a, 'b) Tgl4.Gl.bigarray -> int -> string option -> unit
  val patch_parameterfv :
    Tgl4.Gl.enum -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val patch_parameteri : Tgl4.Gl.enum -> int -> unit
  val pause_transform_feedback : unit -> unit
  val pixel_storef : Tgl4.Gl.enum -> float -> unit
  val pixel_storei : Tgl4.Gl.enum -> int -> unit
  val point_parameterf : Tgl4.Gl.enum -> float -> unit
  val point_parameterfv :
    Tgl4.Gl.enum -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val point_parameteri : Tgl4.Gl.enum -> int -> unit
  val point_parameteriv :
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val point_size : float -> unit
  val polygon_mode : Tgl4.Gl.enum -> Tgl4.Gl.enum -> unit
  val polygon_offset : float -> float -> unit
  val pop_debug_group : unit -> unit
  val primitive_restart_index : int -> unit
  val program_binary :
    int -> Tgl4.Gl.enum -> ('a, 'b) Tgl4.Gl.bigarray -> int -> unit
  val program_parameteri : int -> Tgl4.Gl.enum -> int -> unit
  val program_uniform1d : int -> int -> float -> unit
  val program_uniform1dv :
    int ->
    int -> int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform1f : int -> int -> float -> unit
  val program_uniform1fv :
    int ->
    int -> int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform1i : int -> int -> int -> unit
  val program_uniform1iv :
    int -> int -> int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform1ui : int -> int -> int -> unit
  val program_uniform1uiv :
    int -> int -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val program_uniform2d : int -> int -> float -> float -> unit
  val program_uniform2dv :
    int ->
    int -> int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform2f : int -> int -> float -> float -> unit
  val program_uniform2fv :
    int ->
    int -> int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform2i : int -> int -> int -> int -> unit
  val program_uniform2iv :
    int -> int -> int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform2ui : int -> int -> int -> int -> unit
  val program_uniform2uiv :
    int -> int -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val program_uniform3d : int -> int -> float -> float -> float -> unit
  val program_uniform3dv :
    int ->
    int -> int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform3f : int -> int -> float -> float -> float -> unit
  val program_uniform3fv :
    int ->
    int -> int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform3i : int -> int -> int -> int -> int -> unit
  val program_uniform3iv :
    int -> int -> int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform3ui : int -> int -> int -> int -> int -> unit
  val program_uniform3uiv :
    int -> int -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val program_uniform4d :
    int -> int -> float -> float -> float -> float -> unit
  val program_uniform4dv :
    int ->
    int -> int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform4f :
    int -> int -> float -> float -> float -> float -> unit
  val program_uniform4fv :
    int ->
    int -> int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform4i : int -> int -> int -> int -> int -> int -> unit
  val program_uniform4iv :
    int -> int -> int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform4ui : int -> int -> int -> int -> int -> int -> unit
  val program_uniform4uiv :
    int -> int -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val program_uniform_matrix2dv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix2fv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix2x3dv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix2x3fv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix2x4dv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix2x4fv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix3dv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix3fv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix3x2dv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix3x2fv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix3x4dv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix3x4fv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix4dv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix4fv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix4x2dv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix4x2fv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix4x3dv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val program_uniform_matrix4x3fv :
    int ->
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val provoking_vertex : Tgl4.Gl.enum -> unit
  val push_debug_group : Tgl4.Gl.enum -> int -> int -> string -> unit
  val query_counter : int -> Tgl4.Gl.enum -> unit
  val read_buffer : Tgl4.Gl.enum -> unit
  val read_pixels :
    int ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val readn_pixels :
    int ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val release_shader_compiler : unit -> unit
  val renderbuffer_storage :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> int -> unit
  val renderbuffer_storage_multisample :
    Tgl4.Gl.enum -> int -> Tgl4.Gl.enum -> int -> int -> unit
  val resume_transform_feedback : unit -> unit
  val sample_coverage : float -> bool -> unit
  val sample_maski : int -> Tgl4.Gl.bitfield -> unit
  val sampler_parameter_iiv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val sampler_parameter_iuiv :
    int -> Tgl4.Gl.enum -> Tgl4.Gl.uint32_bigarray -> unit
  val sampler_parameterf : int -> Tgl4.Gl.enum -> float -> unit
  val sampler_parameterfv :
    int ->
    Tgl4.Gl.enum -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val sampler_parameteri : int -> Tgl4.Gl.enum -> int -> unit
  val sampler_parameteriv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val scissor : int -> int -> int -> int -> unit
  val scissor_arrayv :
    int -> int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val scissor_indexed : int -> int -> int -> int -> int -> unit
  val scissor_indexedv :
    int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val shader_binary :
    int ->
    Tgl4.Gl.uint32_bigarray ->
    Tgl4.Gl.enum -> ('a, 'b) Tgl4.Gl.bigarray -> int -> unit
  val shader_source : int -> string -> unit
  val shader_storage_block_binding : int -> int -> int -> unit
  val stencil_func : Tgl4.Gl.enum -> int -> int -> unit
  val stencil_func_separate :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> int -> unit
  val stencil_mask : int -> unit
  val stencil_mask_separate : Tgl4.Gl.enum -> int -> unit
  val stencil_op : Tgl4.Gl.enum -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> unit
  val stencil_op_separate :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> unit
  val tex_buffer : Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> unit
  val tex_buffer_range :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> int -> int -> unit
  val tex_image1d :
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val tex_image2d :
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val tex_image2d_multisample :
    Tgl4.Gl.enum -> int -> Tgl4.Gl.enum -> int -> int -> bool -> unit
  val tex_image3d :
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val tex_image3d_multisample :
    Tgl4.Gl.enum -> int -> Tgl4.Gl.enum -> int -> int -> int -> bool -> unit
  val tex_parameter_iiv :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val tex_parameter_iuiv :
    Tgl4.Gl.enum -> Tgl4.Gl.enum -> Tgl4.Gl.uint32_bigarray -> unit
  val tex_parameterf : Tgl4.Gl.enum -> Tgl4.Gl.enum -> float -> unit
  val tex_parameterfv :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val tex_parameteri : Tgl4.Gl.enum -> Tgl4.Gl.enum -> int -> unit
  val tex_parameteriv :
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val tex_storage1d : Tgl4.Gl.enum -> int -> Tgl4.Gl.enum -> int -> unit
  val tex_storage2d :
    Tgl4.Gl.enum -> int -> Tgl4.Gl.enum -> int -> int -> unit
  val tex_storage2d_multisample :
    Tgl4.Gl.enum -> int -> Tgl4.Gl.enum -> int -> int -> bool -> unit
  val tex_storage3d :
    Tgl4.Gl.enum -> int -> Tgl4.Gl.enum -> int -> int -> int -> unit
  val tex_storage3d_multisample :
    Tgl4.Gl.enum -> int -> Tgl4.Gl.enum -> int -> int -> int -> bool -> unit
  val tex_sub_image1d :
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val tex_sub_image2d :
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val tex_sub_image3d :
    Tgl4.Gl.enum ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    Tgl4.Gl.enum ->
    Tgl4.Gl.enum ->
    [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val texture_barrier : unit -> unit
  val texture_buffer : int -> Tgl4.Gl.enum -> int -> unit
  val texture_buffer_range : int -> Tgl4.Gl.enum -> int -> int -> int -> unit
  val texture_parameter_iiv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val texture_parameter_iuiv :
    int -> Tgl4.Gl.enum -> Tgl4.Gl.uint32_bigarray -> unit
  val texture_parameterf : int -> Tgl4.Gl.enum -> float -> unit
  val texture_parameterfv :
    int ->
    Tgl4.Gl.enum -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val texture_parameteri : int -> Tgl4.Gl.enum -> int -> unit
  val texture_parameteriv :
    int ->
    Tgl4.Gl.enum -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val texture_storage1d : int -> int -> Tgl4.Gl.enum -> int -> unit
  val texture_storage2d : int -> int -> Tgl4.Gl.enum -> int -> int -> unit
  val texture_storage2d_multisample :
    int -> int -> Tgl4.Gl.enum -> int -> int -> bool -> unit
  val texture_storage3d :
    int -> int -> Tgl4.Gl.enum -> int -> int -> int -> unit
  val texture_storage3d_multisample :
    int -> int -> Tgl4.Gl.enum -> int -> int -> int -> bool -> unit
  val texture_sub_image1d :
    int ->
    int ->
    int ->
    int -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val texture_sub_image2d :
    int ->
    int ->
    int ->
    int ->
    int ->
    int -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val texture_sub_image3d :
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int ->
    int -> Tgl4.Gl.enum -> Tgl4.Gl.enum -> ('a, 'b) Tgl4.Gl.bigarray -> unit
  val texture_view :
    int ->
    Tgl4.Gl.enum -> int -> Tgl4.Gl.enum -> int -> int -> int -> int -> unit
  val transform_feedback_buffer_base : int -> int -> int -> unit
  val transform_feedback_buffer_range :
    int -> int -> int -> int -> int -> unit
  val transform_feedback_varyings :
    int -> string list -> Tgl4.Gl.enum -> unit
  val uniform1d : int -> float -> unit
  val uniform1dv :
    int -> int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val uniform1f : int -> float -> unit
  val uniform1fv :
    int -> int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val uniform1i : int -> int -> unit
  val uniform1iv :
    int -> int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val uniform1ui : int -> int -> unit
  val uniform1uiv : int -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val uniform2d : int -> float -> float -> unit
  val uniform2dv :
    int -> int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val uniform2f : int -> float -> float -> unit
  val uniform2fv :
    int -> int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val uniform2i : int -> int -> int -> unit
  val uniform2iv :
    int -> int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val uniform2ui : int -> int -> int -> unit
  val uniform2uiv : int -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val uniform3d : int -> float -> float -> float -> unit
  val uniform3dv :
    int -> int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val uniform3f : int -> float -> float -> float -> unit
  val uniform3fv :
    int -> int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val uniform3i : int -> int -> int -> int -> unit
  val uniform3iv :
    int -> int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val uniform3ui : int -> int -> int -> int -> unit
  val uniform3uiv : int -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val uniform4d : int -> float -> float -> float -> float -> unit
  val uniform4dv :
    int -> int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val uniform4f : int -> float -> float -> float -> float -> unit
  val uniform4fv :
    int -> int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val uniform4i : int -> int -> int -> int -> int -> unit
  val uniform4iv :
    int -> int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val uniform4ui : int -> int -> int -> int -> int -> unit
  val uniform4uiv : int -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val uniform_block_binding : int -> int -> int -> unit
  val uniform_matrix2dv :
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix2fv :
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix2x3dv :
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix2x3fv :
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix2x4dv :
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix2x4fv :
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix3dv :
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix3fv :
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix3x2dv :
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix3x2fv :
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix3x4dv :
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix3x4fv :
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix4dv :
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix4fv :
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix4x2dv :
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix4x2fv :
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix4x3dv :
    int ->
    int -> bool -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val uniform_matrix4x3fv :
    int ->
    int -> bool -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val uniform_subroutinesuiv :
    Tgl4.Gl.enum -> int -> Tgl4.Gl.uint32_bigarray -> unit
  val unmap_buffer : Tgl4.Gl.enum -> bool
  val unmap_named_buffer : int -> bool
  val use_program : int -> unit
  val use_program_stages : int -> Tgl4.Gl.bitfield -> int -> unit
  val validate_program : int -> unit
  val validate_program_pipeline : int -> unit
  val vertex_array_attrib_binding : int -> int -> int -> unit
  val vertex_array_attrib_format :
    int -> int -> int -> Tgl4.Gl.enum -> bool -> int -> unit
  val vertex_array_attrib_iformat :
    int -> int -> int -> Tgl4.Gl.enum -> int -> unit
  val vertex_array_attrib_lformat :
    int -> int -> int -> Tgl4.Gl.enum -> int -> unit
  val vertex_array_binding_divisor : int -> int -> int -> unit
  val vertex_array_element_buffer : int -> int -> unit
  val vertex_array_vertex_buffer : int -> int -> int -> int -> int -> unit
  val vertex_array_vertex_buffers :
    int ->
    int ->
    int ->
    Tgl4.Gl.uint32_bigarray option ->
    (nativeint, Bigarray.nativeint_elt) Tgl4.Gl.bigarray option ->
    (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray option -> unit
  val vertex_attrib1d : int -> float -> unit
  val vertex_attrib1dv :
    int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib1f : int -> float -> unit
  val vertex_attrib1fv :
    int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib1s : int -> Tgl4.Gl.int16 -> unit
  val vertex_attrib1sv :
    int -> (int, Bigarray.int16_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib2d : int -> float -> float -> unit
  val vertex_attrib2dv :
    int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib2f : int -> float -> float -> unit
  val vertex_attrib2fv :
    int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib2s : int -> Tgl4.Gl.int16 -> Tgl4.Gl.int16 -> unit
  val vertex_attrib2sv :
    int -> (int, Bigarray.int16_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib3d : int -> float -> float -> float -> unit
  val vertex_attrib3dv :
    int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib3f : int -> float -> float -> float -> unit
  val vertex_attrib3fv :
    int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib3s :
    int -> Tgl4.Gl.int16 -> Tgl4.Gl.int16 -> Tgl4.Gl.int16 -> unit
  val vertex_attrib3sv :
    int -> (int, Bigarray.int16_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib4nbv :
    int -> (int, Bigarray.int8_signed_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib4niv :
    int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib4nsv :
    int -> (int, Bigarray.int16_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib4nub :
    int ->
    Tgl4.Gl.uint8 -> Tgl4.Gl.uint8 -> Tgl4.Gl.uint8 -> Tgl4.Gl.uint8 -> unit
  val vertex_attrib4nubv :
    int -> (int, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib4nuiv : int -> Tgl4.Gl.uint32_bigarray -> unit
  val vertex_attrib4nusv :
    int -> (int, Bigarray.int16_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib4bv :
    int -> (int, Bigarray.int8_signed_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib4d : int -> float -> float -> float -> float -> unit
  val vertex_attrib4dv :
    int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib4f : int -> float -> float -> float -> float -> unit
  val vertex_attrib4fv :
    int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib4iv :
    int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib4s :
    int ->
    Tgl4.Gl.int16 -> Tgl4.Gl.int16 -> Tgl4.Gl.int16 -> Tgl4.Gl.int16 -> unit
  val vertex_attrib4sv :
    int -> (int, Bigarray.int16_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib4ubv :
    int -> (int, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib4uiv : int -> Tgl4.Gl.uint32_bigarray -> unit
  val vertex_attrib4usv :
    int -> (int, Bigarray.int16_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib_binding : int -> int -> unit
  val vertex_attrib_divisor : int -> int -> unit
  val vertex_attrib_format :
    int -> int -> Tgl4.Gl.enum -> bool -> int -> unit
  val vertex_attrib_i1i : int -> int -> unit
  val vertex_attrib_i1iv :
    int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib_i1ui : int -> int -> unit
  val vertex_attrib_i1uiv : int -> Tgl4.Gl.uint32_bigarray -> unit
  val vertex_attrib_i2i : int -> int -> int -> unit
  val vertex_attrib_i2iv :
    int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib_i2ui : int -> int -> int -> unit
  val vertex_attrib_i2uiv : int -> Tgl4.Gl.uint32_bigarray -> unit
  val vertex_attrib_i3i : int -> int -> int -> int -> unit
  val vertex_attrib_i3iv :
    int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib_i3ui : int -> int -> int -> int -> unit
  val vertex_attrib_i3uiv : int -> Tgl4.Gl.uint32_bigarray -> unit
  val vertex_attrib_i4bv :
    int -> (int, Bigarray.int8_signed_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib_i4i : int -> int -> int -> int -> int -> unit
  val vertex_attrib_i4iv :
    int -> (int32, Bigarray.int32_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib_i4sv :
    int -> (int, Bigarray.int16_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib_i4ubv :
    int -> (int, Bigarray.int8_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib_i4ui : int -> int -> int -> int -> int -> unit
  val vertex_attrib_i4uiv : int -> Tgl4.Gl.uint32_bigarray -> unit
  val vertex_attrib_i4usv :
    int -> (int, Bigarray.int16_unsigned_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib_iformat : int -> int -> Tgl4.Gl.enum -> int -> unit
  val vertex_attrib_ipointer :
    int ->
    int ->
    Tgl4.Gl.enum ->
    int -> [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val vertex_attrib_l1d : int -> float -> unit
  val vertex_attrib_l1dv :
    int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib_l2d : int -> float -> float -> unit
  val vertex_attrib_l2dv :
    int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib_l3d : int -> float -> float -> float -> unit
  val vertex_attrib_l3dv :
    int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib_l4d : int -> float -> float -> float -> float -> unit
  val vertex_attrib_l4dv :
    int -> (float, Bigarray.float64_elt) Tgl4.Gl.bigarray -> unit
  val vertex_attrib_lformat : int -> int -> Tgl4.Gl.enum -> int -> unit
  val vertex_attrib_lpointer :
    int ->
    int ->
    Tgl4.Gl.enum ->
    int -> [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val vertex_attrib_p1ui : int -> Tgl4.Gl.enum -> bool -> int -> unit
  val vertex_attrib_p1uiv :
    int -> Tgl4.Gl.enum -> bool -> Tgl4.Gl.uint32_bigarray -> unit
  val vertex_attrib_p2ui : int -> Tgl4.Gl.enum -> bool -> int -> unit
  val vertex_attrib_p2uiv :
    int -> Tgl4.Gl.enum -> bool -> Tgl4.Gl.uint32_bigarray -> unit
  val vertex_attrib_p3ui : int -> Tgl4.Gl.enum -> bool -> int -> unit
  val vertex_attrib_p3uiv :
    int -> Tgl4.Gl.enum -> bool -> Tgl4.Gl.uint32_bigarray -> unit
  val vertex_attrib_p4ui : int -> Tgl4.Gl.enum -> bool -> int -> unit
  val vertex_attrib_p4uiv :
    int -> Tgl4.Gl.enum -> bool -> Tgl4.Gl.uint32_bigarray -> unit
  val vertex_attrib_pointer :
    int ->
    int ->
    Tgl4.Gl.enum ->
    bool ->
    int -> [ `Data of ('a, 'b) Tgl4.Gl.bigarray | `Offset of int ] -> unit
  val vertex_binding_divisor : int -> int -> unit
  val viewport : int -> int -> int -> int -> unit
  val viewport_arrayv :
    int -> int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val viewport_indexedf : int -> float -> float -> float -> float -> unit
  val viewport_indexedfv :
    int -> (float, Bigarray.float32_elt) Tgl4.Gl.bigarray -> unit
  val wait_sync : Tgl4.Gl.sync -> Tgl4.Gl.bitfield -> Tgl4.Gl.uint64 -> unit
  val active_atomic_counter_buffers : Tgl4.Gl.enum
  val active_attributes : Tgl4.Gl.enum
  val active_attribute_max_length : Tgl4.Gl.enum
  val active_program : Tgl4.Gl.enum
  val active_resources : Tgl4.Gl.enum
  val active_subroutines : Tgl4.Gl.enum
  val active_subroutine_max_length : Tgl4.Gl.enum
  val active_subroutine_uniforms : Tgl4.Gl.enum
  val active_subroutine_uniform_locations : Tgl4.Gl.enum
  val active_subroutine_uniform_max_length : Tgl4.Gl.enum
  val active_texture_enum : Tgl4.Gl.enum
  val active_uniforms : Tgl4.Gl.enum
  val active_uniform_blocks : Tgl4.Gl.enum
  val active_uniform_block_max_name_length : Tgl4.Gl.enum
  val active_uniform_max_length : Tgl4.Gl.enum
  val active_variables : Tgl4.Gl.enum
  val aliased_line_width_range : Tgl4.Gl.enum
  val all_barrier_bits : Tgl4.Gl.enum
  val all_shader_bits : Tgl4.Gl.enum
  val alpha : Tgl4.Gl.enum
  val already_signaled : Tgl4.Gl.enum
  val always : Tgl4.Gl.enum
  val and_ : Tgl4.Gl.enum
  val and_inverted : Tgl4.Gl.enum
  val and_reverse : Tgl4.Gl.enum
  val any_samples_passed : Tgl4.Gl.enum
  val any_samples_passed_conservative : Tgl4.Gl.enum
  val array_buffer : Tgl4.Gl.enum
  val array_buffer_binding : Tgl4.Gl.enum
  val array_size : Tgl4.Gl.enum
  val array_stride : Tgl4.Gl.enum
  val atomic_counter_barrier_bit : Tgl4.Gl.enum
  val atomic_counter_buffer : Tgl4.Gl.enum
  val atomic_counter_buffer_active_atomic_counters : Tgl4.Gl.enum
  val atomic_counter_buffer_active_atomic_counter_indices : Tgl4.Gl.enum
  val atomic_counter_buffer_binding : Tgl4.Gl.enum
  val atomic_counter_buffer_data_size : Tgl4.Gl.enum
  val atomic_counter_buffer_index : Tgl4.Gl.enum
  val atomic_counter_buffer_referenced_by_compute_shader : Tgl4.Gl.enum
  val atomic_counter_buffer_referenced_by_fragment_shader : Tgl4.Gl.enum
  val atomic_counter_buffer_referenced_by_geometry_shader : Tgl4.Gl.enum
  val atomic_counter_buffer_referenced_by_tess_control_shader : Tgl4.Gl.enum
  val atomic_counter_buffer_referenced_by_tess_evaluation_shader :
    Tgl4.Gl.enum
  val atomic_counter_buffer_referenced_by_vertex_shader : Tgl4.Gl.enum
  val atomic_counter_buffer_size : Tgl4.Gl.enum
  val atomic_counter_buffer_start : Tgl4.Gl.enum
  val attached_shaders : Tgl4.Gl.enum
  val auto_generate_mipmap : Tgl4.Gl.enum
  val back : Tgl4.Gl.enum
  val back_left : Tgl4.Gl.enum
  val back_right : Tgl4.Gl.enum
  val bgr : Tgl4.Gl.enum
  val bgra : Tgl4.Gl.enum
  val bgra_integer : Tgl4.Gl.enum
  val bgr_integer : Tgl4.Gl.enum
  val blend : Tgl4.Gl.enum
  val blend_dst : Tgl4.Gl.enum
  val blend_dst_alpha : Tgl4.Gl.enum
  val blend_dst_rgb : Tgl4.Gl.enum
  val blend_equation_alpha : Tgl4.Gl.enum
  val blend_equation_rgb : Tgl4.Gl.enum
  val blend_src : Tgl4.Gl.enum
  val blend_src_alpha : Tgl4.Gl.enum
  val blend_src_rgb : Tgl4.Gl.enum
  val block_index : Tgl4.Gl.enum
  val blue : Tgl4.Gl.enum
  val blue_integer : Tgl4.Gl.enum
  val bool : Tgl4.Gl.enum
  val bool_vec2 : Tgl4.Gl.enum
  val bool_vec3 : Tgl4.Gl.enum
  val bool_vec4 : Tgl4.Gl.enum
  val buffer : Tgl4.Gl.enum
  val buffer_access : Tgl4.Gl.enum
  val buffer_access_flags : Tgl4.Gl.enum
  val buffer_binding : Tgl4.Gl.enum
  val buffer_data_size : Tgl4.Gl.enum
  val buffer_immutable_storage : Tgl4.Gl.enum
  val buffer_mapped : Tgl4.Gl.enum
  val buffer_map_length : Tgl4.Gl.enum
  val buffer_map_offset : Tgl4.Gl.enum
  val buffer_map_pointer : Tgl4.Gl.enum
  val buffer_size : Tgl4.Gl.enum
  val buffer_storage_flags : Tgl4.Gl.enum
  val buffer_update_barrier_bit : Tgl4.Gl.enum
  val buffer_usage : Tgl4.Gl.enum
  val buffer_variable : Tgl4.Gl.enum
  val byte : Tgl4.Gl.enum
  val caveat_support : Tgl4.Gl.enum
  val ccw : Tgl4.Gl.enum
  val clamp_read_color : Tgl4.Gl.enum
  val clamp_to_border : Tgl4.Gl.enum
  val clamp_to_edge : Tgl4.Gl.enum
  val clear_enum : Tgl4.Gl.enum
  val clear_buffer : Tgl4.Gl.enum
  val clear_texture : Tgl4.Gl.enum
  val client_mapped_buffer_barrier_bit : Tgl4.Gl.enum
  val client_storage_bit : Tgl4.Gl.enum
  val clip_depth_mode : Tgl4.Gl.enum
  val clip_distance0 : Tgl4.Gl.enum
  val clip_distance1 : Tgl4.Gl.enum
  val clip_distance2 : Tgl4.Gl.enum
  val clip_distance3 : Tgl4.Gl.enum
  val clip_distance4 : Tgl4.Gl.enum
  val clip_distance5 : Tgl4.Gl.enum
  val clip_distance6 : Tgl4.Gl.enum
  val clip_distance7 : Tgl4.Gl.enum
  val clip_origin : Tgl4.Gl.enum
  val color : Tgl4.Gl.enum
  val color_attachment0 : Tgl4.Gl.enum
  val color_attachment1 : Tgl4.Gl.enum
  val color_attachment10 : Tgl4.Gl.enum
  val color_attachment11 : Tgl4.Gl.enum
  val color_attachment12 : Tgl4.Gl.enum
  val color_attachment13 : Tgl4.Gl.enum
  val color_attachment14 : Tgl4.Gl.enum
  val color_attachment15 : Tgl4.Gl.enum
  val color_attachment16 : Tgl4.Gl.enum
  val color_attachment17 : Tgl4.Gl.enum
  val color_attachment18 : Tgl4.Gl.enum
  val color_attachment19 : Tgl4.Gl.enum
  val color_attachment2 : Tgl4.Gl.enum
  val color_attachment20 : Tgl4.Gl.enum
  val color_attachment21 : Tgl4.Gl.enum
  val color_attachment22 : Tgl4.Gl.enum
  val color_attachment23 : Tgl4.Gl.enum
  val color_attachment24 : Tgl4.Gl.enum
  val color_attachment25 : Tgl4.Gl.enum
  val color_attachment26 : Tgl4.Gl.enum
  val color_attachment27 : Tgl4.Gl.enum
  val color_attachment28 : Tgl4.Gl.enum
  val color_attachment29 : Tgl4.Gl.enum
  val color_attachment3 : Tgl4.Gl.enum
  val color_attachment30 : Tgl4.Gl.enum
  val color_attachment31 : Tgl4.Gl.enum
  val color_attachment4 : Tgl4.Gl.enum
  val color_attachment5 : Tgl4.Gl.enum
  val color_attachment6 : Tgl4.Gl.enum
  val color_attachment7 : Tgl4.Gl.enum
  val color_attachment8 : Tgl4.Gl.enum
  val color_attachment9 : Tgl4.Gl.enum
  val color_buffer_bit : Tgl4.Gl.enum
  val color_clear_value : Tgl4.Gl.enum
  val color_components : Tgl4.Gl.enum
  val color_encoding : Tgl4.Gl.enum
  val color_logic_op : Tgl4.Gl.enum
  val color_renderable : Tgl4.Gl.enum
  val color_writemask : Tgl4.Gl.enum
  val command_barrier_bit : Tgl4.Gl.enum
  val compare_ref_to_texture : Tgl4.Gl.enum
  val compatible_subroutines : Tgl4.Gl.enum
  val compile_status : Tgl4.Gl.enum
  val compressed_r11_eac : Tgl4.Gl.enum
  val compressed_red : Tgl4.Gl.enum
  val compressed_red_rgtc1 : Tgl4.Gl.enum
  val compressed_rg : Tgl4.Gl.enum
  val compressed_rg11_eac : Tgl4.Gl.enum
  val compressed_rgb : Tgl4.Gl.enum
  val compressed_rgb8_etc2 : Tgl4.Gl.enum
  val compressed_rgb8_punchthrough_alpha1_etc2 : Tgl4.Gl.enum
  val compressed_rgba : Tgl4.Gl.enum
  val compressed_rgba8_etc2_eac : Tgl4.Gl.enum
  val compressed_rgba_bptc_unorm : Tgl4.Gl.enum
  val compressed_rgb_bptc_signed_float : Tgl4.Gl.enum
  val compressed_rgb_bptc_unsigned_float : Tgl4.Gl.enum
  val compressed_rg_rgtc2 : Tgl4.Gl.enum
  val compressed_signed_r11_eac : Tgl4.Gl.enum
  val compressed_signed_red_rgtc1 : Tgl4.Gl.enum
  val compressed_signed_rg11_eac : Tgl4.Gl.enum
  val compressed_signed_rg_rgtc2 : Tgl4.Gl.enum
  val compressed_srgb : Tgl4.Gl.enum
  val compressed_srgb8_alpha8_etc2_eac : Tgl4.Gl.enum
  val compressed_srgb8_etc2 : Tgl4.Gl.enum
  val compressed_srgb8_punchthrough_alpha1_etc2 : Tgl4.Gl.enum
  val compressed_srgb_alpha : Tgl4.Gl.enum
  val compressed_srgb_alpha_bptc_unorm : Tgl4.Gl.enum
  val compressed_texture_formats : Tgl4.Gl.enum
  val compute_shader : Tgl4.Gl.enum
  val compute_shader_bit : Tgl4.Gl.enum
  val compute_subroutine : Tgl4.Gl.enum
  val compute_subroutine_uniform : Tgl4.Gl.enum
  val compute_texture : Tgl4.Gl.enum
  val compute_work_group_size : Tgl4.Gl.enum
  val condition_satisfied : Tgl4.Gl.enum
  val constant_alpha : Tgl4.Gl.enum
  val constant_color : Tgl4.Gl.enum
  val context_compatibility_profile_bit : Tgl4.Gl.enum
  val context_core_profile_bit : Tgl4.Gl.enum
  val context_flags : Tgl4.Gl.enum
  val context_flag_debug_bit : Tgl4.Gl.enum
  val context_flag_forward_compatible_bit : Tgl4.Gl.enum
  val context_flag_robust_access_bit : Tgl4.Gl.enum
  val context_lost : Tgl4.Gl.enum
  val context_profile_mask : Tgl4.Gl.enum
  val context_release_behavior : Tgl4.Gl.enum
  val context_release_behavior_flush : Tgl4.Gl.enum
  val copy : Tgl4.Gl.enum
  val copy_inverted : Tgl4.Gl.enum
  val copy_read_buffer : Tgl4.Gl.enum
  val copy_read_buffer_binding : Tgl4.Gl.enum
  val copy_write_buffer : Tgl4.Gl.enum
  val copy_write_buffer_binding : Tgl4.Gl.enum
  val cull_face_enum : Tgl4.Gl.enum
  val cull_face_mode : Tgl4.Gl.enum
  val current_program : Tgl4.Gl.enum
  val current_query : Tgl4.Gl.enum
  val current_vertex_attrib : Tgl4.Gl.enum
  val cw : Tgl4.Gl.enum
  val debug_callback_function : Tgl4.Gl.enum
  val debug_callback_user_param : Tgl4.Gl.enum
  val debug_group_stack_depth : Tgl4.Gl.enum
  val debug_logged_messages : Tgl4.Gl.enum
  val debug_next_logged_message_length : Tgl4.Gl.enum
  val debug_output : Tgl4.Gl.enum
  val debug_output_synchronous : Tgl4.Gl.enum
  val debug_severity_high : Tgl4.Gl.enum
  val debug_severity_low : Tgl4.Gl.enum
  val debug_severity_medium : Tgl4.Gl.enum
  val debug_severity_notification : Tgl4.Gl.enum
  val debug_source_api : Tgl4.Gl.enum
  val debug_source_application : Tgl4.Gl.enum
  val debug_source_other : Tgl4.Gl.enum
  val debug_source_shader_compiler : Tgl4.Gl.enum
  val debug_source_third_party : Tgl4.Gl.enum
  val debug_source_window_system : Tgl4.Gl.enum
  val debug_type_deprecated_behavior : Tgl4.Gl.enum
  val debug_type_error : Tgl4.Gl.enum
  val debug_type_marker : Tgl4.Gl.enum
  val debug_type_other : Tgl4.Gl.enum
  val debug_type_performance : Tgl4.Gl.enum
  val debug_type_pop_group : Tgl4.Gl.enum
  val debug_type_portability : Tgl4.Gl.enum
  val debug_type_push_group : Tgl4.Gl.enum
  val debug_type_undefined_behavior : Tgl4.Gl.enum
  val decr : Tgl4.Gl.enum
  val decr_wrap : Tgl4.Gl.enum
  val delete_status : Tgl4.Gl.enum
  val depth : Tgl4.Gl.enum
  val depth24_stencil8 : Tgl4.Gl.enum
  val depth32f_stencil8 : Tgl4.Gl.enum
  val depth_attachment : Tgl4.Gl.enum
  val depth_buffer_bit : Tgl4.Gl.enum
  val depth_clamp : Tgl4.Gl.enum
  val depth_clear_value : Tgl4.Gl.enum
  val depth_component : Tgl4.Gl.enum
  val depth_component16 : Tgl4.Gl.enum
  val depth_component24 : Tgl4.Gl.enum
  val depth_component32 : Tgl4.Gl.enum
  val depth_component32f : Tgl4.Gl.enum
  val depth_components : Tgl4.Gl.enum
  val depth_func_enum : Tgl4.Gl.enum
  val depth_range_enum : Tgl4.Gl.enum
  val depth_renderable : Tgl4.Gl.enum
  val depth_stencil : Tgl4.Gl.enum
  val depth_stencil_attachment : Tgl4.Gl.enum
  val depth_stencil_texture_mode : Tgl4.Gl.enum
  val depth_test : Tgl4.Gl.enum
  val depth_writemask : Tgl4.Gl.enum
  val dispatch_indirect_buffer : Tgl4.Gl.enum
  val dispatch_indirect_buffer_binding : Tgl4.Gl.enum
  val dither : Tgl4.Gl.enum
  val dont_care : Tgl4.Gl.enum
  val double : Tgl4.Gl.enum
  val doublebuffer : Tgl4.Gl.enum
  val double_mat2 : Tgl4.Gl.enum
  val double_mat2x3 : Tgl4.Gl.enum
  val double_mat2x4 : Tgl4.Gl.enum
  val double_mat3 : Tgl4.Gl.enum
  val double_mat3x2 : Tgl4.Gl.enum
  val double_mat3x4 : Tgl4.Gl.enum
  val double_mat4 : Tgl4.Gl.enum
  val double_mat4x2 : Tgl4.Gl.enum
  val double_mat4x3 : Tgl4.Gl.enum
  val double_vec2 : Tgl4.Gl.enum
  val double_vec3 : Tgl4.Gl.enum
  val double_vec4 : Tgl4.Gl.enum
  val draw_buffer_enum : Tgl4.Gl.enum
  val draw_buffer0 : Tgl4.Gl.enum
  val draw_buffer1 : Tgl4.Gl.enum
  val draw_buffer10 : Tgl4.Gl.enum
  val draw_buffer11 : Tgl4.Gl.enum
  val draw_buffer12 : Tgl4.Gl.enum
  val draw_buffer13 : Tgl4.Gl.enum
  val draw_buffer14 : Tgl4.Gl.enum
  val draw_buffer15 : Tgl4.Gl.enum
  val draw_buffer2 : Tgl4.Gl.enum
  val draw_buffer3 : Tgl4.Gl.enum
  val draw_buffer4 : Tgl4.Gl.enum
  val draw_buffer5 : Tgl4.Gl.enum
  val draw_buffer6 : Tgl4.Gl.enum
  val draw_buffer7 : Tgl4.Gl.enum
  val draw_buffer8 : Tgl4.Gl.enum
  val draw_buffer9 : Tgl4.Gl.enum
  val draw_framebuffer : Tgl4.Gl.enum
  val draw_framebuffer_binding : Tgl4.Gl.enum
  val draw_indirect_buffer : Tgl4.Gl.enum
  val draw_indirect_buffer_binding : Tgl4.Gl.enum
  val dst_alpha : Tgl4.Gl.enum
  val dst_color : Tgl4.Gl.enum
  val dynamic_copy : Tgl4.Gl.enum
  val dynamic_draw : Tgl4.Gl.enum
  val dynamic_read : Tgl4.Gl.enum
  val dynamic_storage_bit : Tgl4.Gl.enum
  val element_array_barrier_bit : Tgl4.Gl.enum
  val element_array_buffer : Tgl4.Gl.enum
  val element_array_buffer_binding : Tgl4.Gl.enum
  val equal : Tgl4.Gl.enum
  val equiv : Tgl4.Gl.enum
  val extensions : Tgl4.Gl.enum
  val false_ : Tgl4.Gl.enum
  val fastest : Tgl4.Gl.enum
  val fill : Tgl4.Gl.enum
  val filter : Tgl4.Gl.enum
  val first_vertex_convention : Tgl4.Gl.enum
  val fixed : Tgl4.Gl.enum
  val fixed_only : Tgl4.Gl.enum
  val float : Tgl4.Gl.enum
  val float_32_unsigned_int_24_8_rev : Tgl4.Gl.enum
  val float_mat2 : Tgl4.Gl.enum
  val float_mat2x3 : Tgl4.Gl.enum
  val float_mat2x4 : Tgl4.Gl.enum
  val float_mat3 : Tgl4.Gl.enum
  val float_mat3x2 : Tgl4.Gl.enum
  val float_mat3x4 : Tgl4.Gl.enum
  val float_mat4 : Tgl4.Gl.enum
  val float_mat4x2 : Tgl4.Gl.enum
  val float_mat4x3 : Tgl4.Gl.enum
  val float_vec2 : Tgl4.Gl.enum
  val float_vec3 : Tgl4.Gl.enum
  val float_vec4 : Tgl4.Gl.enum
  val fractional_even : Tgl4.Gl.enum
  val fractional_odd : Tgl4.Gl.enum
  val fragment_interpolation_offset_bits : Tgl4.Gl.enum
  val fragment_shader : Tgl4.Gl.enum
  val fragment_shader_bit : Tgl4.Gl.enum
  val fragment_shader_derivative_hint : Tgl4.Gl.enum
  val fragment_subroutine : Tgl4.Gl.enum
  val fragment_subroutine_uniform : Tgl4.Gl.enum
  val fragment_texture : Tgl4.Gl.enum
  val framebuffer : Tgl4.Gl.enum
  val framebuffer_attachment_alpha_size : Tgl4.Gl.enum
  val framebuffer_attachment_blue_size : Tgl4.Gl.enum
  val framebuffer_attachment_color_encoding : Tgl4.Gl.enum
  val framebuffer_attachment_component_type : Tgl4.Gl.enum
  val framebuffer_attachment_depth_size : Tgl4.Gl.enum
  val framebuffer_attachment_green_size : Tgl4.Gl.enum
  val framebuffer_attachment_layered : Tgl4.Gl.enum
  val framebuffer_attachment_object_name : Tgl4.Gl.enum
  val framebuffer_attachment_object_type : Tgl4.Gl.enum
  val framebuffer_attachment_red_size : Tgl4.Gl.enum
  val framebuffer_attachment_stencil_size : Tgl4.Gl.enum
  val framebuffer_attachment_texture_cube_map_face : Tgl4.Gl.enum
  val framebuffer_attachment_texture_layer : Tgl4.Gl.enum
  val framebuffer_attachment_texture_level : Tgl4.Gl.enum
  val framebuffer_barrier_bit : Tgl4.Gl.enum
  val framebuffer_binding : Tgl4.Gl.enum
  val framebuffer_blend : Tgl4.Gl.enum
  val framebuffer_complete : Tgl4.Gl.enum
  val framebuffer_default : Tgl4.Gl.enum
  val framebuffer_default_fixed_sample_locations : Tgl4.Gl.enum
  val framebuffer_default_height : Tgl4.Gl.enum
  val framebuffer_default_layers : Tgl4.Gl.enum
  val framebuffer_default_samples : Tgl4.Gl.enum
  val framebuffer_default_width : Tgl4.Gl.enum
  val framebuffer_incomplete_attachment : Tgl4.Gl.enum
  val framebuffer_incomplete_draw_buffer : Tgl4.Gl.enum
  val framebuffer_incomplete_layer_targets : Tgl4.Gl.enum
  val framebuffer_incomplete_missing_attachment : Tgl4.Gl.enum
  val framebuffer_incomplete_multisample : Tgl4.Gl.enum
  val framebuffer_incomplete_read_buffer : Tgl4.Gl.enum
  val framebuffer_renderable : Tgl4.Gl.enum
  val framebuffer_renderable_layered : Tgl4.Gl.enum
  val framebuffer_srgb : Tgl4.Gl.enum
  val framebuffer_undefined : Tgl4.Gl.enum
  val framebuffer_unsupported : Tgl4.Gl.enum
  val front : Tgl4.Gl.enum
  val front_and_back : Tgl4.Gl.enum
  val front_face_enum : Tgl4.Gl.enum
  val front_left : Tgl4.Gl.enum
  val front_right : Tgl4.Gl.enum
  val full_support : Tgl4.Gl.enum
  val func_add : Tgl4.Gl.enum
  val func_reverse_subtract : Tgl4.Gl.enum
  val func_subtract : Tgl4.Gl.enum
  val geometry_input_type : Tgl4.Gl.enum
  val geometry_output_type : Tgl4.Gl.enum
  val geometry_shader : Tgl4.Gl.enum
  val geometry_shader_bit : Tgl4.Gl.enum
  val geometry_shader_invocations : Tgl4.Gl.enum
  val geometry_subroutine : Tgl4.Gl.enum
  val geometry_subroutine_uniform : Tgl4.Gl.enum
  val geometry_texture : Tgl4.Gl.enum
  val geometry_vertices_out : Tgl4.Gl.enum
  val gequal : Tgl4.Gl.enum
  val get_texture_image_format : Tgl4.Gl.enum
  val get_texture_image_type : Tgl4.Gl.enum
  val greater : Tgl4.Gl.enum
  val green : Tgl4.Gl.enum
  val green_integer : Tgl4.Gl.enum
  val guilty_context_reset : Tgl4.Gl.enum
  val half_float : Tgl4.Gl.enum
  val high_float : Tgl4.Gl.enum
  val high_int : Tgl4.Gl.enum
  val image_1d : Tgl4.Gl.enum
  val image_1d_array : Tgl4.Gl.enum
  val image_2d : Tgl4.Gl.enum
  val image_2d_array : Tgl4.Gl.enum
  val image_2d_multisample : Tgl4.Gl.enum
  val image_2d_multisample_array : Tgl4.Gl.enum
  val image_2d_rect : Tgl4.Gl.enum
  val image_3d : Tgl4.Gl.enum
  val image_binding_access : Tgl4.Gl.enum
  val image_binding_format : Tgl4.Gl.enum
  val image_binding_layer : Tgl4.Gl.enum
  val image_binding_layered : Tgl4.Gl.enum
  val image_binding_level : Tgl4.Gl.enum
  val image_binding_name : Tgl4.Gl.enum
  val image_buffer : Tgl4.Gl.enum
  val image_class_10_10_10_2 : Tgl4.Gl.enum
  val image_class_11_11_10 : Tgl4.Gl.enum
  val image_class_1_x_16 : Tgl4.Gl.enum
  val image_class_1_x_32 : Tgl4.Gl.enum
  val image_class_1_x_8 : Tgl4.Gl.enum
  val image_class_2_x_16 : Tgl4.Gl.enum
  val image_class_2_x_32 : Tgl4.Gl.enum
  val image_class_2_x_8 : Tgl4.Gl.enum
  val image_class_4_x_16 : Tgl4.Gl.enum
  val image_class_4_x_32 : Tgl4.Gl.enum
  val image_class_4_x_8 : Tgl4.Gl.enum
  val image_compatibility_class : Tgl4.Gl.enum
  val image_cube : Tgl4.Gl.enum
  val image_cube_map_array : Tgl4.Gl.enum
  val image_format_compatibility_by_class : Tgl4.Gl.enum
  val image_format_compatibility_by_size : Tgl4.Gl.enum
  val image_format_compatibility_type : Tgl4.Gl.enum
  val image_pixel_format : Tgl4.Gl.enum
  val image_pixel_type : Tgl4.Gl.enum
  val image_texel_size : Tgl4.Gl.enum
  val implementation_color_read_format : Tgl4.Gl.enum
  val implementation_color_read_type : Tgl4.Gl.enum
  val incr : Tgl4.Gl.enum
  val incr_wrap : Tgl4.Gl.enum
  val info_log_length : Tgl4.Gl.enum
  val innocent_context_reset : Tgl4.Gl.enum
  val int : Tgl4.Gl.enum
  val interleaved_attribs : Tgl4.Gl.enum
  val internalformat_alpha_size : Tgl4.Gl.enum
  val internalformat_alpha_type : Tgl4.Gl.enum
  val internalformat_blue_size : Tgl4.Gl.enum
  val internalformat_blue_type : Tgl4.Gl.enum
  val internalformat_depth_size : Tgl4.Gl.enum
  val internalformat_depth_type : Tgl4.Gl.enum
  val internalformat_green_size : Tgl4.Gl.enum
  val internalformat_green_type : Tgl4.Gl.enum
  val internalformat_preferred : Tgl4.Gl.enum
  val internalformat_red_size : Tgl4.Gl.enum
  val internalformat_red_type : Tgl4.Gl.enum
  val internalformat_shared_size : Tgl4.Gl.enum
  val internalformat_stencil_size : Tgl4.Gl.enum
  val internalformat_stencil_type : Tgl4.Gl.enum
  val internalformat_supported : Tgl4.Gl.enum
  val int_2_10_10_10_rev : Tgl4.Gl.enum
  val int_image_1d : Tgl4.Gl.enum
  val int_image_1d_array : Tgl4.Gl.enum
  val int_image_2d : Tgl4.Gl.enum
  val int_image_2d_array : Tgl4.Gl.enum
  val int_image_2d_multisample : Tgl4.Gl.enum
  val int_image_2d_multisample_array : Tgl4.Gl.enum
  val int_image_2d_rect : Tgl4.Gl.enum
  val int_image_3d : Tgl4.Gl.enum
  val int_image_buffer : Tgl4.Gl.enum
  val int_image_cube : Tgl4.Gl.enum
  val int_image_cube_map_array : Tgl4.Gl.enum
  val int_sampler_1d : Tgl4.Gl.enum
  val int_sampler_1d_array : Tgl4.Gl.enum
  val int_sampler_2d : Tgl4.Gl.enum
  val int_sampler_2d_array : Tgl4.Gl.enum
  val int_sampler_2d_multisample : Tgl4.Gl.enum
  val int_sampler_2d_multisample_array : Tgl4.Gl.enum
  val int_sampler_2d_rect : Tgl4.Gl.enum
  val int_sampler_3d : Tgl4.Gl.enum
  val int_sampler_buffer : Tgl4.Gl.enum
  val int_sampler_cube : Tgl4.Gl.enum
  val int_sampler_cube_map_array : Tgl4.Gl.enum
  val int_vec2 : Tgl4.Gl.enum
  val int_vec3 : Tgl4.Gl.enum
  val int_vec4 : Tgl4.Gl.enum
  val invalid_enum : Tgl4.Gl.enum
  val invalid_framebuffer_operation : Tgl4.Gl.enum
  val invalid_index : int32
  val invalid_operation : Tgl4.Gl.enum
  val invalid_value : Tgl4.Gl.enum
  val invert : Tgl4.Gl.enum
  val isolines : Tgl4.Gl.enum
  val is_per_patch : Tgl4.Gl.enum
  val is_row_major : Tgl4.Gl.enum
  val keep : Tgl4.Gl.enum
  val last_vertex_convention : Tgl4.Gl.enum
  val layer_provoking_vertex : Tgl4.Gl.enum
  val left : Tgl4.Gl.enum
  val lequal : Tgl4.Gl.enum
  val less : Tgl4.Gl.enum
  val line : Tgl4.Gl.enum
  val linear : Tgl4.Gl.enum
  val linear_mipmap_linear : Tgl4.Gl.enum
  val linear_mipmap_nearest : Tgl4.Gl.enum
  val lines : Tgl4.Gl.enum
  val lines_adjacency : Tgl4.Gl.enum
  val line_loop : Tgl4.Gl.enum
  val line_smooth : Tgl4.Gl.enum
  val line_smooth_hint : Tgl4.Gl.enum
  val line_strip : Tgl4.Gl.enum
  val line_strip_adjacency : Tgl4.Gl.enum
  val line_width_enum : Tgl4.Gl.enum
  val line_width_granularity : Tgl4.Gl.enum
  val line_width_range : Tgl4.Gl.enum
  val link_status : Tgl4.Gl.enum
  val location : Tgl4.Gl.enum
  val location_component : Tgl4.Gl.enum
  val location_index : Tgl4.Gl.enum
  val logic_op_mode : Tgl4.Gl.enum
  val lose_context_on_reset : Tgl4.Gl.enum
  val lower_left : Tgl4.Gl.enum
  val low_float : Tgl4.Gl.enum
  val low_int : Tgl4.Gl.enum
  val major_version : Tgl4.Gl.enum
  val manual_generate_mipmap : Tgl4.Gl.enum
  val map_coherent_bit : Tgl4.Gl.enum
  val map_flush_explicit_bit : Tgl4.Gl.enum
  val map_invalidate_buffer_bit : Tgl4.Gl.enum
  val map_invalidate_range_bit : Tgl4.Gl.enum
  val map_persistent_bit : Tgl4.Gl.enum
  val map_read_bit : Tgl4.Gl.enum
  val map_unsynchronized_bit : Tgl4.Gl.enum
  val map_write_bit : Tgl4.Gl.enum
  val matrix_stride : Tgl4.Gl.enum
  val max : Tgl4.Gl.enum
  val max_3d_texture_size : Tgl4.Gl.enum
  val max_array_texture_layers : Tgl4.Gl.enum
  val max_atomic_counter_buffer_bindings : Tgl4.Gl.enum
  val max_atomic_counter_buffer_size : Tgl4.Gl.enum
  val max_clip_distances : Tgl4.Gl.enum
  val max_color_attachments : Tgl4.Gl.enum
  val max_color_texture_samples : Tgl4.Gl.enum
  val max_combined_atomic_counters : Tgl4.Gl.enum
  val max_combined_atomic_counter_buffers : Tgl4.Gl.enum
  val max_combined_clip_and_cull_distances : Tgl4.Gl.enum
  val max_combined_compute_uniform_components : Tgl4.Gl.enum
  val max_combined_dimensions : Tgl4.Gl.enum
  val max_combined_fragment_uniform_components : Tgl4.Gl.enum
  val max_combined_geometry_uniform_components : Tgl4.Gl.enum
  val max_combined_image_uniforms : Tgl4.Gl.enum
  val max_combined_image_units_and_fragment_outputs : Tgl4.Gl.enum
  val max_combined_shader_output_resources : Tgl4.Gl.enum
  val max_combined_shader_storage_blocks : Tgl4.Gl.enum
  val max_combined_tess_control_uniform_components : Tgl4.Gl.enum
  val max_combined_tess_evaluation_uniform_components : Tgl4.Gl.enum
  val max_combined_texture_image_units : Tgl4.Gl.enum
  val max_combined_uniform_blocks : Tgl4.Gl.enum
  val max_combined_vertex_uniform_components : Tgl4.Gl.enum
  val max_compute_atomic_counters : Tgl4.Gl.enum
  val max_compute_atomic_counter_buffers : Tgl4.Gl.enum
  val max_compute_image_uniforms : Tgl4.Gl.enum
  val max_compute_shader_storage_blocks : Tgl4.Gl.enum
  val max_compute_shared_memory_size : Tgl4.Gl.enum
  val max_compute_texture_image_units : Tgl4.Gl.enum
  val max_compute_uniform_blocks : Tgl4.Gl.enum
  val max_compute_uniform_components : Tgl4.Gl.enum
  val max_compute_work_group_count : Tgl4.Gl.enum
  val max_compute_work_group_invocations : Tgl4.Gl.enum
  val max_compute_work_group_size : Tgl4.Gl.enum
  val max_cube_map_texture_size : Tgl4.Gl.enum
  val max_cull_distances : Tgl4.Gl.enum
  val max_debug_group_stack_depth : Tgl4.Gl.enum
  val max_debug_logged_messages : Tgl4.Gl.enum
  val max_debug_message_length : Tgl4.Gl.enum
  val max_depth : Tgl4.Gl.enum
  val max_depth_texture_samples : Tgl4.Gl.enum
  val max_draw_buffers : Tgl4.Gl.enum
  val max_dual_source_draw_buffers : Tgl4.Gl.enum
  val max_elements_indices : Tgl4.Gl.enum
  val max_elements_vertices : Tgl4.Gl.enum
  val max_element_index : Tgl4.Gl.enum
  val max_fragment_atomic_counters : Tgl4.Gl.enum
  val max_fragment_atomic_counter_buffers : Tgl4.Gl.enum
  val max_fragment_image_uniforms : Tgl4.Gl.enum
  val max_fragment_input_components : Tgl4.Gl.enum
  val max_fragment_interpolation_offset : Tgl4.Gl.enum
  val max_fragment_shader_storage_blocks : Tgl4.Gl.enum
  val max_fragment_uniform_blocks : Tgl4.Gl.enum
  val max_fragment_uniform_components : Tgl4.Gl.enum
  val max_fragment_uniform_vectors : Tgl4.Gl.enum
  val max_framebuffer_height : Tgl4.Gl.enum
  val max_framebuffer_layers : Tgl4.Gl.enum
  val max_framebuffer_samples : Tgl4.Gl.enum
  val max_framebuffer_width : Tgl4.Gl.enum
  val max_geometry_atomic_counters : Tgl4.Gl.enum
  val max_geometry_atomic_counter_buffers : Tgl4.Gl.enum
  val max_geometry_image_uniforms : Tgl4.Gl.enum
  val max_geometry_input_components : Tgl4.Gl.enum
  val max_geometry_output_components : Tgl4.Gl.enum
  val max_geometry_output_vertices : Tgl4.Gl.enum
  val max_geometry_shader_invocations : Tgl4.Gl.enum
  val max_geometry_shader_storage_blocks : Tgl4.Gl.enum
  val max_geometry_texture_image_units : Tgl4.Gl.enum
  val max_geometry_total_output_components : Tgl4.Gl.enum
  val max_geometry_uniform_blocks : Tgl4.Gl.enum
  val max_geometry_uniform_components : Tgl4.Gl.enum
  val max_height : Tgl4.Gl.enum
  val max_image_samples : Tgl4.Gl.enum
  val max_image_units : Tgl4.Gl.enum
  val max_integer_samples : Tgl4.Gl.enum
  val max_label_length : Tgl4.Gl.enum
  val max_layers : Tgl4.Gl.enum
  val max_name_length : Tgl4.Gl.enum
  val max_num_active_variables : Tgl4.Gl.enum
  val max_num_compatible_subroutines : Tgl4.Gl.enum
  val max_patch_vertices : Tgl4.Gl.enum
  val max_program_texel_offset : Tgl4.Gl.enum
  val max_program_texture_gather_offset : Tgl4.Gl.enum
  val max_rectangle_texture_size : Tgl4.Gl.enum
  val max_renderbuffer_size : Tgl4.Gl.enum
  val max_samples : Tgl4.Gl.enum
  val max_sample_mask_words : Tgl4.Gl.enum
  val max_server_wait_timeout : Tgl4.Gl.enum
  val max_shader_storage_block_size : Tgl4.Gl.enum
  val max_shader_storage_buffer_bindings : Tgl4.Gl.enum
  val max_subroutines : Tgl4.Gl.enum
  val max_subroutine_uniform_locations : Tgl4.Gl.enum
  val max_tess_control_atomic_counters : Tgl4.Gl.enum
  val max_tess_control_atomic_counter_buffers : Tgl4.Gl.enum
  val max_tess_control_image_uniforms : Tgl4.Gl.enum
  val max_tess_control_input_components : Tgl4.Gl.enum
  val max_tess_control_output_components : Tgl4.Gl.enum
  val max_tess_control_shader_storage_blocks : Tgl4.Gl.enum
  val max_tess_control_texture_image_units : Tgl4.Gl.enum
  val max_tess_control_total_output_components : Tgl4.Gl.enum
  val max_tess_control_uniform_blocks : Tgl4.Gl.enum
  val max_tess_control_uniform_components : Tgl4.Gl.enum
  val max_tess_evaluation_atomic_counters : Tgl4.Gl.enum
  val max_tess_evaluation_atomic_counter_buffers : Tgl4.Gl.enum
  val max_tess_evaluation_image_uniforms : Tgl4.Gl.enum
  val max_tess_evaluation_input_components : Tgl4.Gl.enum
  val max_tess_evaluation_output_components : Tgl4.Gl.enum
  val max_tess_evaluation_shader_storage_blocks : Tgl4.Gl.enum
  val max_tess_evaluation_texture_image_units : Tgl4.Gl.enum
  val max_tess_evaluation_uniform_blocks : Tgl4.Gl.enum
  val max_tess_evaluation_uniform_components : Tgl4.Gl.enum
  val max_tess_gen_level : Tgl4.Gl.enum
  val max_tess_patch_components : Tgl4.Gl.enum
  val max_texture_buffer_size : Tgl4.Gl.enum
  val max_texture_image_units : Tgl4.Gl.enum
  val max_texture_lod_bias : Tgl4.Gl.enum
  val max_texture_size : Tgl4.Gl.enum
  val max_transform_feedback_buffers : Tgl4.Gl.enum
  val max_transform_feedback_interleaved_components : Tgl4.Gl.enum
  val max_transform_feedback_separate_attribs : Tgl4.Gl.enum
  val max_transform_feedback_separate_components : Tgl4.Gl.enum
  val max_uniform_block_size : Tgl4.Gl.enum
  val max_uniform_buffer_bindings : Tgl4.Gl.enum
  val max_uniform_locations : Tgl4.Gl.enum
  val max_varying_components : Tgl4.Gl.enum
  val max_varying_floats : Tgl4.Gl.enum
  val max_varying_vectors : Tgl4.Gl.enum
  val max_vertex_atomic_counters : Tgl4.Gl.enum
  val max_vertex_atomic_counter_buffers : Tgl4.Gl.enum
  val max_vertex_attribs : Tgl4.Gl.enum
  val max_vertex_attrib_bindings : Tgl4.Gl.enum
  val max_vertex_attrib_relative_offset : Tgl4.Gl.enum
  val max_vertex_attrib_stride : Tgl4.Gl.enum
  val max_vertex_image_uniforms : Tgl4.Gl.enum
  val max_vertex_output_components : Tgl4.Gl.enum
  val max_vertex_shader_storage_blocks : Tgl4.Gl.enum
  val max_vertex_streams : Tgl4.Gl.enum
  val max_vertex_texture_image_units : Tgl4.Gl.enum
  val max_vertex_uniform_blocks : Tgl4.Gl.enum
  val max_vertex_uniform_components : Tgl4.Gl.enum
  val max_vertex_uniform_vectors : Tgl4.Gl.enum
  val max_viewports : Tgl4.Gl.enum
  val max_viewport_dims : Tgl4.Gl.enum
  val max_width : Tgl4.Gl.enum
  val medium_float : Tgl4.Gl.enum
  val medium_int : Tgl4.Gl.enum
  val min : Tgl4.Gl.enum
  val minor_version : Tgl4.Gl.enum
  val min_fragment_interpolation_offset : Tgl4.Gl.enum
  val min_map_buffer_alignment : Tgl4.Gl.enum
  val min_program_texel_offset : Tgl4.Gl.enum
  val min_program_texture_gather_offset : Tgl4.Gl.enum
  val min_sample_shading_value : Tgl4.Gl.enum
  val mipmap : Tgl4.Gl.enum
  val mirrored_repeat : Tgl4.Gl.enum
  val mirror_clamp_to_edge : Tgl4.Gl.enum
  val multisample : Tgl4.Gl.enum
  val name_length : Tgl4.Gl.enum
  val nand : Tgl4.Gl.enum
  val nearest : Tgl4.Gl.enum
  val nearest_mipmap_linear : Tgl4.Gl.enum
  val nearest_mipmap_nearest : Tgl4.Gl.enum
  val negative_one_to_one : Tgl4.Gl.enum
  val never : Tgl4.Gl.enum
  val nicest : Tgl4.Gl.enum
  val none : Tgl4.Gl.enum
  val noop : Tgl4.Gl.enum
  val nor : Tgl4.Gl.enum
  val notequal : Tgl4.Gl.enum
  val no_error : Tgl4.Gl.enum
  val no_reset_notification : Tgl4.Gl.enum
  val num_active_variables : Tgl4.Gl.enum
  val num_compatible_subroutines : Tgl4.Gl.enum
  val num_compressed_texture_formats : Tgl4.Gl.enum
  val num_extensions : Tgl4.Gl.enum
  val num_program_binary_formats : Tgl4.Gl.enum
  val num_sample_counts : Tgl4.Gl.enum
  val num_shader_binary_formats : Tgl4.Gl.enum
  val num_shading_language_versions : Tgl4.Gl.enum
  val object_type : Tgl4.Gl.enum
  val offset : Tgl4.Gl.enum
  val one : Tgl4.Gl.enum
  val one_minus_constant_alpha : Tgl4.Gl.enum
  val one_minus_constant_color : Tgl4.Gl.enum
  val one_minus_dst_alpha : Tgl4.Gl.enum
  val one_minus_dst_color : Tgl4.Gl.enum
  val one_minus_src1_alpha : Tgl4.Gl.enum
  val one_minus_src1_color : Tgl4.Gl.enum
  val one_minus_src_alpha : Tgl4.Gl.enum
  val one_minus_src_color : Tgl4.Gl.enum
  val or_ : Tgl4.Gl.enum
  val or_inverted : Tgl4.Gl.enum
  val or_reverse : Tgl4.Gl.enum
  val out_of_memory : Tgl4.Gl.enum
  val pack_alignment : Tgl4.Gl.enum
  val pack_compressed_block_depth : Tgl4.Gl.enum
  val pack_compressed_block_height : Tgl4.Gl.enum
  val pack_compressed_block_size : Tgl4.Gl.enum
  val pack_compressed_block_width : Tgl4.Gl.enum
  val pack_image_height : Tgl4.Gl.enum
  val pack_lsb_first : Tgl4.Gl.enum
  val pack_row_length : Tgl4.Gl.enum
  val pack_skip_images : Tgl4.Gl.enum
  val pack_skip_pixels : Tgl4.Gl.enum
  val pack_skip_rows : Tgl4.Gl.enum
  val pack_swap_bytes : Tgl4.Gl.enum
  val patches : Tgl4.Gl.enum
  val patch_default_inner_level : Tgl4.Gl.enum
  val patch_default_outer_level : Tgl4.Gl.enum
  val patch_vertices : Tgl4.Gl.enum
  val pixel_buffer_barrier_bit : Tgl4.Gl.enum
  val pixel_pack_buffer : Tgl4.Gl.enum
  val pixel_pack_buffer_binding : Tgl4.Gl.enum
  val pixel_unpack_buffer : Tgl4.Gl.enum
  val pixel_unpack_buffer_binding : Tgl4.Gl.enum
  val point : Tgl4.Gl.enum
  val points : Tgl4.Gl.enum
  val point_fade_threshold_size : Tgl4.Gl.enum
  val point_size_enum : Tgl4.Gl.enum
  val point_size_granularity : Tgl4.Gl.enum
  val point_size_range : Tgl4.Gl.enum
  val point_sprite_coord_origin : Tgl4.Gl.enum
  val polygon_mode_enum : Tgl4.Gl.enum
  val polygon_offset_factor : Tgl4.Gl.enum
  val polygon_offset_fill : Tgl4.Gl.enum
  val polygon_offset_line : Tgl4.Gl.enum
  val polygon_offset_point : Tgl4.Gl.enum
  val polygon_offset_units : Tgl4.Gl.enum
  val polygon_smooth : Tgl4.Gl.enum
  val polygon_smooth_hint : Tgl4.Gl.enum
  val primitives_generated : Tgl4.Gl.enum
  val primitive_restart : Tgl4.Gl.enum
  val primitive_restart_fixed_index : Tgl4.Gl.enum
  val primitive_restart_for_patches_supported : Tgl4.Gl.enum
  val primitive_restart_index_enum : Tgl4.Gl.enum
  val program : Tgl4.Gl.enum
  val program_binary_formats : Tgl4.Gl.enum
  val program_binary_length : Tgl4.Gl.enum
  val program_binary_retrievable_hint : Tgl4.Gl.enum
  val program_input : Tgl4.Gl.enum
  val program_output : Tgl4.Gl.enum
  val program_pipeline : Tgl4.Gl.enum
  val program_pipeline_binding : Tgl4.Gl.enum
  val program_point_size : Tgl4.Gl.enum
  val program_separable : Tgl4.Gl.enum
  val provoking_vertex_enum : Tgl4.Gl.enum
  val proxy_texture_1d : Tgl4.Gl.enum
  val proxy_texture_1d_array : Tgl4.Gl.enum
  val proxy_texture_2d : Tgl4.Gl.enum
  val proxy_texture_2d_array : Tgl4.Gl.enum
  val proxy_texture_2d_multisample : Tgl4.Gl.enum
  val proxy_texture_2d_multisample_array : Tgl4.Gl.enum
  val proxy_texture_3d : Tgl4.Gl.enum
  val proxy_texture_cube_map : Tgl4.Gl.enum
  val proxy_texture_cube_map_array : Tgl4.Gl.enum
  val proxy_texture_rectangle : Tgl4.Gl.enum
  val quads : Tgl4.Gl.enum
  val quads_follow_provoking_vertex_convention : Tgl4.Gl.enum
  val query : Tgl4.Gl.enum
  val query_buffer : Tgl4.Gl.enum
  val query_buffer_barrier_bit : Tgl4.Gl.enum
  val query_buffer_binding : Tgl4.Gl.enum
  val query_by_region_no_wait : Tgl4.Gl.enum
  val query_by_region_no_wait_inverted : Tgl4.Gl.enum
  val query_by_region_wait : Tgl4.Gl.enum
  val query_by_region_wait_inverted : Tgl4.Gl.enum
  val query_counter_bits : Tgl4.Gl.enum
  val query_no_wait : Tgl4.Gl.enum
  val query_no_wait_inverted : Tgl4.Gl.enum
  val query_result : Tgl4.Gl.enum
  val query_result_available : Tgl4.Gl.enum
  val query_result_no_wait : Tgl4.Gl.enum
  val query_target : Tgl4.Gl.enum
  val query_wait : Tgl4.Gl.enum
  val query_wait_inverted : Tgl4.Gl.enum
  val r11f_g11f_b10f : Tgl4.Gl.enum
  val r16 : Tgl4.Gl.enum
  val r16f : Tgl4.Gl.enum
  val r16i : Tgl4.Gl.enum
  val r16ui : Tgl4.Gl.enum
  val r16_snorm : Tgl4.Gl.enum
  val r32f : Tgl4.Gl.enum
  val r32i : Tgl4.Gl.enum
  val r32ui : Tgl4.Gl.enum
  val r3_g3_b2 : Tgl4.Gl.enum
  val r8 : Tgl4.Gl.enum
  val r8i : Tgl4.Gl.enum
  val r8ui : Tgl4.Gl.enum
  val r8_snorm : Tgl4.Gl.enum
  val rasterizer_discard : Tgl4.Gl.enum
  val read_buffer_enum : Tgl4.Gl.enum
  val read_framebuffer : Tgl4.Gl.enum
  val read_framebuffer_binding : Tgl4.Gl.enum
  val read_only : Tgl4.Gl.enum
  val read_pixels_enum : Tgl4.Gl.enum
  val read_pixels_format : Tgl4.Gl.enum
  val read_pixels_type : Tgl4.Gl.enum
  val read_write : Tgl4.Gl.enum
  val red : Tgl4.Gl.enum
  val red_integer : Tgl4.Gl.enum
  val referenced_by_compute_shader : Tgl4.Gl.enum
  val referenced_by_fragment_shader : Tgl4.Gl.enum
  val referenced_by_geometry_shader : Tgl4.Gl.enum
  val referenced_by_tess_control_shader : Tgl4.Gl.enum
  val referenced_by_tess_evaluation_shader : Tgl4.Gl.enum
  val referenced_by_vertex_shader : Tgl4.Gl.enum
  val renderbuffer : Tgl4.Gl.enum
  val renderbuffer_alpha_size : Tgl4.Gl.enum
  val renderbuffer_binding : Tgl4.Gl.enum
  val renderbuffer_blue_size : Tgl4.Gl.enum
  val renderbuffer_depth_size : Tgl4.Gl.enum
  val renderbuffer_green_size : Tgl4.Gl.enum
  val renderbuffer_height : Tgl4.Gl.enum
  val renderbuffer_internal_format : Tgl4.Gl.enum
  val renderbuffer_red_size : Tgl4.Gl.enum
  val renderbuffer_samples : Tgl4.Gl.enum
  val renderbuffer_stencil_size : Tgl4.Gl.enum
  val renderbuffer_width : Tgl4.Gl.enum
  val renderer : Tgl4.Gl.enum
  val repeat : Tgl4.Gl.enum
  val replace : Tgl4.Gl.enum
  val reset_notification_strategy : Tgl4.Gl.enum
  val rg : Tgl4.Gl.enum
  val rg16 : Tgl4.Gl.enum
  val rg16f : Tgl4.Gl.enum
  val rg16i : Tgl4.Gl.enum
  val rg16ui : Tgl4.Gl.enum
  val rg16_snorm : Tgl4.Gl.enum
  val rg32f : Tgl4.Gl.enum
  val rg32i : Tgl4.Gl.enum
  val rg32ui : Tgl4.Gl.enum
  val rg8 : Tgl4.Gl.enum
  val rg8i : Tgl4.Gl.enum
  val rg8ui : Tgl4.Gl.enum
  val rg8_snorm : Tgl4.Gl.enum
  val rgb : Tgl4.Gl.enum
  val rgb10 : Tgl4.Gl.enum
  val rgb10_a2 : Tgl4.Gl.enum
  val rgb10_a2ui : Tgl4.Gl.enum
  val rgb12 : Tgl4.Gl.enum
  val rgb16 : Tgl4.Gl.enum
  val rgb16f : Tgl4.Gl.enum
  val rgb16i : Tgl4.Gl.enum
  val rgb16ui : Tgl4.Gl.enum
  val rgb16_snorm : Tgl4.Gl.enum
  val rgb32f : Tgl4.Gl.enum
  val rgb32i : Tgl4.Gl.enum
  val rgb32ui : Tgl4.Gl.enum
  val rgb4 : Tgl4.Gl.enum
  val rgb5 : Tgl4.Gl.enum
  val rgb565 : Tgl4.Gl.enum
  val rgb5_a1 : Tgl4.Gl.enum
  val rgb8 : Tgl4.Gl.enum
  val rgb8i : Tgl4.Gl.enum
  val rgb8ui : Tgl4.Gl.enum
  val rgb8_snorm : Tgl4.Gl.enum
  val rgb9_e5 : Tgl4.Gl.enum
  val rgba : Tgl4.Gl.enum
  val rgba12 : Tgl4.Gl.enum
  val rgba16 : Tgl4.Gl.enum
  val rgba16f : Tgl4.Gl.enum
  val rgba16i : Tgl4.Gl.enum
  val rgba16ui : Tgl4.Gl.enum
  val rgba16_snorm : Tgl4.Gl.enum
  val rgba2 : Tgl4.Gl.enum
  val rgba32f : Tgl4.Gl.enum
  val rgba32i : Tgl4.Gl.enum
  val rgba32ui : Tgl4.Gl.enum
  val rgba4 : Tgl4.Gl.enum
  val rgba8 : Tgl4.Gl.enum
  val rgba8i : Tgl4.Gl.enum
  val rgba8ui : Tgl4.Gl.enum
  val rgba8_snorm : Tgl4.Gl.enum
  val rgba_integer : Tgl4.Gl.enum
  val rgb_integer : Tgl4.Gl.enum
  val rg_integer : Tgl4.Gl.enum
  val right : Tgl4.Gl.enum
  val sampler : Tgl4.Gl.enum
  val sampler_1d : Tgl4.Gl.enum
  val sampler_1d_array : Tgl4.Gl.enum
  val sampler_1d_array_shadow : Tgl4.Gl.enum
  val sampler_1d_shadow : Tgl4.Gl.enum
  val sampler_2d : Tgl4.Gl.enum
  val sampler_2d_array : Tgl4.Gl.enum
  val sampler_2d_array_shadow : Tgl4.Gl.enum
  val sampler_2d_multisample : Tgl4.Gl.enum
  val sampler_2d_multisample_array : Tgl4.Gl.enum
  val sampler_2d_rect : Tgl4.Gl.enum
  val sampler_2d_rect_shadow : Tgl4.Gl.enum
  val sampler_2d_shadow : Tgl4.Gl.enum
  val sampler_3d : Tgl4.Gl.enum
  val sampler_binding : Tgl4.Gl.enum
  val sampler_buffer : Tgl4.Gl.enum
  val sampler_cube : Tgl4.Gl.enum
  val sampler_cube_map_array : Tgl4.Gl.enum
  val sampler_cube_map_array_shadow : Tgl4.Gl.enum
  val sampler_cube_shadow : Tgl4.Gl.enum
  val samples : Tgl4.Gl.enum
  val samples_passed : Tgl4.Gl.enum
  val sample_alpha_to_coverage : Tgl4.Gl.enum
  val sample_alpha_to_one : Tgl4.Gl.enum
  val sample_buffers : Tgl4.Gl.enum
  val sample_coverage_enum : Tgl4.Gl.enum
  val sample_coverage_invert : Tgl4.Gl.enum
  val sample_coverage_value : Tgl4.Gl.enum
  val sample_mask : Tgl4.Gl.enum
  val sample_mask_value : Tgl4.Gl.enum
  val sample_position : Tgl4.Gl.enum
  val sample_shading : Tgl4.Gl.enum
  val scissor_box : Tgl4.Gl.enum
  val scissor_test : Tgl4.Gl.enum
  val separate_attribs : Tgl4.Gl.enum
  val set : Tgl4.Gl.enum
  val shader : Tgl4.Gl.enum
  val shader_binary_formats : Tgl4.Gl.enum
  val shader_compiler : Tgl4.Gl.enum
  val shader_image_access_barrier_bit : Tgl4.Gl.enum
  val shader_image_atomic : Tgl4.Gl.enum
  val shader_image_load : Tgl4.Gl.enum
  val shader_image_store : Tgl4.Gl.enum
  val shader_source_length : Tgl4.Gl.enum
  val shader_storage_barrier_bit : Tgl4.Gl.enum
  val shader_storage_block : Tgl4.Gl.enum
  val shader_storage_buffer : Tgl4.Gl.enum
  val shader_storage_buffer_binding : Tgl4.Gl.enum
  val shader_storage_buffer_offset_alignment : Tgl4.Gl.enum
  val shader_storage_buffer_size : Tgl4.Gl.enum
  val shader_storage_buffer_start : Tgl4.Gl.enum
  val shader_type : Tgl4.Gl.enum
  val shading_language_version : Tgl4.Gl.enum
  val short : Tgl4.Gl.enum
  val signaled : Tgl4.Gl.enum
  val signed_normalized : Tgl4.Gl.enum
  val simultaneous_texture_and_depth_test : Tgl4.Gl.enum
  val simultaneous_texture_and_depth_write : Tgl4.Gl.enum
  val simultaneous_texture_and_stencil_test : Tgl4.Gl.enum
  val simultaneous_texture_and_stencil_write : Tgl4.Gl.enum
  val smooth_line_width_granularity : Tgl4.Gl.enum
  val smooth_line_width_range : Tgl4.Gl.enum
  val smooth_point_size_granularity : Tgl4.Gl.enum
  val smooth_point_size_range : Tgl4.Gl.enum
  val src1_alpha : Tgl4.Gl.enum
  val src1_color : Tgl4.Gl.enum
  val src_alpha : Tgl4.Gl.enum
  val src_alpha_saturate : Tgl4.Gl.enum
  val src_color : Tgl4.Gl.enum
  val srgb : Tgl4.Gl.enum
  val srgb8 : Tgl4.Gl.enum
  val srgb8_alpha8 : Tgl4.Gl.enum
  val srgb_alpha : Tgl4.Gl.enum
  val srgb_read : Tgl4.Gl.enum
  val srgb_write : Tgl4.Gl.enum
  val stack_overflow : Tgl4.Gl.enum
  val stack_underflow : Tgl4.Gl.enum
  val static_copy : Tgl4.Gl.enum
  val static_draw : Tgl4.Gl.enum
  val static_read : Tgl4.Gl.enum
  val stencil : Tgl4.Gl.enum
  val stencil_attachment : Tgl4.Gl.enum
  val stencil_back_fail : Tgl4.Gl.enum
  val stencil_back_func : Tgl4.Gl.enum
  val stencil_back_pass_depth_fail : Tgl4.Gl.enum
  val stencil_back_pass_depth_pass : Tgl4.Gl.enum
  val stencil_back_ref : Tgl4.Gl.enum
  val stencil_back_value_mask : Tgl4.Gl.enum
  val stencil_back_writemask : Tgl4.Gl.enum
  val stencil_buffer_bit : Tgl4.Gl.enum
  val stencil_clear_value : Tgl4.Gl.enum
  val stencil_components : Tgl4.Gl.enum
  val stencil_fail : Tgl4.Gl.enum
  val stencil_func_enum : Tgl4.Gl.enum
  val stencil_index : Tgl4.Gl.enum
  val stencil_index1 : Tgl4.Gl.enum
  val stencil_index16 : Tgl4.Gl.enum
  val stencil_index4 : Tgl4.Gl.enum
  val stencil_index8 : Tgl4.Gl.enum
  val stencil_pass_depth_fail : Tgl4.Gl.enum
  val stencil_pass_depth_pass : Tgl4.Gl.enum
  val stencil_ref : Tgl4.Gl.enum
  val stencil_renderable : Tgl4.Gl.enum
  val stencil_test : Tgl4.Gl.enum
  val stencil_value_mask : Tgl4.Gl.enum
  val stencil_writemask : Tgl4.Gl.enum
  val stereo : Tgl4.Gl.enum
  val stream_copy : Tgl4.Gl.enum
  val stream_draw : Tgl4.Gl.enum
  val stream_read : Tgl4.Gl.enum
  val subpixel_bits : Tgl4.Gl.enum
  val sync_condition : Tgl4.Gl.enum
  val sync_fence : Tgl4.Gl.enum
  val sync_flags : Tgl4.Gl.enum
  val sync_flush_commands_bit : Tgl4.Gl.enum
  val sync_gpu_commands_complete : Tgl4.Gl.enum
  val sync_status : Tgl4.Gl.enum
  val tess_control_output_vertices : Tgl4.Gl.enum
  val tess_control_shader : Tgl4.Gl.enum
  val tess_control_shader_bit : Tgl4.Gl.enum
  val tess_control_subroutine : Tgl4.Gl.enum
  val tess_control_subroutine_uniform : Tgl4.Gl.enum
  val tess_control_texture : Tgl4.Gl.enum
  val tess_evaluation_shader : Tgl4.Gl.enum
  val tess_evaluation_shader_bit : Tgl4.Gl.enum
  val tess_evaluation_subroutine : Tgl4.Gl.enum
  val tess_evaluation_subroutine_uniform : Tgl4.Gl.enum
  val tess_evaluation_texture : Tgl4.Gl.enum
  val tess_gen_mode : Tgl4.Gl.enum
  val tess_gen_point_mode : Tgl4.Gl.enum
  val tess_gen_spacing : Tgl4.Gl.enum
  val tess_gen_vertex_order : Tgl4.Gl.enum
  val texture : Tgl4.Gl.enum
  val texture0 : Tgl4.Gl.enum
  val texture1 : Tgl4.Gl.enum
  val texture10 : Tgl4.Gl.enum
  val texture11 : Tgl4.Gl.enum
  val texture12 : Tgl4.Gl.enum
  val texture13 : Tgl4.Gl.enum
  val texture14 : Tgl4.Gl.enum
  val texture15 : Tgl4.Gl.enum
  val texture16 : Tgl4.Gl.enum
  val texture17 : Tgl4.Gl.enum
  val texture18 : Tgl4.Gl.enum
  val texture19 : Tgl4.Gl.enum
  val texture2 : Tgl4.Gl.enum
  val texture20 : Tgl4.Gl.enum
  val texture21 : Tgl4.Gl.enum
  val texture22 : Tgl4.Gl.enum
  val texture23 : Tgl4.Gl.enum
  val texture24 : Tgl4.Gl.enum
  val texture25 : Tgl4.Gl.enum
  val texture26 : Tgl4.Gl.enum
  val texture27 : Tgl4.Gl.enum
  val texture28 : Tgl4.Gl.enum
  val texture29 : Tgl4.Gl.enum
  val texture3 : Tgl4.Gl.enum
  val texture30 : Tgl4.Gl.enum
  val texture31 : Tgl4.Gl.enum
  val texture4 : Tgl4.Gl.enum
  val texture5 : Tgl4.Gl.enum
  val texture6 : Tgl4.Gl.enum
  val texture7 : Tgl4.Gl.enum
  val texture8 : Tgl4.Gl.enum
  val texture9 : Tgl4.Gl.enum
  val texture_1d : Tgl4.Gl.enum
  val texture_1d_array : Tgl4.Gl.enum
  val texture_2d : Tgl4.Gl.enum
  val texture_2d_array : Tgl4.Gl.enum
  val texture_2d_multisample : Tgl4.Gl.enum
  val texture_2d_multisample_array : Tgl4.Gl.enum
  val texture_3d : Tgl4.Gl.enum
  val texture_alpha_size : Tgl4.Gl.enum
  val texture_alpha_type : Tgl4.Gl.enum
  val texture_base_level : Tgl4.Gl.enum
  val texture_binding_1d : Tgl4.Gl.enum
  val texture_binding_1d_array : Tgl4.Gl.enum
  val texture_binding_2d : Tgl4.Gl.enum
  val texture_binding_2d_array : Tgl4.Gl.enum
  val texture_binding_2d_multisample : Tgl4.Gl.enum
  val texture_binding_2d_multisample_array : Tgl4.Gl.enum
  val texture_binding_3d : Tgl4.Gl.enum
  val texture_binding_buffer : Tgl4.Gl.enum
  val texture_binding_cube_map : Tgl4.Gl.enum
  val texture_binding_cube_map_array : Tgl4.Gl.enum
  val texture_binding_rectangle : Tgl4.Gl.enum
  val texture_blue_size : Tgl4.Gl.enum
  val texture_blue_type : Tgl4.Gl.enum
  val texture_border_color : Tgl4.Gl.enum
  val texture_buffer_enum : Tgl4.Gl.enum
  val texture_buffer_binding : Tgl4.Gl.enum
  val texture_buffer_data_store_binding : Tgl4.Gl.enum
  val texture_buffer_offset : Tgl4.Gl.enum
  val texture_buffer_offset_alignment : Tgl4.Gl.enum
  val texture_buffer_size : Tgl4.Gl.enum
  val texture_compare_func : Tgl4.Gl.enum
  val texture_compare_mode : Tgl4.Gl.enum
  val texture_compressed : Tgl4.Gl.enum
  val texture_compressed_block_height : Tgl4.Gl.enum
  val texture_compressed_block_size : Tgl4.Gl.enum
  val texture_compressed_block_width : Tgl4.Gl.enum
  val texture_compressed_image_size : Tgl4.Gl.enum
  val texture_compression_hint : Tgl4.Gl.enum
  val texture_cube_map : Tgl4.Gl.enum
  val texture_cube_map_array : Tgl4.Gl.enum
  val texture_cube_map_negative_x : Tgl4.Gl.enum
  val texture_cube_map_negative_y : Tgl4.Gl.enum
  val texture_cube_map_negative_z : Tgl4.Gl.enum
  val texture_cube_map_positive_x : Tgl4.Gl.enum
  val texture_cube_map_positive_y : Tgl4.Gl.enum
  val texture_cube_map_positive_z : Tgl4.Gl.enum
  val texture_cube_map_seamless : Tgl4.Gl.enum
  val texture_depth : Tgl4.Gl.enum
  val texture_depth_size : Tgl4.Gl.enum
  val texture_depth_type : Tgl4.Gl.enum
  val texture_fetch_barrier_bit : Tgl4.Gl.enum
  val texture_fixed_sample_locations : Tgl4.Gl.enum
  val texture_gather : Tgl4.Gl.enum
  val texture_gather_shadow : Tgl4.Gl.enum
  val texture_green_size : Tgl4.Gl.enum
  val texture_green_type : Tgl4.Gl.enum
  val texture_height : Tgl4.Gl.enum
  val texture_image_format : Tgl4.Gl.enum
  val texture_image_type : Tgl4.Gl.enum
  val texture_immutable_format : Tgl4.Gl.enum
  val texture_immutable_levels : Tgl4.Gl.enum
  val texture_internal_format : Tgl4.Gl.enum
  val texture_lod_bias : Tgl4.Gl.enum
  val texture_mag_filter : Tgl4.Gl.enum
  val texture_max_level : Tgl4.Gl.enum
  val texture_max_lod : Tgl4.Gl.enum
  val texture_min_filter : Tgl4.Gl.enum
  val texture_min_lod : Tgl4.Gl.enum
  val texture_rectangle : Tgl4.Gl.enum
  val texture_red_size : Tgl4.Gl.enum
  val texture_red_type : Tgl4.Gl.enum
  val texture_samples : Tgl4.Gl.enum
  val texture_shadow : Tgl4.Gl.enum
  val texture_shared_size : Tgl4.Gl.enum
  val texture_stencil_size : Tgl4.Gl.enum
  val texture_swizzle_a : Tgl4.Gl.enum
  val texture_swizzle_b : Tgl4.Gl.enum
  val texture_swizzle_g : Tgl4.Gl.enum
  val texture_swizzle_r : Tgl4.Gl.enum
  val texture_swizzle_rgba : Tgl4.Gl.enum
  val texture_target : Tgl4.Gl.enum
  val texture_update_barrier_bit : Tgl4.Gl.enum
  val texture_view_enum : Tgl4.Gl.enum
  val texture_view_min_layer : Tgl4.Gl.enum
  val texture_view_min_level : Tgl4.Gl.enum
  val texture_view_num_layers : Tgl4.Gl.enum
  val texture_view_num_levels : Tgl4.Gl.enum
  val texture_width : Tgl4.Gl.enum
  val texture_wrap_r : Tgl4.Gl.enum
  val texture_wrap_s : Tgl4.Gl.enum
  val texture_wrap_t : Tgl4.Gl.enum
  val timeout_expired : Tgl4.Gl.enum
  val timeout_ignored : int64
  val timestamp : Tgl4.Gl.enum
  val time_elapsed : Tgl4.Gl.enum
  val top_level_array_size : Tgl4.Gl.enum
  val top_level_array_stride : Tgl4.Gl.enum
  val transform_feedback : Tgl4.Gl.enum
  val transform_feedback_active : Tgl4.Gl.enum
  val transform_feedback_barrier_bit : Tgl4.Gl.enum
  val transform_feedback_binding : Tgl4.Gl.enum
  val transform_feedback_buffer : Tgl4.Gl.enum
  val transform_feedback_buffer_active : Tgl4.Gl.enum
  val transform_feedback_buffer_binding : Tgl4.Gl.enum
  val transform_feedback_buffer_index : Tgl4.Gl.enum
  val transform_feedback_buffer_mode : Tgl4.Gl.enum
  val transform_feedback_buffer_paused : Tgl4.Gl.enum
  val transform_feedback_buffer_size : Tgl4.Gl.enum
  val transform_feedback_buffer_start : Tgl4.Gl.enum
  val transform_feedback_buffer_stride : Tgl4.Gl.enum
  val transform_feedback_paused : Tgl4.Gl.enum
  val transform_feedback_primitives_written : Tgl4.Gl.enum
  val transform_feedback_varying : Tgl4.Gl.enum
  val transform_feedback_varyings_enum : Tgl4.Gl.enum
  val transform_feedback_varying_max_length : Tgl4.Gl.enum
  val triangles : Tgl4.Gl.enum
  val triangles_adjacency : Tgl4.Gl.enum
  val triangle_fan : Tgl4.Gl.enum
  val triangle_strip : Tgl4.Gl.enum
  val triangle_strip_adjacency : Tgl4.Gl.enum
  val true_ : Tgl4.Gl.enum
  val type_ : Tgl4.Gl.enum
  val undefined_vertex : Tgl4.Gl.enum
  val uniform : Tgl4.Gl.enum
  val uniform_array_stride : Tgl4.Gl.enum
  val uniform_atomic_counter_buffer_index : Tgl4.Gl.enum
  val uniform_barrier_bit : Tgl4.Gl.enum
  val uniform_block : Tgl4.Gl.enum
  val uniform_block_active_uniforms : Tgl4.Gl.enum
  val uniform_block_active_uniform_indices : Tgl4.Gl.enum
  val uniform_block_binding_enum : Tgl4.Gl.enum
  val uniform_block_data_size : Tgl4.Gl.enum
  val uniform_block_index : Tgl4.Gl.enum
  val uniform_block_name_length : Tgl4.Gl.enum
  val uniform_block_referenced_by_compute_shader : Tgl4.Gl.enum
  val uniform_block_referenced_by_fragment_shader : Tgl4.Gl.enum
  val uniform_block_referenced_by_geometry_shader : Tgl4.Gl.enum
  val uniform_block_referenced_by_tess_control_shader : Tgl4.Gl.enum
  val uniform_block_referenced_by_tess_evaluation_shader : Tgl4.Gl.enum
  val uniform_block_referenced_by_vertex_shader : Tgl4.Gl.enum
  val uniform_buffer : Tgl4.Gl.enum
  val uniform_buffer_binding : Tgl4.Gl.enum
  val uniform_buffer_offset_alignment : Tgl4.Gl.enum
  val uniform_buffer_size : Tgl4.Gl.enum
  val uniform_buffer_start : Tgl4.Gl.enum
  val uniform_is_row_major : Tgl4.Gl.enum
  val uniform_matrix_stride : Tgl4.Gl.enum
  val uniform_name_length : Tgl4.Gl.enum
  val uniform_offset : Tgl4.Gl.enum
  val uniform_size : Tgl4.Gl.enum
  val uniform_type : Tgl4.Gl.enum
  val unknown_context_reset : Tgl4.Gl.enum
  val unpack_alignment : Tgl4.Gl.enum
  val unpack_compressed_block_depth : Tgl4.Gl.enum
  val unpack_compressed_block_height : Tgl4.Gl.enum
  val unpack_compressed_block_size : Tgl4.Gl.enum
  val unpack_compressed_block_width : Tgl4.Gl.enum
  val unpack_image_height : Tgl4.Gl.enum
  val unpack_lsb_first : Tgl4.Gl.enum
  val unpack_row_length : Tgl4.Gl.enum
  val unpack_skip_images : Tgl4.Gl.enum
  val unpack_skip_pixels : Tgl4.Gl.enum
  val unpack_skip_rows : Tgl4.Gl.enum
  val unpack_swap_bytes : Tgl4.Gl.enum
  val unsignaled : Tgl4.Gl.enum
  val unsigned_byte : Tgl4.Gl.enum
  val unsigned_byte_2_3_3_rev : Tgl4.Gl.enum
  val unsigned_byte_3_3_2 : Tgl4.Gl.enum
  val unsigned_int : Tgl4.Gl.enum
  val unsigned_int_10f_11f_11f_rev : Tgl4.Gl.enum
  val unsigned_int_10_10_10_2 : Tgl4.Gl.enum
  val unsigned_int_24_8 : Tgl4.Gl.enum
  val unsigned_int_2_10_10_10_rev : Tgl4.Gl.enum
  val unsigned_int_5_9_9_9_rev : Tgl4.Gl.enum
  val unsigned_int_8_8_8_8 : Tgl4.Gl.enum
  val unsigned_int_8_8_8_8_rev : Tgl4.Gl.enum
  val unsigned_int_atomic_counter : Tgl4.Gl.enum
  val unsigned_int_image_1d : Tgl4.Gl.enum
  val unsigned_int_image_1d_array : Tgl4.Gl.enum
  val unsigned_int_image_2d : Tgl4.Gl.enum
  val unsigned_int_image_2d_array : Tgl4.Gl.enum
  val unsigned_int_image_2d_multisample : Tgl4.Gl.enum
  val unsigned_int_image_2d_multisample_array : Tgl4.Gl.enum
  val unsigned_int_image_2d_rect : Tgl4.Gl.enum
  val unsigned_int_image_3d : Tgl4.Gl.enum
  val unsigned_int_image_buffer : Tgl4.Gl.enum
  val unsigned_int_image_cube : Tgl4.Gl.enum
  val unsigned_int_image_cube_map_array : Tgl4.Gl.enum
  val unsigned_int_sampler_1d : Tgl4.Gl.enum
  val unsigned_int_sampler_1d_array : Tgl4.Gl.enum
  val unsigned_int_sampler_2d : Tgl4.Gl.enum
  val unsigned_int_sampler_2d_array : Tgl4.Gl.enum
  val unsigned_int_sampler_2d_multisample : Tgl4.Gl.enum
  val unsigned_int_sampler_2d_multisample_array : Tgl4.Gl.enum
  val unsigned_int_sampler_2d_rect : Tgl4.Gl.enum
  val unsigned_int_sampler_3d : Tgl4.Gl.enum
  val unsigned_int_sampler_buffer : Tgl4.Gl.enum
  val unsigned_int_sampler_cube : Tgl4.Gl.enum
  val unsigned_int_sampler_cube_map_array : Tgl4.Gl.enum
  val unsigned_int_vec2 : Tgl4.Gl.enum
  val unsigned_int_vec3 : Tgl4.Gl.enum
  val unsigned_int_vec4 : Tgl4.Gl.enum
  val unsigned_normalized : Tgl4.Gl.enum
  val unsigned_short : Tgl4.Gl.enum
  val unsigned_short_1_5_5_5_rev : Tgl4.Gl.enum
  val unsigned_short_4_4_4_4 : Tgl4.Gl.enum
  val unsigned_short_4_4_4_4_rev : Tgl4.Gl.enum
  val unsigned_short_5_5_5_1 : Tgl4.Gl.enum
  val unsigned_short_5_6_5 : Tgl4.Gl.enum
  val unsigned_short_5_6_5_rev : Tgl4.Gl.enum
  val upper_left : Tgl4.Gl.enum
  val validate_status : Tgl4.Gl.enum
  val vendor : Tgl4.Gl.enum
  val version : Tgl4.Gl.enum
  val vertex_array : Tgl4.Gl.enum
  val vertex_array_binding : Tgl4.Gl.enum
  val vertex_attrib_array_barrier_bit : Tgl4.Gl.enum
  val vertex_attrib_array_buffer_binding : Tgl4.Gl.enum
  val vertex_attrib_array_divisor : Tgl4.Gl.enum
  val vertex_attrib_array_enabled : Tgl4.Gl.enum
  val vertex_attrib_array_integer : Tgl4.Gl.enum
  val vertex_attrib_array_long : Tgl4.Gl.enum
  val vertex_attrib_array_normalized : Tgl4.Gl.enum
  val vertex_attrib_array_pointer : Tgl4.Gl.enum
  val vertex_attrib_array_size : Tgl4.Gl.enum
  val vertex_attrib_array_stride : Tgl4.Gl.enum
  val vertex_attrib_array_type : Tgl4.Gl.enum
  val vertex_attrib_binding_enum : Tgl4.Gl.enum
  val vertex_attrib_relative_offset : Tgl4.Gl.enum
  val vertex_binding_buffer : Tgl4.Gl.enum
  val vertex_binding_divisor_enum : Tgl4.Gl.enum
  val vertex_binding_offset : Tgl4.Gl.enum
  val vertex_binding_stride : Tgl4.Gl.enum
  val vertex_program_point_size : Tgl4.Gl.enum
  val vertex_shader : Tgl4.Gl.enum
  val vertex_shader_bit : Tgl4.Gl.enum
  val vertex_subroutine : Tgl4.Gl.enum
  val vertex_subroutine_uniform : Tgl4.Gl.enum
  val vertex_texture : Tgl4.Gl.enum
  val viewport_enum : Tgl4.Gl.enum
  val viewport_bounds_range : Tgl4.Gl.enum
  val viewport_index_provoking_vertex : Tgl4.Gl.enum
  val viewport_subpixel_bits : Tgl4.Gl.enum
  val view_class_128_bits : Tgl4.Gl.enum
  val view_class_16_bits : Tgl4.Gl.enum
  val view_class_24_bits : Tgl4.Gl.enum
  val view_class_32_bits : Tgl4.Gl.enum
  val view_class_48_bits : Tgl4.Gl.enum
  val view_class_64_bits : Tgl4.Gl.enum
  val view_class_8_bits : Tgl4.Gl.enum
  val view_class_96_bits : Tgl4.Gl.enum
  val view_class_bptc_float : Tgl4.Gl.enum
  val view_class_bptc_unorm : Tgl4.Gl.enum
  val view_class_rgtc1_red : Tgl4.Gl.enum
  val view_class_rgtc2_rg : Tgl4.Gl.enum
  val view_class_s3tc_dxt1_rgb : Tgl4.Gl.enum
  val view_class_s3tc_dxt1_rgba : Tgl4.Gl.enum
  val view_class_s3tc_dxt3_rgba : Tgl4.Gl.enum
  val view_class_s3tc_dxt5_rgba : Tgl4.Gl.enum
  val view_compatibility_class : Tgl4.Gl.enum
  val wait_failed : Tgl4.Gl.enum
  val write_only : Tgl4.Gl.enum
  val xor : Tgl4.Gl.enum
  val zero : Tgl4.Gl.enum
  val zero_to_one : Tgl4.Gl.enum
end