sig
  module Gl :
    sig
      type ('a, 'b) bigarray = ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t
      val bigarray_byte_size : ('a, 'b) Tgl3.Gl.bigarray -> int
      val string_of_bigarray :
        (char, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> string
      type bitfield = int
      type enum = int
      type enum_bigarray = (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray
      type int16 = int
      type sync
      type uint32_bigarray = (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray
      type uint64 = int64
      type uint64_bigarray = (int64, Bigarray.int64_elt) Tgl3.Gl.bigarray
      type uint8 = int
      type debug_proc =
          Tgl3.Gl.enum ->
          Tgl3.Gl.enum -> int -> Tgl3.Gl.enum -> string -> unit
      val active_texture : Tgl3.Gl.enum -> unit
      val attach_shader : int -> int -> unit
      val begin_conditional_render : int -> Tgl3.Gl.enum -> unit
      val begin_query : Tgl3.Gl.enum -> int -> unit
      val begin_transform_feedback : Tgl3.Gl.enum -> unit
      val bind_attrib_location : int -> int -> string -> unit
      val bind_buffer : Tgl3.Gl.enum -> int -> unit
      val bind_buffer_base : Tgl3.Gl.enum -> int -> int -> unit
      val bind_buffer_range :
        Tgl3.Gl.enum -> int -> int -> int -> int -> unit
      val bind_frag_data_location : int -> int -> string -> unit
      val bind_frag_data_location_indexed :
        int -> int -> int -> string -> unit
      val bind_framebuffer : Tgl3.Gl.enum -> int -> unit
      val bind_renderbuffer : Tgl3.Gl.enum -> int -> unit
      val bind_sampler : int -> int -> unit
      val bind_texture : Tgl3.Gl.enum -> int -> unit
      val bind_vertex_array : int -> unit
      val blend_color : float -> float -> float -> float -> unit
      val blend_equation : Tgl3.Gl.enum -> unit
      val blend_equation_separate : Tgl3.Gl.enum -> Tgl3.Gl.enum -> unit
      val blend_func : Tgl3.Gl.enum -> Tgl3.Gl.enum -> unit
      val blend_func_separate :
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> Tgl3.Gl.enum -> Tgl3.Gl.enum -> unit
      val blit_framebuffer :
        int ->
        int ->
        int ->
        int ->
        int -> int -> int -> int -> Tgl3.Gl.bitfield -> Tgl3.Gl.enum -> unit
      val buffer_data :
        Tgl3.Gl.enum ->
        int -> ('a, 'b) Tgl3.Gl.bigarray option -> Tgl3.Gl.enum -> unit
      val buffer_sub_data :
        Tgl3.Gl.enum ->
        int -> int -> ('a, 'b) Tgl3.Gl.bigarray option -> unit
      val check_framebuffer_status : Tgl3.Gl.enum -> Tgl3.Gl.enum
      val clamp_color : Tgl3.Gl.enum -> Tgl3.Gl.enum -> unit
      val clear : Tgl3.Gl.bitfield -> unit
      val clear_bufferfi : Tgl3.Gl.enum -> int -> float -> int -> unit
      val clear_bufferfv :
        Tgl3.Gl.enum ->
        int -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val clear_bufferiv :
        Tgl3.Gl.enum ->
        int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val clear_bufferuiv :
        Tgl3.Gl.enum -> int -> Tgl3.Gl.uint32_bigarray -> unit
      val clear_color : float -> float -> float -> float -> unit
      val clear_depth : float -> unit
      val clear_stencil : int -> unit
      val client_wait_sync :
        Tgl3.Gl.sync -> Tgl3.Gl.bitfield -> Tgl3.Gl.uint64 -> Tgl3.Gl.enum
      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 :
        Tgl3.Gl.enum ->
        int ->
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val compressed_tex_image2d :
        Tgl3.Gl.enum ->
        int ->
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        int ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val compressed_tex_image3d :
        Tgl3.Gl.enum ->
        int ->
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        int ->
        int ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val compressed_tex_sub_image1d :
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        Tgl3.Gl.enum ->
        int ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val compressed_tex_sub_image2d :
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        int ->
        int ->
        Tgl3.Gl.enum ->
        int ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val compressed_tex_sub_image3d :
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        int ->
        int ->
        int ->
        int ->
        Tgl3.Gl.enum ->
        int ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val copy_buffer_sub_data :
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> int -> int -> int -> unit
      val copy_tex_image1d :
        Tgl3.Gl.enum ->
        int -> Tgl3.Gl.enum -> int -> int -> int -> int -> unit
      val copy_tex_image2d :
        Tgl3.Gl.enum ->
        int -> Tgl3.Gl.enum -> int -> int -> int -> int -> int -> unit
      val copy_tex_sub_image1d :
        Tgl3.Gl.enum -> int -> int -> int -> int -> int -> unit
      val copy_tex_sub_image2d :
        Tgl3.Gl.enum -> int -> int -> int -> int -> int -> int -> int -> unit
      val copy_tex_sub_image3d :
        Tgl3.Gl.enum ->
        int -> int -> int -> int -> int -> int -> int -> int -> unit
      val create_program : unit -> int
      val create_shader : Tgl3.Gl.enum -> int
      val cull_face : Tgl3.Gl.enum -> unit
      val delete_buffers : int -> Tgl3.Gl.uint32_bigarray -> unit
      val delete_framebuffers : int -> Tgl3.Gl.uint32_bigarray -> unit
      val delete_program : int -> unit
      val delete_queries : int -> Tgl3.Gl.uint32_bigarray -> unit
      val delete_renderbuffers : int -> Tgl3.Gl.uint32_bigarray -> unit
      val delete_samplers : int -> Tgl3.Gl.uint32_bigarray -> unit
      val delete_shader : int -> unit
      val delete_sync : Tgl3.Gl.sync -> unit
      val delete_textures : int -> Tgl3.Gl.uint32_bigarray -> unit
      val delete_vertex_arrays : int -> Tgl3.Gl.uint32_bigarray -> unit
      val depth_func : Tgl3.Gl.enum -> unit
      val depth_mask : bool -> unit
      val depth_range : float -> float -> unit
      val detach_shader : int -> int -> unit
      val disable : Tgl3.Gl.enum -> unit
      val disable_vertex_attrib_array : int -> unit
      val disablei : Tgl3.Gl.enum -> int -> unit
      val draw_arrays : Tgl3.Gl.enum -> int -> int -> unit
      val draw_arrays_instanced : Tgl3.Gl.enum -> int -> int -> int -> unit
      val draw_buffer : Tgl3.Gl.enum -> unit
      val draw_buffers : int -> Tgl3.Gl.enum_bigarray -> unit
      val draw_elements :
        Tgl3.Gl.enum ->
        int ->
        Tgl3.Gl.enum ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val draw_elements_base_vertex :
        Tgl3.Gl.enum ->
        int ->
        Tgl3.Gl.enum ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] ->
        int -> unit
      val draw_elements_instanced :
        Tgl3.Gl.enum ->
        int ->
        Tgl3.Gl.enum ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] ->
        int -> unit
      val draw_elements_instanced_base_vertex :
        Tgl3.Gl.enum ->
        int ->
        Tgl3.Gl.enum ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] ->
        int -> int -> unit
      val draw_range_elements :
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        Tgl3.Gl.enum ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val draw_range_elements_base_vertex :
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        Tgl3.Gl.enum ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] ->
        int -> unit
      val enable : Tgl3.Gl.enum -> unit
      val enable_vertex_attrib_array : int -> unit
      val enablei : Tgl3.Gl.enum -> int -> unit
      val end_conditional_render : unit -> unit
      val end_query : Tgl3.Gl.enum -> unit
      val end_transform_feedback : unit -> unit
      val fence_sync : Tgl3.Gl.enum -> Tgl3.Gl.bitfield -> Tgl3.Gl.sync
      val finish : unit -> unit
      val flush : unit -> unit
      val flush_mapped_buffer_range : Tgl3.Gl.enum -> int -> int -> unit
      val framebuffer_renderbuffer :
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> Tgl3.Gl.enum -> int -> unit
      val framebuffer_texture :
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> int -> int -> unit
      val framebuffer_texture1d :
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> Tgl3.Gl.enum -> int -> int -> unit
      val framebuffer_texture2d :
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> Tgl3.Gl.enum -> int -> int -> unit
      val framebuffer_texture3d :
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> int -> int -> int -> unit
      val framebuffer_texture_layer :
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> int -> int -> int -> unit
      val front_face : Tgl3.Gl.enum -> unit
      val gen_buffers : int -> Tgl3.Gl.uint32_bigarray -> unit
      val gen_framebuffers : int -> Tgl3.Gl.uint32_bigarray -> unit
      val gen_queries : int -> Tgl3.Gl.uint32_bigarray -> unit
      val gen_renderbuffers : int -> Tgl3.Gl.uint32_bigarray -> unit
      val gen_samplers : int -> Tgl3.Gl.uint32_bigarray -> unit
      val gen_textures : int -> Tgl3.Gl.uint32_bigarray -> unit
      val gen_vertex_arrays : int -> Tgl3.Gl.uint32_bigarray -> unit
      val generate_mipmap : Tgl3.Gl.enum -> unit
      val get_active_attrib :
        int ->
        int ->
        int ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray option ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray ->
        Tgl3.Gl.enum_bigarray ->
        (char, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val get_active_uniform :
        int ->
        int ->
        int ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray option ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray ->
        Tgl3.Gl.enum_bigarray ->
        (char, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val get_active_uniform_block_name :
        int ->
        int ->
        int ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray option ->
        (char, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val get_active_uniform_blockiv :
        int ->
        int ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_active_uniform_name :
        int ->
        int ->
        int ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray option ->
        (char, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val get_active_uniformsiv :
        int ->
        int ->
        Tgl3.Gl.uint32_bigarray ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_attached_shaders :
        int ->
        int ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray option ->
        Tgl3.Gl.uint32_bigarray -> unit
      val get_attrib_location : int -> string -> int
      val get_booleani_v :
        Tgl3.Gl.enum ->
        int -> (int, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val get_booleanv :
        Tgl3.Gl.enum ->
        (int, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val get_buffer_parameteri64v :
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum -> (int64, Bigarray.int64_elt) Tgl3.Gl.bigarray -> unit
      val get_buffer_parameteriv :
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_buffer_pointerv :
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum ->
        (nativeint, Bigarray.nativeint_elt) Tgl3.Gl.bigarray -> unit
      val get_buffer_sub_data :
        Tgl3.Gl.enum -> int -> int -> ('a, 'b) Tgl3.Gl.bigarray -> unit
      val get_compressed_tex_image :
        Tgl3.Gl.enum ->
        int ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val get_doublev :
        Tgl3.Gl.enum ->
        (float, Bigarray.float64_elt) Tgl3.Gl.bigarray -> unit
      val get_error : unit -> Tgl3.Gl.enum
      val get_floatv :
        Tgl3.Gl.enum ->
        (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val get_frag_data_index : int -> string -> int
      val get_frag_data_location : int -> string -> int
      val get_framebuffer_attachment_parameteriv :
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_integer64i_v :
        Tgl3.Gl.enum ->
        int -> (int64, Bigarray.int64_elt) Tgl3.Gl.bigarray -> unit
      val get_integer64v :
        Tgl3.Gl.enum -> (int64, Bigarray.int64_elt) Tgl3.Gl.bigarray -> unit
      val get_integeri_v :
        Tgl3.Gl.enum ->
        int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_integerv :
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_multisamplefv :
        Tgl3.Gl.enum ->
        int -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val get_program_info_log :
        int ->
        int ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray option ->
        (char, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val get_programiv :
        int ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_query_objecti64v :
        int ->
        Tgl3.Gl.enum -> (int64, Bigarray.int64_elt) Tgl3.Gl.bigarray -> unit
      val get_query_objectiv :
        int ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_query_objectui64v :
        int -> Tgl3.Gl.enum -> Tgl3.Gl.uint64_bigarray -> unit
      val get_query_objectuiv :
        int -> Tgl3.Gl.enum -> Tgl3.Gl.uint32_bigarray -> unit
      val get_queryiv :
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_renderbuffer_parameteriv :
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_sampler_parameter_iiv :
        int ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_sampler_parameter_iuiv :
        int -> Tgl3.Gl.enum -> Tgl3.Gl.uint32_bigarray -> unit
      val get_sampler_parameterfv :
        int ->
        Tgl3.Gl.enum ->
        (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val get_sampler_parameteriv :
        int ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_shader_info_log :
        int ->
        int ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray option ->
        (char, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val get_shader_source :
        int ->
        int ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray option ->
        (char, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val get_shaderiv :
        int ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_string : Tgl3.Gl.enum -> string option
      val get_stringi : Tgl3.Gl.enum -> int -> string option
      val get_synciv :
        Tgl3.Gl.sync ->
        Tgl3.Gl.enum ->
        int ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray option ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_tex_image :
        Tgl3.Gl.enum ->
        int ->
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> ('a, 'b) Tgl3.Gl.bigarray -> unit
      val get_tex_level_parameterfv :
        Tgl3.Gl.enum ->
        int ->
        Tgl3.Gl.enum ->
        (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val get_tex_level_parameteriv :
        Tgl3.Gl.enum ->
        int ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_tex_parameter_iiv :
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_tex_parameter_iuiv :
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> Tgl3.Gl.uint32_bigarray -> unit
      val get_tex_parameterfv :
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum ->
        (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val get_tex_parameteriv :
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_transform_feedback_varying :
        int ->
        int ->
        int ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray option ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray ->
        Tgl3.Gl.enum_bigarray ->
        (char, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val get_uniform_block_index : int -> string -> int
      val get_uniform_indices :
        int -> string list -> Tgl3.Gl.uint32_bigarray -> unit
      val get_uniform_location : int -> string -> int
      val get_uniformfv :
        int -> int -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val get_uniformiv :
        int -> int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_uniformuiv : int -> int -> Tgl3.Gl.uint32_bigarray -> unit
      val get_vertex_attrib_iiv :
        int ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val get_vertex_attrib_iuiv :
        int -> Tgl3.Gl.enum -> Tgl3.Gl.uint32_bigarray -> unit
      val get_vertex_attrib_pointerv :
        int ->
        Tgl3.Gl.enum ->
        (nativeint, Bigarray.nativeint_elt) Tgl3.Gl.bigarray -> unit
      val get_vertex_attribdv :
        int ->
        Tgl3.Gl.enum ->
        (float, Bigarray.float64_elt) Tgl3.Gl.bigarray -> unit
      val get_vertex_attribfv :
        int ->
        Tgl3.Gl.enum ->
        (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val get_vertex_attribiv :
        int ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val hint : Tgl3.Gl.enum -> Tgl3.Gl.enum -> unit
      val is_buffer : int -> bool
      val is_enabled : Tgl3.Gl.enum -> bool
      val is_enabledi : Tgl3.Gl.enum -> int -> bool
      val is_framebuffer : int -> bool
      val is_program : 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 : Tgl3.Gl.sync -> bool
      val is_texture : int -> bool
      val is_vertex_array : int -> bool
      val line_width : float -> unit
      val link_program : int -> unit
      val logic_op : Tgl3.Gl.enum -> unit
      val map_buffer :
        Tgl3.Gl.enum ->
        int ->
        Tgl3.Gl.enum -> ('a, 'b) Bigarray.kind -> ('a, 'b) Tgl3.Gl.bigarray
      val map_buffer_range :
        Tgl3.Gl.enum ->
        int ->
        int ->
        Tgl3.Gl.enum -> ('a, 'b) Bigarray.kind -> ('a, 'b) Tgl3.Gl.bigarray
      val multi_draw_arrays :
        Tgl3.Gl.enum ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> int -> unit
      val multi_draw_elements :
        Tgl3.Gl.enum ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray ->
        Tgl3.Gl.enum -> ('a, 'b) Tgl3.Gl.bigarray -> int -> unit
      val multi_draw_elements_base_vertex :
        Tgl3.Gl.enum ->
        (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray ->
        Tgl3.Gl.enum ->
        ('a, 'b) Tgl3.Gl.bigarray ->
        int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val pixel_storef : Tgl3.Gl.enum -> float -> unit
      val pixel_storei : Tgl3.Gl.enum -> int -> unit
      val point_parameterf : Tgl3.Gl.enum -> float -> unit
      val point_parameterfv :
        Tgl3.Gl.enum ->
        (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val point_parameteri : Tgl3.Gl.enum -> int -> unit
      val point_parameteriv :
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val point_size : float -> unit
      val polygon_mode : Tgl3.Gl.enum -> Tgl3.Gl.enum -> unit
      val polygon_offset : float -> float -> unit
      val primitive_restart_index : int -> unit
      val provoking_vertex : Tgl3.Gl.enum -> unit
      val query_counter : int -> Tgl3.Gl.enum -> unit
      val read_buffer : Tgl3.Gl.enum -> unit
      val read_pixels :
        int ->
        int ->
        int ->
        int ->
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val renderbuffer_storage :
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> int -> int -> unit
      val renderbuffer_storage_multisample :
        Tgl3.Gl.enum -> int -> Tgl3.Gl.enum -> int -> int -> unit
      val sample_coverage : float -> bool -> unit
      val sample_maski : int -> Tgl3.Gl.bitfield -> unit
      val sampler_parameter_iiv :
        int ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val sampler_parameter_iuiv :
        int -> Tgl3.Gl.enum -> Tgl3.Gl.uint32_bigarray -> unit
      val sampler_parameterf : int -> Tgl3.Gl.enum -> float -> unit
      val sampler_parameterfv :
        int ->
        Tgl3.Gl.enum ->
        (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val sampler_parameteri : int -> Tgl3.Gl.enum -> int -> unit
      val sampler_parameteriv :
        int ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val scissor : int -> int -> int -> int -> unit
      val shader_source : int -> string -> unit
      val stencil_func : Tgl3.Gl.enum -> int -> int -> unit
      val stencil_func_separate :
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> int -> int -> unit
      val stencil_mask : int -> unit
      val stencil_mask_separate : Tgl3.Gl.enum -> int -> unit
      val stencil_op : Tgl3.Gl.enum -> Tgl3.Gl.enum -> Tgl3.Gl.enum -> unit
      val stencil_op_separate :
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> Tgl3.Gl.enum -> Tgl3.Gl.enum -> unit
      val tex_buffer : Tgl3.Gl.enum -> Tgl3.Gl.enum -> int -> unit
      val tex_image1d :
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        int ->
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val tex_image2d :
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        int ->
        int ->
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val tex_image2d_multisample :
        Tgl3.Gl.enum -> int -> Tgl3.Gl.enum -> int -> int -> bool -> unit
      val tex_image3d :
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        int ->
        int ->
        int ->
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val tex_image3d_multisample :
        Tgl3.Gl.enum ->
        int -> Tgl3.Gl.enum -> int -> int -> int -> bool -> unit
      val tex_parameter_iiv :
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val tex_parameter_iuiv :
        Tgl3.Gl.enum -> Tgl3.Gl.enum -> Tgl3.Gl.uint32_bigarray -> unit
      val tex_parameterf : Tgl3.Gl.enum -> Tgl3.Gl.enum -> float -> unit
      val tex_parameterfv :
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum ->
        (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val tex_parameteri : Tgl3.Gl.enum -> Tgl3.Gl.enum -> int -> unit
      val tex_parameteriv :
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val tex_sub_image1d :
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val tex_sub_image2d :
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        int ->
        int ->
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val tex_sub_image3d :
        Tgl3.Gl.enum ->
        int ->
        int ->
        int ->
        int ->
        int ->
        int ->
        int ->
        Tgl3.Gl.enum ->
        Tgl3.Gl.enum ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val transform_feedback_varyings :
        int -> string list -> Tgl3.Gl.enum -> unit
      val uniform1f : int -> float -> unit
      val uniform1fv :
        int -> int -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val uniform1i : int -> int -> unit
      val uniform1iv :
        int -> int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val uniform1ui : int -> int -> unit
      val uniform1uiv : int -> int -> Tgl3.Gl.uint32_bigarray -> unit
      val uniform2f : int -> float -> float -> unit
      val uniform2fv :
        int -> int -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val uniform2i : int -> int -> int -> unit
      val uniform2iv :
        int -> int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val uniform2ui : int -> int -> int -> unit
      val uniform2uiv : int -> int -> Tgl3.Gl.uint32_bigarray -> unit
      val uniform3f : int -> float -> float -> float -> unit
      val uniform3fv :
        int -> int -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val uniform3i : int -> int -> int -> int -> unit
      val uniform3iv :
        int -> int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val uniform3ui : int -> int -> int -> int -> unit
      val uniform3uiv : int -> int -> Tgl3.Gl.uint32_bigarray -> unit
      val uniform4f : int -> float -> float -> float -> float -> unit
      val uniform4fv :
        int -> int -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val uniform4i : int -> int -> int -> int -> int -> unit
      val uniform4iv :
        int -> int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val uniform4ui : int -> int -> int -> int -> int -> unit
      val uniform4uiv : int -> int -> Tgl3.Gl.uint32_bigarray -> unit
      val uniform_block_binding : int -> int -> int -> unit
      val uniform_matrix2fv :
        int ->
        int -> bool -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val uniform_matrix2x3fv :
        int ->
        int -> bool -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val uniform_matrix2x4fv :
        int ->
        int -> bool -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val uniform_matrix3fv :
        int ->
        int -> bool -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val uniform_matrix3x2fv :
        int ->
        int -> bool -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val uniform_matrix3x4fv :
        int ->
        int -> bool -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val uniform_matrix4fv :
        int ->
        int -> bool -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val uniform_matrix4x2fv :
        int ->
        int -> bool -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val uniform_matrix4x3fv :
        int ->
        int -> bool -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val unmap_buffer : Tgl3.Gl.enum -> bool
      val use_program : int -> unit
      val validate_program : int -> unit
      val vertex_attrib1d : int -> float -> unit
      val vertex_attrib1dv :
        int -> (float, Bigarray.float64_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib1f : int -> float -> unit
      val vertex_attrib1fv :
        int -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib1s : int -> Tgl3.Gl.int16 -> unit
      val vertex_attrib1sv :
        int -> (int, Bigarray.int16_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib2d : int -> float -> float -> unit
      val vertex_attrib2dv :
        int -> (float, Bigarray.float64_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib2f : int -> float -> float -> unit
      val vertex_attrib2fv :
        int -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib2s : int -> Tgl3.Gl.int16 -> Tgl3.Gl.int16 -> unit
      val vertex_attrib2sv :
        int -> (int, Bigarray.int16_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib3d : int -> float -> float -> float -> unit
      val vertex_attrib3dv :
        int -> (float, Bigarray.float64_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib3f : int -> float -> float -> float -> unit
      val vertex_attrib3fv :
        int -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib3s :
        int -> Tgl3.Gl.int16 -> Tgl3.Gl.int16 -> Tgl3.Gl.int16 -> unit
      val vertex_attrib3sv :
        int -> (int, Bigarray.int16_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib4nbv :
        int -> (int, Bigarray.int8_signed_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib4niv :
        int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib4nsv :
        int -> (int, Bigarray.int16_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib4nub :
        int ->
        Tgl3.Gl.uint8 ->
        Tgl3.Gl.uint8 -> Tgl3.Gl.uint8 -> Tgl3.Gl.uint8 -> unit
      val vertex_attrib4nubv :
        int -> (int, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib4nuiv : int -> Tgl3.Gl.uint32_bigarray -> unit
      val vertex_attrib4nusv :
        int -> (int, Bigarray.int16_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib4bv :
        int -> (int, Bigarray.int8_signed_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib4d : int -> float -> float -> float -> float -> unit
      val vertex_attrib4dv :
        int -> (float, Bigarray.float64_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib4f : int -> float -> float -> float -> float -> unit
      val vertex_attrib4fv :
        int -> (float, Bigarray.float32_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib4iv :
        int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib4s :
        int ->
        Tgl3.Gl.int16 ->
        Tgl3.Gl.int16 -> Tgl3.Gl.int16 -> Tgl3.Gl.int16 -> unit
      val vertex_attrib4sv :
        int -> (int, Bigarray.int16_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib4ubv :
        int -> (int, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib4uiv : int -> Tgl3.Gl.uint32_bigarray -> unit
      val vertex_attrib4usv :
        int -> (int, Bigarray.int16_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib_divisor : int -> int -> unit
      val vertex_attrib_i1i : int -> int -> unit
      val vertex_attrib_i1iv :
        int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib_i1ui : int -> int -> unit
      val vertex_attrib_i1uiv : int -> Tgl3.Gl.uint32_bigarray -> unit
      val vertex_attrib_i2i : int -> int -> int -> unit
      val vertex_attrib_i2iv :
        int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib_i2ui : int -> int -> int -> unit
      val vertex_attrib_i2uiv : int -> Tgl3.Gl.uint32_bigarray -> unit
      val vertex_attrib_i3i : int -> int -> int -> int -> unit
      val vertex_attrib_i3iv :
        int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib_i3ui : int -> int -> int -> int -> unit
      val vertex_attrib_i3uiv : int -> Tgl3.Gl.uint32_bigarray -> unit
      val vertex_attrib_i4bv :
        int -> (int, Bigarray.int8_signed_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib_i4i : int -> int -> int -> int -> int -> unit
      val vertex_attrib_i4iv :
        int -> (int32, Bigarray.int32_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib_i4sv :
        int -> (int, Bigarray.int16_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib_i4ubv :
        int -> (int, Bigarray.int8_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib_i4ui : int -> int -> int -> int -> int -> unit
      val vertex_attrib_i4uiv : int -> Tgl3.Gl.uint32_bigarray -> unit
      val vertex_attrib_i4usv :
        int -> (int, Bigarray.int16_unsigned_elt) Tgl3.Gl.bigarray -> unit
      val vertex_attrib_ipointer :
        int ->
        int ->
        Tgl3.Gl.enum ->
        int ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val vertex_attrib_p1ui : int -> Tgl3.Gl.enum -> bool -> int -> unit
      val vertex_attrib_p1uiv :
        int -> Tgl3.Gl.enum -> bool -> Tgl3.Gl.uint32_bigarray -> unit
      val vertex_attrib_p2ui : int -> Tgl3.Gl.enum -> bool -> int -> unit
      val vertex_attrib_p2uiv :
        int -> Tgl3.Gl.enum -> bool -> Tgl3.Gl.uint32_bigarray -> unit
      val vertex_attrib_p3ui : int -> Tgl3.Gl.enum -> bool -> int -> unit
      val vertex_attrib_p3uiv :
        int -> Tgl3.Gl.enum -> bool -> Tgl3.Gl.uint32_bigarray -> unit
      val vertex_attrib_p4ui : int -> Tgl3.Gl.enum -> bool -> int -> unit
      val vertex_attrib_p4uiv :
        int -> Tgl3.Gl.enum -> bool -> Tgl3.Gl.uint32_bigarray -> unit
      val vertex_attrib_pointer :
        int ->
        int ->
        Tgl3.Gl.enum ->
        bool ->
        int ->
        [ `Data of ('a, 'b) Tgl3.Gl.bigarray | `Offset of int ] -> unit
      val viewport : int -> int -> int -> int -> unit
      val wait_sync :
        Tgl3.Gl.sync -> Tgl3.Gl.bitfield -> Tgl3.Gl.uint64 -> unit
      val active_attributes : Tgl3.Gl.enum
      val active_attribute_max_length : Tgl3.Gl.enum
      val active_texture_enum : Tgl3.Gl.enum
      val active_uniforms : Tgl3.Gl.enum
      val active_uniform_blocks : Tgl3.Gl.enum
      val active_uniform_block_max_name_length : Tgl3.Gl.enum
      val active_uniform_max_length : Tgl3.Gl.enum
      val aliased_line_width_range : Tgl3.Gl.enum
      val alpha : Tgl3.Gl.enum
      val already_signaled : Tgl3.Gl.enum
      val always : Tgl3.Gl.enum
      val and_ : Tgl3.Gl.enum
      val and_inverted : Tgl3.Gl.enum
      val and_reverse : Tgl3.Gl.enum
      val any_samples_passed : Tgl3.Gl.enum
      val array_buffer : Tgl3.Gl.enum
      val array_buffer_binding : Tgl3.Gl.enum
      val attached_shaders : Tgl3.Gl.enum
      val back : Tgl3.Gl.enum
      val back_left : Tgl3.Gl.enum
      val back_right : Tgl3.Gl.enum
      val bgr : Tgl3.Gl.enum
      val bgra : Tgl3.Gl.enum
      val bgra_integer : Tgl3.Gl.enum
      val bgr_integer : Tgl3.Gl.enum
      val blend : Tgl3.Gl.enum
      val blend_dst : Tgl3.Gl.enum
      val blend_dst_alpha : Tgl3.Gl.enum
      val blend_dst_rgb : Tgl3.Gl.enum
      val blend_equation_alpha : Tgl3.Gl.enum
      val blend_equation_rgb : Tgl3.Gl.enum
      val blend_src : Tgl3.Gl.enum
      val blend_src_alpha : Tgl3.Gl.enum
      val blend_src_rgb : Tgl3.Gl.enum
      val blue : Tgl3.Gl.enum
      val blue_integer : Tgl3.Gl.enum
      val bool : Tgl3.Gl.enum
      val bool_vec2 : Tgl3.Gl.enum
      val bool_vec3 : Tgl3.Gl.enum
      val bool_vec4 : Tgl3.Gl.enum
      val buffer_access : Tgl3.Gl.enum
      val buffer_access_flags : Tgl3.Gl.enum
      val buffer_mapped : Tgl3.Gl.enum
      val buffer_map_length : Tgl3.Gl.enum
      val buffer_map_offset : Tgl3.Gl.enum
      val buffer_map_pointer : Tgl3.Gl.enum
      val buffer_size : Tgl3.Gl.enum
      val buffer_usage : Tgl3.Gl.enum
      val byte : Tgl3.Gl.enum
      val ccw : Tgl3.Gl.enum
      val clamp_read_color : Tgl3.Gl.enum
      val clamp_to_border : Tgl3.Gl.enum
      val clamp_to_edge : Tgl3.Gl.enum
      val clear_enum : Tgl3.Gl.enum
      val clip_distance0 : Tgl3.Gl.enum
      val clip_distance1 : Tgl3.Gl.enum
      val clip_distance2 : Tgl3.Gl.enum
      val clip_distance3 : Tgl3.Gl.enum
      val clip_distance4 : Tgl3.Gl.enum
      val clip_distance5 : Tgl3.Gl.enum
      val clip_distance6 : Tgl3.Gl.enum
      val clip_distance7 : Tgl3.Gl.enum
      val color : Tgl3.Gl.enum
      val color_attachment0 : Tgl3.Gl.enum
      val color_attachment1 : Tgl3.Gl.enum
      val color_attachment10 : Tgl3.Gl.enum
      val color_attachment11 : Tgl3.Gl.enum
      val color_attachment12 : Tgl3.Gl.enum
      val color_attachment13 : Tgl3.Gl.enum
      val color_attachment14 : Tgl3.Gl.enum
      val color_attachment15 : Tgl3.Gl.enum
      val color_attachment16 : Tgl3.Gl.enum
      val color_attachment17 : Tgl3.Gl.enum
      val color_attachment18 : Tgl3.Gl.enum
      val color_attachment19 : Tgl3.Gl.enum
      val color_attachment2 : Tgl3.Gl.enum
      val color_attachment20 : Tgl3.Gl.enum
      val color_attachment21 : Tgl3.Gl.enum
      val color_attachment22 : Tgl3.Gl.enum
      val color_attachment23 : Tgl3.Gl.enum
      val color_attachment24 : Tgl3.Gl.enum
      val color_attachment25 : Tgl3.Gl.enum
      val color_attachment26 : Tgl3.Gl.enum
      val color_attachment27 : Tgl3.Gl.enum
      val color_attachment28 : Tgl3.Gl.enum
      val color_attachment29 : Tgl3.Gl.enum
      val color_attachment3 : Tgl3.Gl.enum
      val color_attachment30 : Tgl3.Gl.enum
      val color_attachment31 : Tgl3.Gl.enum
      val color_attachment4 : Tgl3.Gl.enum
      val color_attachment5 : Tgl3.Gl.enum
      val color_attachment6 : Tgl3.Gl.enum
      val color_attachment7 : Tgl3.Gl.enum
      val color_attachment8 : Tgl3.Gl.enum
      val color_attachment9 : Tgl3.Gl.enum
      val color_buffer_bit : Tgl3.Gl.enum
      val color_clear_value : Tgl3.Gl.enum
      val color_logic_op : Tgl3.Gl.enum
      val color_writemask : Tgl3.Gl.enum
      val compare_ref_to_texture : Tgl3.Gl.enum
      val compile_status : Tgl3.Gl.enum
      val compressed_red : Tgl3.Gl.enum
      val compressed_red_rgtc1 : Tgl3.Gl.enum
      val compressed_rg : Tgl3.Gl.enum
      val compressed_rgb : Tgl3.Gl.enum
      val compressed_rgba : Tgl3.Gl.enum
      val compressed_rg_rgtc2 : Tgl3.Gl.enum
      val compressed_signed_red_rgtc1 : Tgl3.Gl.enum
      val compressed_signed_rg_rgtc2 : Tgl3.Gl.enum
      val compressed_srgb : Tgl3.Gl.enum
      val compressed_srgb_alpha : Tgl3.Gl.enum
      val compressed_texture_formats : Tgl3.Gl.enum
      val condition_satisfied : Tgl3.Gl.enum
      val constant_alpha : Tgl3.Gl.enum
      val constant_color : Tgl3.Gl.enum
      val context_compatibility_profile_bit : Tgl3.Gl.enum
      val context_core_profile_bit : Tgl3.Gl.enum
      val context_flags : Tgl3.Gl.enum
      val context_flag_forward_compatible_bit : Tgl3.Gl.enum
      val context_profile_mask : Tgl3.Gl.enum
      val copy : Tgl3.Gl.enum
      val copy_inverted : Tgl3.Gl.enum
      val copy_read_buffer : Tgl3.Gl.enum
      val copy_write_buffer : Tgl3.Gl.enum
      val cull_face_enum : Tgl3.Gl.enum
      val cull_face_mode : Tgl3.Gl.enum
      val current_program : Tgl3.Gl.enum
      val current_query : Tgl3.Gl.enum
      val current_vertex_attrib : Tgl3.Gl.enum
      val cw : Tgl3.Gl.enum
      val decr : Tgl3.Gl.enum
      val decr_wrap : Tgl3.Gl.enum
      val delete_status : Tgl3.Gl.enum
      val depth : Tgl3.Gl.enum
      val depth24_stencil8 : Tgl3.Gl.enum
      val depth32f_stencil8 : Tgl3.Gl.enum
      val depth_attachment : Tgl3.Gl.enum
      val depth_buffer_bit : Tgl3.Gl.enum
      val depth_clamp : Tgl3.Gl.enum
      val depth_clear_value : Tgl3.Gl.enum
      val depth_component : Tgl3.Gl.enum
      val depth_component16 : Tgl3.Gl.enum
      val depth_component24 : Tgl3.Gl.enum
      val depth_component32 : Tgl3.Gl.enum
      val depth_component32f : Tgl3.Gl.enum
      val depth_func_enum : Tgl3.Gl.enum
      val depth_range_enum : Tgl3.Gl.enum
      val depth_stencil : Tgl3.Gl.enum
      val depth_stencil_attachment : Tgl3.Gl.enum
      val depth_test : Tgl3.Gl.enum
      val depth_writemask : Tgl3.Gl.enum
      val dither : Tgl3.Gl.enum
      val dont_care : Tgl3.Gl.enum
      val double : Tgl3.Gl.enum
      val doublebuffer : Tgl3.Gl.enum
      val draw_buffer_enum : Tgl3.Gl.enum
      val draw_buffer0 : Tgl3.Gl.enum
      val draw_buffer1 : Tgl3.Gl.enum
      val draw_buffer10 : Tgl3.Gl.enum
      val draw_buffer11 : Tgl3.Gl.enum
      val draw_buffer12 : Tgl3.Gl.enum
      val draw_buffer13 : Tgl3.Gl.enum
      val draw_buffer14 : Tgl3.Gl.enum
      val draw_buffer15 : Tgl3.Gl.enum
      val draw_buffer2 : Tgl3.Gl.enum
      val draw_buffer3 : Tgl3.Gl.enum
      val draw_buffer4 : Tgl3.Gl.enum
      val draw_buffer5 : Tgl3.Gl.enum
      val draw_buffer6 : Tgl3.Gl.enum
      val draw_buffer7 : Tgl3.Gl.enum
      val draw_buffer8 : Tgl3.Gl.enum
      val draw_buffer9 : Tgl3.Gl.enum
      val draw_framebuffer : Tgl3.Gl.enum
      val draw_framebuffer_binding : Tgl3.Gl.enum
      val dst_alpha : Tgl3.Gl.enum
      val dst_color : Tgl3.Gl.enum
      val dynamic_copy : Tgl3.Gl.enum
      val dynamic_draw : Tgl3.Gl.enum
      val dynamic_read : Tgl3.Gl.enum
      val element_array_buffer : Tgl3.Gl.enum
      val element_array_buffer_binding : Tgl3.Gl.enum
      val equal : Tgl3.Gl.enum
      val equiv : Tgl3.Gl.enum
      val extensions : Tgl3.Gl.enum
      val false_ : Tgl3.Gl.enum
      val fastest : Tgl3.Gl.enum
      val fill : Tgl3.Gl.enum
      val first_vertex_convention : Tgl3.Gl.enum
      val fixed_only : Tgl3.Gl.enum
      val float : Tgl3.Gl.enum
      val float_32_unsigned_int_24_8_rev : Tgl3.Gl.enum
      val float_mat2 : Tgl3.Gl.enum
      val float_mat2x3 : Tgl3.Gl.enum
      val float_mat2x4 : Tgl3.Gl.enum
      val float_mat3 : Tgl3.Gl.enum
      val float_mat3x2 : Tgl3.Gl.enum
      val float_mat3x4 : Tgl3.Gl.enum
      val float_mat4 : Tgl3.Gl.enum
      val float_mat4x2 : Tgl3.Gl.enum
      val float_mat4x3 : Tgl3.Gl.enum
      val float_vec2 : Tgl3.Gl.enum
      val float_vec3 : Tgl3.Gl.enum
      val float_vec4 : Tgl3.Gl.enum
      val fragment_shader : Tgl3.Gl.enum
      val fragment_shader_derivative_hint : Tgl3.Gl.enum
      val framebuffer : Tgl3.Gl.enum
      val framebuffer_attachment_alpha_size : Tgl3.Gl.enum
      val framebuffer_attachment_blue_size : Tgl3.Gl.enum
      val framebuffer_attachment_color_encoding : Tgl3.Gl.enum
      val framebuffer_attachment_component_type : Tgl3.Gl.enum
      val framebuffer_attachment_depth_size : Tgl3.Gl.enum
      val framebuffer_attachment_green_size : Tgl3.Gl.enum
      val framebuffer_attachment_layered : Tgl3.Gl.enum
      val framebuffer_attachment_object_name : Tgl3.Gl.enum
      val framebuffer_attachment_object_type : Tgl3.Gl.enum
      val framebuffer_attachment_red_size : Tgl3.Gl.enum
      val framebuffer_attachment_stencil_size : Tgl3.Gl.enum
      val framebuffer_attachment_texture_cube_map_face : Tgl3.Gl.enum
      val framebuffer_attachment_texture_layer : Tgl3.Gl.enum
      val framebuffer_attachment_texture_level : Tgl3.Gl.enum
      val framebuffer_binding : Tgl3.Gl.enum
      val framebuffer_complete : Tgl3.Gl.enum
      val framebuffer_default : Tgl3.Gl.enum
      val framebuffer_incomplete_attachment : Tgl3.Gl.enum
      val framebuffer_incomplete_draw_buffer : Tgl3.Gl.enum
      val framebuffer_incomplete_layer_targets : Tgl3.Gl.enum
      val framebuffer_incomplete_missing_attachment : Tgl3.Gl.enum
      val framebuffer_incomplete_multisample : Tgl3.Gl.enum
      val framebuffer_incomplete_read_buffer : Tgl3.Gl.enum
      val framebuffer_srgb : Tgl3.Gl.enum
      val framebuffer_undefined : Tgl3.Gl.enum
      val framebuffer_unsupported : Tgl3.Gl.enum
      val front : Tgl3.Gl.enum
      val front_and_back : Tgl3.Gl.enum
      val front_face_enum : Tgl3.Gl.enum
      val front_left : Tgl3.Gl.enum
      val front_right : Tgl3.Gl.enum
      val func_add : Tgl3.Gl.enum
      val func_reverse_subtract : Tgl3.Gl.enum
      val func_subtract : Tgl3.Gl.enum
      val geometry_input_type : Tgl3.Gl.enum
      val geometry_output_type : Tgl3.Gl.enum
      val geometry_shader : Tgl3.Gl.enum
      val geometry_vertices_out : Tgl3.Gl.enum
      val gequal : Tgl3.Gl.enum
      val greater : Tgl3.Gl.enum
      val green : Tgl3.Gl.enum
      val green_integer : Tgl3.Gl.enum
      val half_float : Tgl3.Gl.enum
      val incr : Tgl3.Gl.enum
      val incr_wrap : Tgl3.Gl.enum
      val info_log_length : Tgl3.Gl.enum
      val int : Tgl3.Gl.enum
      val interleaved_attribs : Tgl3.Gl.enum
      val int_2_10_10_10_rev : Tgl3.Gl.enum
      val int_sampler_1d : Tgl3.Gl.enum
      val int_sampler_1d_array : Tgl3.Gl.enum
      val int_sampler_2d : Tgl3.Gl.enum
      val int_sampler_2d_array : Tgl3.Gl.enum
      val int_sampler_2d_multisample : Tgl3.Gl.enum
      val int_sampler_2d_multisample_array : Tgl3.Gl.enum
      val int_sampler_2d_rect : Tgl3.Gl.enum
      val int_sampler_3d : Tgl3.Gl.enum
      val int_sampler_buffer : Tgl3.Gl.enum
      val int_sampler_cube : Tgl3.Gl.enum
      val int_vec2 : Tgl3.Gl.enum
      val int_vec3 : Tgl3.Gl.enum
      val int_vec4 : Tgl3.Gl.enum
      val invalid_enum : Tgl3.Gl.enum
      val invalid_framebuffer_operation : Tgl3.Gl.enum
      val invalid_index : int32
      val invalid_operation : Tgl3.Gl.enum
      val invalid_value : Tgl3.Gl.enum
      val invert : Tgl3.Gl.enum
      val keep : Tgl3.Gl.enum
      val last_vertex_convention : Tgl3.Gl.enum
      val left : Tgl3.Gl.enum
      val lequal : Tgl3.Gl.enum
      val less : Tgl3.Gl.enum
      val line : Tgl3.Gl.enum
      val linear : Tgl3.Gl.enum
      val linear_mipmap_linear : Tgl3.Gl.enum
      val linear_mipmap_nearest : Tgl3.Gl.enum
      val lines : Tgl3.Gl.enum
      val lines_adjacency : Tgl3.Gl.enum
      val line_loop : Tgl3.Gl.enum
      val line_smooth : Tgl3.Gl.enum
      val line_smooth_hint : Tgl3.Gl.enum
      val line_strip : Tgl3.Gl.enum
      val line_strip_adjacency : Tgl3.Gl.enum
      val line_width_enum : Tgl3.Gl.enum
      val line_width_granularity : Tgl3.Gl.enum
      val line_width_range : Tgl3.Gl.enum
      val link_status : Tgl3.Gl.enum
      val logic_op_mode : Tgl3.Gl.enum
      val lower_left : Tgl3.Gl.enum
      val major_version : Tgl3.Gl.enum
      val map_flush_explicit_bit : Tgl3.Gl.enum
      val map_invalidate_buffer_bit : Tgl3.Gl.enum
      val map_invalidate_range_bit : Tgl3.Gl.enum
      val map_read_bit : Tgl3.Gl.enum
      val map_unsynchronized_bit : Tgl3.Gl.enum
      val map_write_bit : Tgl3.Gl.enum
      val max : Tgl3.Gl.enum
      val max_3d_texture_size : Tgl3.Gl.enum
      val max_array_texture_layers : Tgl3.Gl.enum
      val max_clip_distances : Tgl3.Gl.enum
      val max_color_attachments : Tgl3.Gl.enum
      val max_color_texture_samples : Tgl3.Gl.enum
      val max_combined_fragment_uniform_components : Tgl3.Gl.enum
      val max_combined_geometry_uniform_components : Tgl3.Gl.enum
      val max_combined_texture_image_units : Tgl3.Gl.enum
      val max_combined_uniform_blocks : Tgl3.Gl.enum
      val max_combined_vertex_uniform_components : Tgl3.Gl.enum
      val max_cube_map_texture_size : Tgl3.Gl.enum
      val max_depth_texture_samples : Tgl3.Gl.enum
      val max_draw_buffers : Tgl3.Gl.enum
      val max_dual_source_draw_buffers : Tgl3.Gl.enum
      val max_elements_indices : Tgl3.Gl.enum
      val max_elements_vertices : Tgl3.Gl.enum
      val max_fragment_input_components : Tgl3.Gl.enum
      val max_fragment_uniform_blocks : Tgl3.Gl.enum
      val max_fragment_uniform_components : Tgl3.Gl.enum
      val max_geometry_input_components : Tgl3.Gl.enum
      val max_geometry_output_components : Tgl3.Gl.enum
      val max_geometry_output_vertices : Tgl3.Gl.enum
      val max_geometry_texture_image_units : Tgl3.Gl.enum
      val max_geometry_total_output_components : Tgl3.Gl.enum
      val max_geometry_uniform_blocks : Tgl3.Gl.enum
      val max_geometry_uniform_components : Tgl3.Gl.enum
      val max_integer_samples : Tgl3.Gl.enum
      val max_program_texel_offset : Tgl3.Gl.enum
      val max_rectangle_texture_size : Tgl3.Gl.enum
      val max_renderbuffer_size : Tgl3.Gl.enum
      val max_samples : Tgl3.Gl.enum
      val max_sample_mask_words : Tgl3.Gl.enum
      val max_server_wait_timeout : Tgl3.Gl.enum
      val max_texture_buffer_size : Tgl3.Gl.enum
      val max_texture_image_units : Tgl3.Gl.enum
      val max_texture_lod_bias : Tgl3.Gl.enum
      val max_texture_size : Tgl3.Gl.enum
      val max_transform_feedback_interleaved_components : Tgl3.Gl.enum
      val max_transform_feedback_separate_attribs : Tgl3.Gl.enum
      val max_transform_feedback_separate_components : Tgl3.Gl.enum
      val max_uniform_block_size : Tgl3.Gl.enum
      val max_uniform_buffer_bindings : Tgl3.Gl.enum
      val max_varying_components : Tgl3.Gl.enum
      val max_varying_floats : Tgl3.Gl.enum
      val max_vertex_attribs : Tgl3.Gl.enum
      val max_vertex_output_components : Tgl3.Gl.enum
      val max_vertex_texture_image_units : Tgl3.Gl.enum
      val max_vertex_uniform_blocks : Tgl3.Gl.enum
      val max_vertex_uniform_components : Tgl3.Gl.enum
      val max_viewport_dims : Tgl3.Gl.enum
      val min : Tgl3.Gl.enum
      val minor_version : Tgl3.Gl.enum
      val min_program_texel_offset : Tgl3.Gl.enum
      val mirrored_repeat : Tgl3.Gl.enum
      val multisample : Tgl3.Gl.enum
      val nand : Tgl3.Gl.enum
      val nearest : Tgl3.Gl.enum
      val nearest_mipmap_linear : Tgl3.Gl.enum
      val nearest_mipmap_nearest : Tgl3.Gl.enum
      val never : Tgl3.Gl.enum
      val nicest : Tgl3.Gl.enum
      val none : Tgl3.Gl.enum
      val noop : Tgl3.Gl.enum
      val nor : Tgl3.Gl.enum
      val notequal : Tgl3.Gl.enum
      val no_error : Tgl3.Gl.enum
      val num_compressed_texture_formats : Tgl3.Gl.enum
      val num_extensions : Tgl3.Gl.enum
      val object_type : Tgl3.Gl.enum
      val one : Tgl3.Gl.enum
      val one_minus_constant_alpha : Tgl3.Gl.enum
      val one_minus_constant_color : Tgl3.Gl.enum
      val one_minus_dst_alpha : Tgl3.Gl.enum
      val one_minus_dst_color : Tgl3.Gl.enum
      val one_minus_src1_alpha : Tgl3.Gl.enum
      val one_minus_src1_color : Tgl3.Gl.enum
      val one_minus_src_alpha : Tgl3.Gl.enum
      val one_minus_src_color : Tgl3.Gl.enum
      val or_ : Tgl3.Gl.enum
      val or_inverted : Tgl3.Gl.enum
      val or_reverse : Tgl3.Gl.enum
      val out_of_memory : Tgl3.Gl.enum
      val pack_alignment : Tgl3.Gl.enum
      val pack_image_height : Tgl3.Gl.enum
      val pack_lsb_first : Tgl3.Gl.enum
      val pack_row_length : Tgl3.Gl.enum
      val pack_skip_images : Tgl3.Gl.enum
      val pack_skip_pixels : Tgl3.Gl.enum
      val pack_skip_rows : Tgl3.Gl.enum
      val pack_swap_bytes : Tgl3.Gl.enum
      val pixel_pack_buffer : Tgl3.Gl.enum
      val pixel_pack_buffer_binding : Tgl3.Gl.enum
      val pixel_unpack_buffer : Tgl3.Gl.enum
      val pixel_unpack_buffer_binding : Tgl3.Gl.enum
      val point : Tgl3.Gl.enum
      val points : Tgl3.Gl.enum
      val point_fade_threshold_size : Tgl3.Gl.enum
      val point_size_enum : Tgl3.Gl.enum
      val point_size_granularity : Tgl3.Gl.enum
      val point_size_range : Tgl3.Gl.enum
      val point_sprite_coord_origin : Tgl3.Gl.enum
      val polygon_mode_enum : Tgl3.Gl.enum
      val polygon_offset_factor : Tgl3.Gl.enum
      val polygon_offset_fill : Tgl3.Gl.enum
      val polygon_offset_line : Tgl3.Gl.enum
      val polygon_offset_point : Tgl3.Gl.enum
      val polygon_offset_units : Tgl3.Gl.enum
      val polygon_smooth : Tgl3.Gl.enum
      val polygon_smooth_hint : Tgl3.Gl.enum
      val primitives_generated : Tgl3.Gl.enum
      val primitive_restart : Tgl3.Gl.enum
      val primitive_restart_index_enum : Tgl3.Gl.enum
      val program_point_size : Tgl3.Gl.enum
      val provoking_vertex_enum : Tgl3.Gl.enum
      val proxy_texture_1d : Tgl3.Gl.enum
      val proxy_texture_1d_array : Tgl3.Gl.enum
      val proxy_texture_2d : Tgl3.Gl.enum
      val proxy_texture_2d_array : Tgl3.Gl.enum
      val proxy_texture_2d_multisample : Tgl3.Gl.enum
      val proxy_texture_2d_multisample_array : Tgl3.Gl.enum
      val proxy_texture_3d : Tgl3.Gl.enum
      val proxy_texture_cube_map : Tgl3.Gl.enum
      val proxy_texture_rectangle : Tgl3.Gl.enum
      val quads_follow_provoking_vertex_convention : Tgl3.Gl.enum
      val query_by_region_no_wait : Tgl3.Gl.enum
      val query_by_region_wait : Tgl3.Gl.enum
      val query_counter_bits : Tgl3.Gl.enum
      val query_no_wait : Tgl3.Gl.enum
      val query_result : Tgl3.Gl.enum
      val query_result_available : Tgl3.Gl.enum
      val query_wait : Tgl3.Gl.enum
      val r11f_g11f_b10f : Tgl3.Gl.enum
      val r16 : Tgl3.Gl.enum
      val r16f : Tgl3.Gl.enum
      val r16i : Tgl3.Gl.enum
      val r16ui : Tgl3.Gl.enum
      val r16_snorm : Tgl3.Gl.enum
      val r32f : Tgl3.Gl.enum
      val r32i : Tgl3.Gl.enum
      val r32ui : Tgl3.Gl.enum
      val r3_g3_b2 : Tgl3.Gl.enum
      val r8 : Tgl3.Gl.enum
      val r8i : Tgl3.Gl.enum
      val r8ui : Tgl3.Gl.enum
      val r8_snorm : Tgl3.Gl.enum
      val rasterizer_discard : Tgl3.Gl.enum
      val read_buffer_enum : Tgl3.Gl.enum
      val read_framebuffer : Tgl3.Gl.enum
      val read_framebuffer_binding : Tgl3.Gl.enum
      val read_only : Tgl3.Gl.enum
      val read_write : Tgl3.Gl.enum
      val red : Tgl3.Gl.enum
      val red_integer : Tgl3.Gl.enum
      val renderbuffer : Tgl3.Gl.enum
      val renderbuffer_alpha_size : Tgl3.Gl.enum
      val renderbuffer_binding : Tgl3.Gl.enum
      val renderbuffer_blue_size : Tgl3.Gl.enum
      val renderbuffer_depth_size : Tgl3.Gl.enum
      val renderbuffer_green_size : Tgl3.Gl.enum
      val renderbuffer_height : Tgl3.Gl.enum
      val renderbuffer_internal_format : Tgl3.Gl.enum
      val renderbuffer_red_size : Tgl3.Gl.enum
      val renderbuffer_samples : Tgl3.Gl.enum
      val renderbuffer_stencil_size : Tgl3.Gl.enum
      val renderbuffer_width : Tgl3.Gl.enum
      val renderer : Tgl3.Gl.enum
      val repeat : Tgl3.Gl.enum
      val replace : Tgl3.Gl.enum
      val rg : Tgl3.Gl.enum
      val rg16 : Tgl3.Gl.enum
      val rg16f : Tgl3.Gl.enum
      val rg16i : Tgl3.Gl.enum
      val rg16ui : Tgl3.Gl.enum
      val rg16_snorm : Tgl3.Gl.enum
      val rg32f : Tgl3.Gl.enum
      val rg32i : Tgl3.Gl.enum
      val rg32ui : Tgl3.Gl.enum
      val rg8 : Tgl3.Gl.enum
      val rg8i : Tgl3.Gl.enum
      val rg8ui : Tgl3.Gl.enum
      val rg8_snorm : Tgl3.Gl.enum
      val rgb : Tgl3.Gl.enum
      val rgb10 : Tgl3.Gl.enum
      val rgb10_a2 : Tgl3.Gl.enum
      val rgb10_a2ui : Tgl3.Gl.enum
      val rgb12 : Tgl3.Gl.enum
      val rgb16 : Tgl3.Gl.enum
      val rgb16f : Tgl3.Gl.enum
      val rgb16i : Tgl3.Gl.enum
      val rgb16ui : Tgl3.Gl.enum
      val rgb16_snorm : Tgl3.Gl.enum
      val rgb32f : Tgl3.Gl.enum
      val rgb32i : Tgl3.Gl.enum
      val rgb32ui : Tgl3.Gl.enum
      val rgb4 : Tgl3.Gl.enum
      val rgb5 : Tgl3.Gl.enum
      val rgb5_a1 : Tgl3.Gl.enum
      val rgb8 : Tgl3.Gl.enum
      val rgb8i : Tgl3.Gl.enum
      val rgb8ui : Tgl3.Gl.enum
      val rgb8_snorm : Tgl3.Gl.enum
      val rgb9_e5 : Tgl3.Gl.enum
      val rgba : Tgl3.Gl.enum
      val rgba12 : Tgl3.Gl.enum
      val rgba16 : Tgl3.Gl.enum
      val rgba16f : Tgl3.Gl.enum
      val rgba16i : Tgl3.Gl.enum
      val rgba16ui : Tgl3.Gl.enum
      val rgba16_snorm : Tgl3.Gl.enum
      val rgba2 : Tgl3.Gl.enum
      val rgba32f : Tgl3.Gl.enum
      val rgba32i : Tgl3.Gl.enum
      val rgba32ui : Tgl3.Gl.enum
      val rgba4 : Tgl3.Gl.enum
      val rgba8 : Tgl3.Gl.enum
      val rgba8i : Tgl3.Gl.enum
      val rgba8ui : Tgl3.Gl.enum
      val rgba8_snorm : Tgl3.Gl.enum
      val rgba_integer : Tgl3.Gl.enum
      val rgb_integer : Tgl3.Gl.enum
      val rg_integer : Tgl3.Gl.enum
      val right : Tgl3.Gl.enum
      val sampler_1d : Tgl3.Gl.enum
      val sampler_1d_array : Tgl3.Gl.enum
      val sampler_1d_array_shadow : Tgl3.Gl.enum
      val sampler_1d_shadow : Tgl3.Gl.enum
      val sampler_2d : Tgl3.Gl.enum
      val sampler_2d_array : Tgl3.Gl.enum
      val sampler_2d_array_shadow : Tgl3.Gl.enum
      val sampler_2d_multisample : Tgl3.Gl.enum
      val sampler_2d_multisample_array : Tgl3.Gl.enum
      val sampler_2d_rect : Tgl3.Gl.enum
      val sampler_2d_rect_shadow : Tgl3.Gl.enum
      val sampler_2d_shadow : Tgl3.Gl.enum
      val sampler_3d : Tgl3.Gl.enum
      val sampler_binding : Tgl3.Gl.enum
      val sampler_buffer : Tgl3.Gl.enum
      val sampler_cube : Tgl3.Gl.enum
      val sampler_cube_shadow : Tgl3.Gl.enum
      val samples : Tgl3.Gl.enum
      val samples_passed : Tgl3.Gl.enum
      val sample_alpha_to_coverage : Tgl3.Gl.enum
      val sample_alpha_to_one : Tgl3.Gl.enum
      val sample_buffers : Tgl3.Gl.enum
      val sample_coverage_enum : Tgl3.Gl.enum
      val sample_coverage_invert : Tgl3.Gl.enum
      val sample_coverage_value : Tgl3.Gl.enum
      val sample_mask : Tgl3.Gl.enum
      val sample_mask_value : Tgl3.Gl.enum
      val sample_position : Tgl3.Gl.enum
      val scissor_box : Tgl3.Gl.enum
      val scissor_test : Tgl3.Gl.enum
      val separate_attribs : Tgl3.Gl.enum
      val set : Tgl3.Gl.enum
      val shader_source_length : Tgl3.Gl.enum
      val shader_type : Tgl3.Gl.enum
      val shading_language_version : Tgl3.Gl.enum
      val short : Tgl3.Gl.enum
      val signaled : Tgl3.Gl.enum
      val signed_normalized : Tgl3.Gl.enum
      val smooth_line_width_granularity : Tgl3.Gl.enum
      val smooth_line_width_range : Tgl3.Gl.enum
      val smooth_point_size_granularity : Tgl3.Gl.enum
      val smooth_point_size_range : Tgl3.Gl.enum
      val src1_alpha : Tgl3.Gl.enum
      val src1_color : Tgl3.Gl.enum
      val src_alpha : Tgl3.Gl.enum
      val src_alpha_saturate : Tgl3.Gl.enum
      val src_color : Tgl3.Gl.enum
      val srgb : Tgl3.Gl.enum
      val srgb8 : Tgl3.Gl.enum
      val srgb8_alpha8 : Tgl3.Gl.enum
      val srgb_alpha : Tgl3.Gl.enum
      val static_copy : Tgl3.Gl.enum
      val static_draw : Tgl3.Gl.enum
      val static_read : Tgl3.Gl.enum
      val stencil : Tgl3.Gl.enum
      val stencil_attachment : Tgl3.Gl.enum
      val stencil_back_fail : Tgl3.Gl.enum
      val stencil_back_func : Tgl3.Gl.enum
      val stencil_back_pass_depth_fail : Tgl3.Gl.enum
      val stencil_back_pass_depth_pass : Tgl3.Gl.enum
      val stencil_back_ref : Tgl3.Gl.enum
      val stencil_back_value_mask : Tgl3.Gl.enum
      val stencil_back_writemask : Tgl3.Gl.enum
      val stencil_buffer_bit : Tgl3.Gl.enum
      val stencil_clear_value : Tgl3.Gl.enum
      val stencil_fail : Tgl3.Gl.enum
      val stencil_func_enum : Tgl3.Gl.enum
      val stencil_index : Tgl3.Gl.enum
      val stencil_index1 : Tgl3.Gl.enum
      val stencil_index16 : Tgl3.Gl.enum
      val stencil_index4 : Tgl3.Gl.enum
      val stencil_index8 : Tgl3.Gl.enum
      val stencil_pass_depth_fail : Tgl3.Gl.enum
      val stencil_pass_depth_pass : Tgl3.Gl.enum
      val stencil_ref : Tgl3.Gl.enum
      val stencil_test : Tgl3.Gl.enum
      val stencil_value_mask : Tgl3.Gl.enum
      val stencil_writemask : Tgl3.Gl.enum
      val stereo : Tgl3.Gl.enum
      val stream_copy : Tgl3.Gl.enum
      val stream_draw : Tgl3.Gl.enum
      val stream_read : Tgl3.Gl.enum
      val subpixel_bits : Tgl3.Gl.enum
      val sync_condition : Tgl3.Gl.enum
      val sync_fence : Tgl3.Gl.enum
      val sync_flags : Tgl3.Gl.enum
      val sync_flush_commands_bit : Tgl3.Gl.enum
      val sync_gpu_commands_complete : Tgl3.Gl.enum
      val sync_status : Tgl3.Gl.enum
      val texture : Tgl3.Gl.enum
      val texture0 : Tgl3.Gl.enum
      val texture1 : Tgl3.Gl.enum
      val texture10 : Tgl3.Gl.enum
      val texture11 : Tgl3.Gl.enum
      val texture12 : Tgl3.Gl.enum
      val texture13 : Tgl3.Gl.enum
      val texture14 : Tgl3.Gl.enum
      val texture15 : Tgl3.Gl.enum
      val texture16 : Tgl3.Gl.enum
      val texture17 : Tgl3.Gl.enum
      val texture18 : Tgl3.Gl.enum
      val texture19 : Tgl3.Gl.enum
      val texture2 : Tgl3.Gl.enum
      val texture20 : Tgl3.Gl.enum
      val texture21 : Tgl3.Gl.enum
      val texture22 : Tgl3.Gl.enum
      val texture23 : Tgl3.Gl.enum
      val texture24 : Tgl3.Gl.enum
      val texture25 : Tgl3.Gl.enum
      val texture26 : Tgl3.Gl.enum
      val texture27 : Tgl3.Gl.enum
      val texture28 : Tgl3.Gl.enum
      val texture29 : Tgl3.Gl.enum
      val texture3 : Tgl3.Gl.enum
      val texture30 : Tgl3.Gl.enum
      val texture31 : Tgl3.Gl.enum
      val texture4 : Tgl3.Gl.enum
      val texture5 : Tgl3.Gl.enum
      val texture6 : Tgl3.Gl.enum
      val texture7 : Tgl3.Gl.enum
      val texture8 : Tgl3.Gl.enum
      val texture9 : Tgl3.Gl.enum
      val texture_1d : Tgl3.Gl.enum
      val texture_1d_array : Tgl3.Gl.enum
      val texture_2d : Tgl3.Gl.enum
      val texture_2d_array : Tgl3.Gl.enum
      val texture_2d_multisample : Tgl3.Gl.enum
      val texture_2d_multisample_array : Tgl3.Gl.enum
      val texture_3d : Tgl3.Gl.enum
      val texture_alpha_size : Tgl3.Gl.enum
      val texture_alpha_type : Tgl3.Gl.enum
      val texture_base_level : Tgl3.Gl.enum
      val texture_binding_1d : Tgl3.Gl.enum
      val texture_binding_1d_array : Tgl3.Gl.enum
      val texture_binding_2d : Tgl3.Gl.enum
      val texture_binding_2d_array : Tgl3.Gl.enum
      val texture_binding_2d_multisample : Tgl3.Gl.enum
      val texture_binding_2d_multisample_array : Tgl3.Gl.enum
      val texture_binding_3d : Tgl3.Gl.enum
      val texture_binding_buffer : Tgl3.Gl.enum
      val texture_binding_cube_map : Tgl3.Gl.enum
      val texture_binding_rectangle : Tgl3.Gl.enum
      val texture_blue_size : Tgl3.Gl.enum
      val texture_blue_type : Tgl3.Gl.enum
      val texture_border_color : Tgl3.Gl.enum
      val texture_buffer : Tgl3.Gl.enum
      val texture_buffer_data_store_binding : Tgl3.Gl.enum
      val texture_compare_func : Tgl3.Gl.enum
      val texture_compare_mode : Tgl3.Gl.enum
      val texture_compressed : Tgl3.Gl.enum
      val texture_compressed_image_size : Tgl3.Gl.enum
      val texture_compression_hint : Tgl3.Gl.enum
      val texture_cube_map : Tgl3.Gl.enum
      val texture_cube_map_negative_x : Tgl3.Gl.enum
      val texture_cube_map_negative_y : Tgl3.Gl.enum
      val texture_cube_map_negative_z : Tgl3.Gl.enum
      val texture_cube_map_positive_x : Tgl3.Gl.enum
      val texture_cube_map_positive_y : Tgl3.Gl.enum
      val texture_cube_map_positive_z : Tgl3.Gl.enum
      val texture_cube_map_seamless : Tgl3.Gl.enum
      val texture_depth : Tgl3.Gl.enum
      val texture_depth_size : Tgl3.Gl.enum
      val texture_depth_type : Tgl3.Gl.enum
      val texture_fixed_sample_locations : Tgl3.Gl.enum
      val texture_green_size : Tgl3.Gl.enum
      val texture_green_type : Tgl3.Gl.enum
      val texture_height : Tgl3.Gl.enum
      val texture_internal_format : Tgl3.Gl.enum
      val texture_lod_bias : Tgl3.Gl.enum
      val texture_mag_filter : Tgl3.Gl.enum
      val texture_max_level : Tgl3.Gl.enum
      val texture_max_lod : Tgl3.Gl.enum
      val texture_min_filter : Tgl3.Gl.enum
      val texture_min_lod : Tgl3.Gl.enum
      val texture_rectangle : Tgl3.Gl.enum
      val texture_red_size : Tgl3.Gl.enum
      val texture_red_type : Tgl3.Gl.enum
      val texture_samples : Tgl3.Gl.enum
      val texture_shared_size : Tgl3.Gl.enum
      val texture_stencil_size : Tgl3.Gl.enum
      val texture_swizzle_a : Tgl3.Gl.enum
      val texture_swizzle_b : Tgl3.Gl.enum
      val texture_swizzle_g : Tgl3.Gl.enum
      val texture_swizzle_r : Tgl3.Gl.enum
      val texture_swizzle_rgba : Tgl3.Gl.enum
      val texture_width : Tgl3.Gl.enum
      val texture_wrap_r : Tgl3.Gl.enum
      val texture_wrap_s : Tgl3.Gl.enum
      val texture_wrap_t : Tgl3.Gl.enum
      val timeout_expired : Tgl3.Gl.enum
      val timeout_ignored : int64
      val timestamp : Tgl3.Gl.enum
      val time_elapsed : Tgl3.Gl.enum
      val transform_feedback_buffer : Tgl3.Gl.enum
      val transform_feedback_buffer_binding : Tgl3.Gl.enum
      val transform_feedback_buffer_mode : Tgl3.Gl.enum
      val transform_feedback_buffer_size : Tgl3.Gl.enum
      val transform_feedback_buffer_start : Tgl3.Gl.enum
      val transform_feedback_primitives_written : Tgl3.Gl.enum
      val transform_feedback_varyings_enum : Tgl3.Gl.enum
      val transform_feedback_varying_max_length : Tgl3.Gl.enum
      val triangles : Tgl3.Gl.enum
      val triangles_adjacency : Tgl3.Gl.enum
      val triangle_fan : Tgl3.Gl.enum
      val triangle_strip : Tgl3.Gl.enum
      val triangle_strip_adjacency : Tgl3.Gl.enum
      val true_ : Tgl3.Gl.enum
      val uniform_array_stride : Tgl3.Gl.enum
      val uniform_block_active_uniforms : Tgl3.Gl.enum
      val uniform_block_active_uniform_indices : Tgl3.Gl.enum
      val uniform_block_binding_enum : Tgl3.Gl.enum
      val uniform_block_data_size : Tgl3.Gl.enum
      val uniform_block_index : Tgl3.Gl.enum
      val uniform_block_name_length : Tgl3.Gl.enum
      val uniform_block_referenced_by_fragment_shader : Tgl3.Gl.enum
      val uniform_block_referenced_by_geometry_shader : Tgl3.Gl.enum
      val uniform_block_referenced_by_vertex_shader : Tgl3.Gl.enum
      val uniform_buffer : Tgl3.Gl.enum
      val uniform_buffer_binding : Tgl3.Gl.enum
      val uniform_buffer_offset_alignment : Tgl3.Gl.enum
      val uniform_buffer_size : Tgl3.Gl.enum
      val uniform_buffer_start : Tgl3.Gl.enum
      val uniform_is_row_major : Tgl3.Gl.enum
      val uniform_matrix_stride : Tgl3.Gl.enum
      val uniform_name_length : Tgl3.Gl.enum
      val uniform_offset : Tgl3.Gl.enum
      val uniform_size : Tgl3.Gl.enum
      val uniform_type : Tgl3.Gl.enum
      val unpack_alignment : Tgl3.Gl.enum
      val unpack_image_height : Tgl3.Gl.enum
      val unpack_lsb_first : Tgl3.Gl.enum
      val unpack_row_length : Tgl3.Gl.enum
      val unpack_skip_images : Tgl3.Gl.enum
      val unpack_skip_pixels : Tgl3.Gl.enum
      val unpack_skip_rows : Tgl3.Gl.enum
      val unpack_swap_bytes : Tgl3.Gl.enum
      val unsignaled : Tgl3.Gl.enum
      val unsigned_byte : Tgl3.Gl.enum
      val unsigned_byte_2_3_3_rev : Tgl3.Gl.enum
      val unsigned_byte_3_3_2 : Tgl3.Gl.enum
      val unsigned_int : Tgl3.Gl.enum
      val unsigned_int_10f_11f_11f_rev : Tgl3.Gl.enum
      val unsigned_int_10_10_10_2 : Tgl3.Gl.enum
      val unsigned_int_24_8 : Tgl3.Gl.enum
      val unsigned_int_2_10_10_10_rev : Tgl3.Gl.enum
      val unsigned_int_5_9_9_9_rev : Tgl3.Gl.enum
      val unsigned_int_8_8_8_8 : Tgl3.Gl.enum
      val unsigned_int_8_8_8_8_rev : Tgl3.Gl.enum
      val unsigned_int_sampler_1d : Tgl3.Gl.enum
      val unsigned_int_sampler_1d_array : Tgl3.Gl.enum
      val unsigned_int_sampler_2d : Tgl3.Gl.enum
      val unsigned_int_sampler_2d_array : Tgl3.Gl.enum
      val unsigned_int_sampler_2d_multisample : Tgl3.Gl.enum
      val unsigned_int_sampler_2d_multisample_array : Tgl3.Gl.enum
      val unsigned_int_sampler_2d_rect : Tgl3.Gl.enum
      val unsigned_int_sampler_3d : Tgl3.Gl.enum
      val unsigned_int_sampler_buffer : Tgl3.Gl.enum
      val unsigned_int_sampler_cube : Tgl3.Gl.enum
      val unsigned_int_vec2 : Tgl3.Gl.enum
      val unsigned_int_vec3 : Tgl3.Gl.enum
      val unsigned_int_vec4 : Tgl3.Gl.enum
      val unsigned_normalized : Tgl3.Gl.enum
      val unsigned_short : Tgl3.Gl.enum
      val unsigned_short_1_5_5_5_rev : Tgl3.Gl.enum
      val unsigned_short_4_4_4_4 : Tgl3.Gl.enum
      val unsigned_short_4_4_4_4_rev : Tgl3.Gl.enum
      val unsigned_short_5_5_5_1 : Tgl3.Gl.enum
      val unsigned_short_5_6_5 : Tgl3.Gl.enum
      val unsigned_short_5_6_5_rev : Tgl3.Gl.enum
      val upper_left : Tgl3.Gl.enum
      val validate_status : Tgl3.Gl.enum
      val vendor : Tgl3.Gl.enum
      val version : Tgl3.Gl.enum
      val vertex_array_binding : Tgl3.Gl.enum
      val vertex_attrib_array_buffer_binding : Tgl3.Gl.enum
      val vertex_attrib_array_divisor : Tgl3.Gl.enum
      val vertex_attrib_array_enabled : Tgl3.Gl.enum
      val vertex_attrib_array_integer : Tgl3.Gl.enum
      val vertex_attrib_array_normalized : Tgl3.Gl.enum
      val vertex_attrib_array_pointer : Tgl3.Gl.enum
      val vertex_attrib_array_size : Tgl3.Gl.enum
      val vertex_attrib_array_stride : Tgl3.Gl.enum
      val vertex_attrib_array_type : Tgl3.Gl.enum
      val vertex_program_point_size : Tgl3.Gl.enum
      val vertex_shader : Tgl3.Gl.enum
      val viewport_enum : Tgl3.Gl.enum
      val wait_failed : Tgl3.Gl.enum
      val write_only : Tgl3.Gl.enum
      val xor : Tgl3.Gl.enum
      val zero : Tgl3.Gl.enum
    end
end