summary refs log tree commit diff
path: root/gpu_renderer
diff options
context:
space:
mode:
authorZach Reizner <zachr@google.com>2018-05-03 16:58:27 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-07-20 05:30:54 -0700
commitf40bb190ece97c908f8dba2efc7c1aceb4fc0e0b (patch)
tree639ee95c303bc0e9abc79508aa0b0d30843739f3 /gpu_renderer
parent86fdb1dc50c62682ee20794a922be402bbe748a5 (diff)
downloadcrosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.tar
crosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.tar.gz
crosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.tar.bz2
crosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.tar.lz
crosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.tar.xz
crosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.tar.zst
crosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.zip
gpu_renderer: add virglrenderer bindings
These bindings are needed for virtio-gpu 3D capabilities.

All the rust files under gpu_renderer/src/generated are generated via
the gpu_renderer/src/generated/generate script.

The gpu_renderer/src/lib.rs file contains the Renderer and Context
structs, which are the main interfaces to virglrenderer. They
encapsulate the global state of virglrenderer (Renderer) and each
context ID (Context).

The command_buffer module is included only for basic testing and is not
intended for production use.

The pipe_format_fourcc module is provided for the conversion of
virglrenderer specifc formats to standard fourcc formats.

BUG=chromium:837073
TEST=cargo build -p gpu_renderer
CQ-DEPEND=CL:1144406

Change-Id: Iad153390f618309bf493e92e76432c0b1c4a8a93
Reviewed-on: https://chromium-review.googlesource.com/1043447
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>
Diffstat (limited to 'gpu_renderer')
-rw-r--r--gpu_renderer/Cargo.toml9
-rw-r--r--gpu_renderer/src/command_buffer.rs131
-rw-r--r--gpu_renderer/src/generated/epoxy_egl.rs31324
l---------gpu_renderer/src/generated/generate1
-rwxr-xr-xgpu_renderer/src/generated/generate.py182
-rw-r--r--gpu_renderer/src/generated/mod.rs10
-rw-r--r--gpu_renderer/src/generated/p_defines.rs604
-rw-r--r--gpu_renderer/src/generated/p_format.rs275
-rw-r--r--gpu_renderer/src/generated/virgl_protocol.rs239
-rw-r--r--gpu_renderer/src/generated/virglrenderer.rs221
-rw-r--r--gpu_renderer/src/lib.rs880
-rw-r--r--gpu_renderer/src/pipe_format_fourcc.rs20
12 files changed, 33896 insertions, 0 deletions
diff --git a/gpu_renderer/Cargo.toml b/gpu_renderer/Cargo.toml
new file mode 100644
index 0000000..fb95813
--- /dev/null
+++ b/gpu_renderer/Cargo.toml
@@ -0,0 +1,9 @@
+[package]
+name = "gpu_renderer"
+version = "0.1.0"
+authors = ["The Chromium OS Authors"]
+
+[dependencies]
+data_model = { path = "../data_model" }
+libc = "*"
+sys_util = { path = "../sys_util" }
diff --git a/gpu_renderer/src/command_buffer.rs b/gpu_renderer/src/command_buffer.rs
new file mode 100644
index 0000000..57b04c3
--- /dev/null
+++ b/gpu_renderer/src/command_buffer.rs
@@ -0,0 +1,131 @@
+// Copyright 2018 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+use std::mem::size_of;
+use std::os::raw::c_void;
+use std::slice::{from_raw_parts, from_raw_parts_mut};
+
+use generated::virgl_protocol::*;
+
+use Resource;
+
+/// Helper struct for making a virgl command buffer.
+#[derive(Default)]
+pub struct CommandBufferBuilder {
+    cbuf: Vec<u32>,
+}
+
+impl AsRef<[u8]> for CommandBufferBuilder {
+    fn as_ref(&self) -> &[u8] {
+        // Safe because the returned slice is a trivial reinterpretation of the same number of
+        // bytes.
+        unsafe {
+            from_raw_parts(self.cbuf.as_ptr() as *const u8,
+                           self.cbuf.len() * size_of::<u32>())
+        }
+    }
+}
+
+impl AsMut<[u8]> for CommandBufferBuilder {
+    fn as_mut(&mut self) -> &mut [u8] {
+        // Safe because the returned slice is a trivial reinterpretation of the same number of
+        // bytes.
+        unsafe {
+            from_raw_parts_mut(self.cbuf.as_mut_ptr() as *mut u8,
+                               self.cbuf.len() * size_of::<u32>())
+        }
+    }
+}
+
+
+impl CommandBufferBuilder {
+    /// Constructs an empty command
+    pub fn new() -> CommandBufferBuilder {
+        Default::default()
+    }
+
+    fn push(&mut self, dw: u32) {
+        self.cbuf.push(dw);
+    }
+
+    fn push_qw(&mut self, qw: u64) {
+        self.cbuf.push(qw as u32);
+        self.cbuf.push((qw >> 32) as u32);
+    }
+
+    fn push_cmd(&mut self, cmd: u32, obj_type: u32, len: u32) {
+        self.cbuf.push((cmd & 0xff) | ((obj_type & 0xff) << 8) | ((len & 0xffff) << 16));
+    }
+
+    /// Gets the command buffer as a pointer to the beginning.
+    pub fn as_mut_ptr(&mut self) -> *mut c_void {
+        self.cbuf.as_mut_ptr() as *mut c_void
+    }
+
+    /// Gets the size of the command buffer content in dwords.
+    pub fn dword_count(&self) -> usize {
+        self.cbuf.len()
+    }
+
+    /// Clears the command buffer content.
+    pub fn clear(&mut self) {
+        self.cbuf.clear();
+    }
+
+    /// Checks that the command buffer is well formed.
+    pub fn is_valid(&self) -> bool {
+        let mut i = 0;
+        while i < self.cbuf.len() {
+            i += 1 + (self.cbuf[i] >> 16) as usize;
+        }
+        i == self.cbuf.len()
+    }
+
+    /// Pushes a clear command to this command buffer.
+    pub fn e_clear(&mut self, buffers: u32, color: [f32; 4], depth: f64, stencil: u32) {
+        self.push_cmd(VIRGL_CCMD_CLEAR, 0, VIRGL_OBJ_CLEAR_SIZE);
+        self.push(buffers);
+        for &c in color.iter() {
+            self.push(c.to_bits())
+        }
+        self.push_qw(depth.to_bits());
+        self.push(stencil);
+        assert!(self.is_valid());
+    }
+
+    /// Pushes a create surface command to this command buffer.
+    pub fn e_create_surface(&mut self,
+                            new_id: u32,
+                            res: &Resource,
+                            format: u32,
+                            level: u32,
+                            first_layer: u32,
+                            last_layer: u32) {
+        self.push_cmd(VIRGL_CCMD_CREATE_OBJECT,
+                      VIRGL_OBJECT_SURFACE,
+                      VIRGL_OBJ_SURFACE_SIZE);
+        self.push(new_id);
+        self.push(res.id());
+        self.push(format);
+        self.push(level);
+        self.push(first_layer | (last_layer << 16));
+        assert!(self.is_valid());
+    }
+
+    /// Pushes a set framebuffer state command to this command buffer.
+    pub fn e_set_fb_state(&mut self, surface_handles: &[u32], zbuf: Option<u32>) {
+        fn cmd_set_fb_state_size(surface_count: u32) -> u32 {
+            2 + surface_count
+        }
+        self.push_cmd(VIRGL_CCMD_SET_FRAMEBUFFER_STATE,
+                      0,
+                      cmd_set_fb_state_size(surface_handles.len() as u32));
+        self.push(surface_handles.len() as u32);
+        self.push(zbuf.unwrap_or(0));
+        for &surface_handle in surface_handles {
+            self.push(surface_handle);
+        }
+        assert!(self.is_valid());
+    }
+}
diff --git a/gpu_renderer/src/generated/epoxy_egl.rs b/gpu_renderer/src/generated/epoxy_egl.rs
new file mode 100644
index 0000000..e7db2e3
--- /dev/null
+++ b/gpu_renderer/src/generated/epoxy_egl.rs
@@ -0,0 +1,31324 @@
+/* automatically generated by rust-bindgen */
+
+#[link(name = "epoxy")]
+extern "C" {}
+
+pub const GL_ES_VERSION_2_0: u32 = 1;
+pub const GL_ES_VERSION_3_0: u32 = 1;
+pub const GL_ES_VERSION_3_1: u32 = 1;
+pub const GL_ES_VERSION_3_2: u32 = 1;
+pub const GL_SC_VERSION_2_0: u32 = 1;
+pub const GL_VERSION_1_0: u32 = 1;
+pub const GL_VERSION_1_1: u32 = 1;
+pub const GL_VERSION_1_2: u32 = 1;
+pub const GL_VERSION_1_3: u32 = 1;
+pub const GL_VERSION_1_4: u32 = 1;
+pub const GL_VERSION_1_5: u32 = 1;
+pub const GL_VERSION_2_0: u32 = 1;
+pub const GL_VERSION_2_1: u32 = 1;
+pub const GL_VERSION_3_0: u32 = 1;
+pub const GL_VERSION_3_1: u32 = 1;
+pub const GL_VERSION_3_2: u32 = 1;
+pub const GL_VERSION_3_3: u32 = 1;
+pub const GL_VERSION_4_0: u32 = 1;
+pub const GL_VERSION_4_1: u32 = 1;
+pub const GL_VERSION_4_2: u32 = 1;
+pub const GL_VERSION_4_3: u32 = 1;
+pub const GL_VERSION_4_4: u32 = 1;
+pub const GL_VERSION_4_5: u32 = 1;
+pub const GL_VERSION_ES_CM_1_0: u32 = 1;
+pub const GL_3DFX_multisample: u32 = 1;
+pub const GL_3DFX_tbuffer: u32 = 1;
+pub const GL_3DFX_texture_compression_FXT1: u32 = 1;
+pub const GL_AMD_blend_minmax_factor: u32 = 1;
+pub const GL_AMD_compressed_3DC_texture: u32 = 1;
+pub const GL_AMD_compressed_ATC_texture: u32 = 1;
+pub const GL_AMD_conservative_depth: u32 = 1;
+pub const GL_AMD_debug_output: u32 = 1;
+pub const GL_AMD_depth_clamp_separate: u32 = 1;
+pub const GL_AMD_draw_buffers_blend: u32 = 1;
+pub const GL_AMD_framebuffer_sample_positions: u32 = 1;
+pub const GL_AMD_gcn_shader: u32 = 1;
+pub const GL_AMD_gpu_shader_half_float: u32 = 1;
+pub const GL_AMD_gpu_shader_int64: u32 = 1;
+pub const GL_AMD_interleaved_elements: u32 = 1;
+pub const GL_AMD_multi_draw_indirect: u32 = 1;
+pub const GL_AMD_name_gen_delete: u32 = 1;
+pub const GL_AMD_occlusion_query_event: u32 = 1;
+pub const GL_AMD_performance_monitor: u32 = 1;
+pub const GL_AMD_pinned_memory: u32 = 1;
+pub const GL_AMD_program_binary_Z400: u32 = 1;
+pub const GL_AMD_query_buffer_object: u32 = 1;
+pub const GL_AMD_sample_positions: u32 = 1;
+pub const GL_AMD_seamless_cubemap_per_texture: u32 = 1;
+pub const GL_AMD_shader_atomic_counter_ops: u32 = 1;
+pub const GL_AMD_shader_ballot: u32 = 1;
+pub const GL_AMD_shader_explicit_vertex_parameter: u32 = 1;
+pub const GL_AMD_shader_stencil_export: u32 = 1;
+pub const GL_AMD_shader_trinary_minmax: u32 = 1;
+pub const GL_AMD_sparse_texture: u32 = 1;
+pub const GL_AMD_stencil_operation_extended: u32 = 1;
+pub const GL_AMD_texture_texture4: u32 = 1;
+pub const GL_AMD_transform_feedback3_lines_triangles: u32 = 1;
+pub const GL_AMD_transform_feedback4: u32 = 1;
+pub const GL_AMD_vertex_shader_layer: u32 = 1;
+pub const GL_AMD_vertex_shader_tessellator: u32 = 1;
+pub const GL_AMD_vertex_shader_viewport_index: u32 = 1;
+pub const GL_ANDROID_extension_pack_es31a: u32 = 1;
+pub const GL_ANGLE_depth_texture: u32 = 1;
+pub const GL_ANGLE_framebuffer_blit: u32 = 1;
+pub const GL_ANGLE_framebuffer_multisample: u32 = 1;
+pub const GL_ANGLE_instanced_arrays: u32 = 1;
+pub const GL_ANGLE_pack_reverse_row_order: u32 = 1;
+pub const GL_ANGLE_program_binary: u32 = 1;
+pub const GL_ANGLE_texture_compression_dxt3: u32 = 1;
+pub const GL_ANGLE_texture_compression_dxt5: u32 = 1;
+pub const GL_ANGLE_texture_usage: u32 = 1;
+pub const GL_ANGLE_translated_shader_source: u32 = 1;
+pub const GL_APPLE_aux_depth_stencil: u32 = 1;
+pub const GL_APPLE_client_storage: u32 = 1;
+pub const GL_APPLE_clip_distance: u32 = 1;
+pub const GL_APPLE_color_buffer_packed_float: u32 = 1;
+pub const GL_APPLE_copy_texture_levels: u32 = 1;
+pub const GL_APPLE_element_array: u32 = 1;
+pub const GL_APPLE_fence: u32 = 1;
+pub const GL_APPLE_float_pixels: u32 = 1;
+pub const GL_APPLE_flush_buffer_range: u32 = 1;
+pub const GL_APPLE_framebuffer_multisample: u32 = 1;
+pub const GL_APPLE_object_purgeable: u32 = 1;
+pub const GL_APPLE_rgb_422: u32 = 1;
+pub const GL_APPLE_row_bytes: u32 = 1;
+pub const GL_APPLE_specular_vector: u32 = 1;
+pub const GL_APPLE_sync: u32 = 1;
+pub const GL_APPLE_texture_2D_limited_npot: u32 = 1;
+pub const GL_APPLE_texture_format_BGRA8888: u32 = 1;
+pub const GL_APPLE_texture_max_level: u32 = 1;
+pub const GL_APPLE_texture_packed_float: u32 = 1;
+pub const GL_APPLE_texture_range: u32 = 1;
+pub const GL_APPLE_transform_hint: u32 = 1;
+pub const GL_APPLE_vertex_array_object: u32 = 1;
+pub const GL_APPLE_vertex_array_range: u32 = 1;
+pub const GL_APPLE_vertex_program_evaluators: u32 = 1;
+pub const GL_APPLE_ycbcr_422: u32 = 1;
+pub const GL_ARB_ES2_compatibility: u32 = 1;
+pub const GL_ARB_ES3_1_compatibility: u32 = 1;
+pub const GL_ARB_ES3_2_compatibility: u32 = 1;
+pub const GL_ARB_ES3_compatibility: u32 = 1;
+pub const GL_ARB_arrays_of_arrays: u32 = 1;
+pub const GL_ARB_base_instance: u32 = 1;
+pub const GL_ARB_bindless_texture: u32 = 1;
+pub const GL_ARB_blend_func_extended: u32 = 1;
+pub const GL_ARB_buffer_storage: u32 = 1;
+pub const GL_ARB_cl_event: u32 = 1;
+pub const GL_ARB_clear_buffer_object: u32 = 1;
+pub const GL_ARB_clear_texture: u32 = 1;
+pub const GL_ARB_clip_control: u32 = 1;
+pub const GL_ARB_color_buffer_float: u32 = 1;
+pub const GL_ARB_compatibility: u32 = 1;
+pub const GL_ARB_compressed_texture_pixel_storage: u32 = 1;
+pub const GL_ARB_compute_shader: u32 = 1;
+pub const GL_ARB_compute_variable_group_size: u32 = 1;
+pub const GL_ARB_conditional_render_inverted: u32 = 1;
+pub const GL_ARB_conservative_depth: u32 = 1;
+pub const GL_ARB_copy_buffer: u32 = 1;
+pub const GL_ARB_copy_image: u32 = 1;
+pub const GL_ARB_cull_distance: u32 = 1;
+pub const GL_ARB_debug_output: u32 = 1;
+pub const GL_ARB_depth_buffer_float: u32 = 1;
+pub const GL_ARB_depth_clamp: u32 = 1;
+pub const GL_ARB_depth_texture: u32 = 1;
+pub const GL_ARB_derivative_control: u32 = 1;
+pub const GL_ARB_direct_state_access: u32 = 1;
+pub const GL_ARB_draw_buffers: u32 = 1;
+pub const GL_ARB_draw_buffers_blend: u32 = 1;
+pub const GL_ARB_draw_elements_base_vertex: u32 = 1;
+pub const GL_ARB_draw_indirect: u32 = 1;
+pub const GL_ARB_draw_instanced: u32 = 1;
+pub const GL_ARB_enhanced_layouts: u32 = 1;
+pub const GL_ARB_explicit_attrib_location: u32 = 1;
+pub const GL_ARB_explicit_uniform_location: u32 = 1;
+pub const GL_ARB_fragment_coord_conventions: u32 = 1;
+pub const GL_ARB_fragment_layer_viewport: u32 = 1;
+pub const GL_ARB_fragment_program: u32 = 1;
+pub const GL_ARB_fragment_program_shadow: u32 = 1;
+pub const GL_ARB_fragment_shader: u32 = 1;
+pub const GL_ARB_fragment_shader_interlock: u32 = 1;
+pub const GL_ARB_framebuffer_no_attachments: u32 = 1;
+pub const GL_ARB_framebuffer_object: u32 = 1;
+pub const GL_ARB_framebuffer_sRGB: u32 = 1;
+pub const GL_ARB_geometry_shader4: u32 = 1;
+pub const GL_ARB_get_program_binary: u32 = 1;
+pub const GL_ARB_get_texture_sub_image: u32 = 1;
+pub const GL_ARB_gpu_shader5: u32 = 1;
+pub const GL_ARB_gpu_shader_fp64: u32 = 1;
+pub const GL_ARB_gpu_shader_int64: u32 = 1;
+pub const GL_ARB_half_float_pixel: u32 = 1;
+pub const GL_ARB_half_float_vertex: u32 = 1;
+pub const GL_ARB_imaging: u32 = 1;
+pub const GL_ARB_indirect_parameters: u32 = 1;
+pub const GL_ARB_instanced_arrays: u32 = 1;
+pub const GL_ARB_internalformat_query: u32 = 1;
+pub const GL_ARB_internalformat_query2: u32 = 1;
+pub const GL_ARB_invalidate_subdata: u32 = 1;
+pub const GL_ARB_map_buffer_alignment: u32 = 1;
+pub const GL_ARB_map_buffer_range: u32 = 1;
+pub const GL_ARB_matrix_palette: u32 = 1;
+pub const GL_ARB_multi_bind: u32 = 1;
+pub const GL_ARB_multi_draw_indirect: u32 = 1;
+pub const GL_ARB_multisample: u32 = 1;
+pub const GL_ARB_multitexture: u32 = 1;
+pub const GL_ARB_occlusion_query: u32 = 1;
+pub const GL_ARB_occlusion_query2: u32 = 1;
+pub const GL_ARB_parallel_shader_compile: u32 = 1;
+pub const GL_ARB_pipeline_statistics_query: u32 = 1;
+pub const GL_ARB_pixel_buffer_object: u32 = 1;
+pub const GL_ARB_point_parameters: u32 = 1;
+pub const GL_ARB_point_sprite: u32 = 1;
+pub const GL_ARB_post_depth_coverage: u32 = 1;
+pub const GL_ARB_program_interface_query: u32 = 1;
+pub const GL_ARB_provoking_vertex: u32 = 1;
+pub const GL_ARB_query_buffer_object: u32 = 1;
+pub const GL_ARB_robust_buffer_access_behavior: u32 = 1;
+pub const GL_ARB_robustness: u32 = 1;
+pub const GL_ARB_robustness_isolation: u32 = 1;
+pub const GL_ARB_sample_locations: u32 = 1;
+pub const GL_ARB_sample_shading: u32 = 1;
+pub const GL_ARB_sampler_objects: u32 = 1;
+pub const GL_ARB_seamless_cube_map: u32 = 1;
+pub const GL_ARB_seamless_cubemap_per_texture: u32 = 1;
+pub const GL_ARB_separate_shader_objects: u32 = 1;
+pub const GL_ARB_shader_atomic_counter_ops: u32 = 1;
+pub const GL_ARB_shader_atomic_counters: u32 = 1;
+pub const GL_ARB_shader_ballot: u32 = 1;
+pub const GL_ARB_shader_bit_encoding: u32 = 1;
+pub const GL_ARB_shader_clock: u32 = 1;
+pub const GL_ARB_shader_draw_parameters: u32 = 1;
+pub const GL_ARB_shader_group_vote: u32 = 1;
+pub const GL_ARB_shader_image_load_store: u32 = 1;
+pub const GL_ARB_shader_image_size: u32 = 1;
+pub const GL_ARB_shader_objects: u32 = 1;
+pub const GL_ARB_shader_precision: u32 = 1;
+pub const GL_ARB_shader_stencil_export: u32 = 1;
+pub const GL_ARB_shader_storage_buffer_object: u32 = 1;
+pub const GL_ARB_shader_subroutine: u32 = 1;
+pub const GL_ARB_shader_texture_image_samples: u32 = 1;
+pub const GL_ARB_shader_texture_lod: u32 = 1;
+pub const GL_ARB_shader_viewport_layer_array: u32 = 1;
+pub const GL_ARB_shading_language_100: u32 = 1;
+pub const GL_ARB_shading_language_420pack: u32 = 1;
+pub const GL_ARB_shading_language_include: u32 = 1;
+pub const GL_ARB_shading_language_packing: u32 = 1;
+pub const GL_ARB_shadow: u32 = 1;
+pub const GL_ARB_shadow_ambient: u32 = 1;
+pub const GL_ARB_sparse_buffer: u32 = 1;
+pub const GL_ARB_sparse_texture: u32 = 1;
+pub const GL_ARB_sparse_texture2: u32 = 1;
+pub const GL_ARB_sparse_texture_clamp: u32 = 1;
+pub const GL_ARB_stencil_texturing: u32 = 1;
+pub const GL_ARB_sync: u32 = 1;
+pub const GL_ARB_tessellation_shader: u32 = 1;
+pub const GL_ARB_texture_barrier: u32 = 1;
+pub const GL_ARB_texture_border_clamp: u32 = 1;
+pub const GL_ARB_texture_buffer_object: u32 = 1;
+pub const GL_ARB_texture_buffer_object_rgb32: u32 = 1;
+pub const GL_ARB_texture_buffer_range: u32 = 1;
+pub const GL_ARB_texture_compression: u32 = 1;
+pub const GL_ARB_texture_compression_bptc: u32 = 1;
+pub const GL_ARB_texture_compression_rgtc: u32 = 1;
+pub const GL_ARB_texture_cube_map: u32 = 1;
+pub const GL_ARB_texture_cube_map_array: u32 = 1;
+pub const GL_ARB_texture_env_add: u32 = 1;
+pub const GL_ARB_texture_env_combine: u32 = 1;
+pub const GL_ARB_texture_env_crossbar: u32 = 1;
+pub const GL_ARB_texture_env_dot3: u32 = 1;
+pub const GL_ARB_texture_filter_minmax: u32 = 1;
+pub const GL_ARB_texture_float: u32 = 1;
+pub const GL_ARB_texture_gather: u32 = 1;
+pub const GL_ARB_texture_mirror_clamp_to_edge: u32 = 1;
+pub const GL_ARB_texture_mirrored_repeat: u32 = 1;
+pub const GL_ARB_texture_multisample: u32 = 1;
+pub const GL_ARB_texture_non_power_of_two: u32 = 1;
+pub const GL_ARB_texture_query_levels: u32 = 1;
+pub const GL_ARB_texture_query_lod: u32 = 1;
+pub const GL_ARB_texture_rectangle: u32 = 1;
+pub const GL_ARB_texture_rg: u32 = 1;
+pub const GL_ARB_texture_rgb10_a2ui: u32 = 1;
+pub const GL_ARB_texture_stencil8: u32 = 1;
+pub const GL_ARB_texture_storage: u32 = 1;
+pub const GL_ARB_texture_storage_multisample: u32 = 1;
+pub const GL_ARB_texture_swizzle: u32 = 1;
+pub const GL_ARB_texture_view: u32 = 1;
+pub const GL_ARB_timer_query: u32 = 1;
+pub const GL_ARB_transform_feedback2: u32 = 1;
+pub const GL_ARB_transform_feedback3: u32 = 1;
+pub const GL_ARB_transform_feedback_instanced: u32 = 1;
+pub const GL_ARB_transform_feedback_overflow_query: u32 = 1;
+pub const GL_ARB_transpose_matrix: u32 = 1;
+pub const GL_ARB_uniform_buffer_object: u32 = 1;
+pub const GL_ARB_vertex_array_bgra: u32 = 1;
+pub const GL_ARB_vertex_array_object: u32 = 1;
+pub const GL_ARB_vertex_attrib_64bit: u32 = 1;
+pub const GL_ARB_vertex_attrib_binding: u32 = 1;
+pub const GL_ARB_vertex_blend: u32 = 1;
+pub const GL_ARB_vertex_buffer_object: u32 = 1;
+pub const GL_ARB_vertex_program: u32 = 1;
+pub const GL_ARB_vertex_shader: u32 = 1;
+pub const GL_ARB_vertex_type_10f_11f_11f_rev: u32 = 1;
+pub const GL_ARB_vertex_type_2_10_10_10_rev: u32 = 1;
+pub const GL_ARB_viewport_array: u32 = 1;
+pub const GL_ARB_window_pos: u32 = 1;
+pub const GL_ARM_mali_program_binary: u32 = 1;
+pub const GL_ARM_mali_shader_binary: u32 = 1;
+pub const GL_ARM_rgba8: u32 = 1;
+pub const GL_ARM_shader_framebuffer_fetch: u32 = 1;
+pub const GL_ARM_shader_framebuffer_fetch_depth_stencil: u32 = 1;
+pub const GL_ATI_draw_buffers: u32 = 1;
+pub const GL_ATI_element_array: u32 = 1;
+pub const GL_ATI_envmap_bumpmap: u32 = 1;
+pub const GL_ATI_fragment_shader: u32 = 1;
+pub const GL_ATI_map_object_buffer: u32 = 1;
+pub const GL_ATI_meminfo: u32 = 1;
+pub const GL_ATI_pixel_format_float: u32 = 1;
+pub const GL_ATI_pn_triangles: u32 = 1;
+pub const GL_ATI_separate_stencil: u32 = 1;
+pub const GL_ATI_text_fragment_shader: u32 = 1;
+pub const GL_ATI_texture_env_combine3: u32 = 1;
+pub const GL_ATI_texture_float: u32 = 1;
+pub const GL_ATI_texture_mirror_once: u32 = 1;
+pub const GL_ATI_vertex_array_object: u32 = 1;
+pub const GL_ATI_vertex_attrib_array_object: u32 = 1;
+pub const GL_ATI_vertex_streams: u32 = 1;
+pub const GL_DMP_program_binary: u32 = 1;
+pub const GL_DMP_shader_binary: u32 = 1;
+pub const GL_EXT_422_pixels: u32 = 1;
+pub const GL_EXT_YUV_target: u32 = 1;
+pub const GL_EXT_abgr: u32 = 1;
+pub const GL_EXT_base_instance: u32 = 1;
+pub const GL_EXT_bgra: u32 = 1;
+pub const GL_EXT_bindable_uniform: u32 = 1;
+pub const GL_EXT_blend_color: u32 = 1;
+pub const GL_EXT_blend_equation_separate: u32 = 1;
+pub const GL_EXT_blend_func_extended: u32 = 1;
+pub const GL_EXT_blend_func_separate: u32 = 1;
+pub const GL_EXT_blend_logic_op: u32 = 1;
+pub const GL_EXT_blend_minmax: u32 = 1;
+pub const GL_EXT_blend_subtract: u32 = 1;
+pub const GL_EXT_buffer_storage: u32 = 1;
+pub const GL_EXT_clear_texture: u32 = 1;
+pub const GL_EXT_clip_cull_distance: u32 = 1;
+pub const GL_EXT_clip_volume_hint: u32 = 1;
+pub const GL_EXT_cmyka: u32 = 1;
+pub const GL_EXT_color_buffer_float: u32 = 1;
+pub const GL_EXT_color_buffer_half_float: u32 = 1;
+pub const GL_EXT_color_subtable: u32 = 1;
+pub const GL_EXT_compiled_vertex_array: u32 = 1;
+pub const GL_EXT_conservative_depth: u32 = 1;
+pub const GL_EXT_convolution: u32 = 1;
+pub const GL_EXT_coordinate_frame: u32 = 1;
+pub const GL_EXT_copy_image: u32 = 1;
+pub const GL_EXT_copy_texture: u32 = 1;
+pub const GL_EXT_cull_vertex: u32 = 1;
+pub const GL_EXT_debug_label: u32 = 1;
+pub const GL_EXT_debug_marker: u32 = 1;
+pub const GL_EXT_depth_bounds_test: u32 = 1;
+pub const GL_EXT_direct_state_access: u32 = 1;
+pub const GL_EXT_discard_framebuffer: u32 = 1;
+pub const GL_EXT_disjoint_timer_query: u32 = 1;
+pub const GL_EXT_draw_buffers: u32 = 1;
+pub const GL_EXT_draw_buffers2: u32 = 1;
+pub const GL_EXT_draw_buffers_indexed: u32 = 1;
+pub const GL_EXT_draw_elements_base_vertex: u32 = 1;
+pub const GL_EXT_draw_instanced: u32 = 1;
+pub const GL_EXT_draw_range_elements: u32 = 1;
+pub const GL_EXT_draw_transform_feedback: u32 = 1;
+pub const GL_EXT_float_blend: u32 = 1;
+pub const GL_EXT_fog_coord: u32 = 1;
+pub const GL_EXT_framebuffer_blit: u32 = 1;
+pub const GL_EXT_framebuffer_multisample: u32 = 1;
+pub const GL_EXT_framebuffer_multisample_blit_scaled: u32 = 1;
+pub const GL_EXT_framebuffer_object: u32 = 1;
+pub const GL_EXT_framebuffer_sRGB: u32 = 1;
+pub const GL_EXT_geometry_point_size: u32 = 1;
+pub const GL_EXT_geometry_shader: u32 = 1;
+pub const GL_EXT_geometry_shader4: u32 = 1;
+pub const GL_EXT_gpu_program_parameters: u32 = 1;
+pub const GL_EXT_gpu_shader4: u32 = 1;
+pub const GL_EXT_gpu_shader5: u32 = 1;
+pub const GL_EXT_histogram: u32 = 1;
+pub const GL_EXT_index_array_formats: u32 = 1;
+pub const GL_EXT_index_func: u32 = 1;
+pub const GL_EXT_index_material: u32 = 1;
+pub const GL_EXT_index_texture: u32 = 1;
+pub const GL_EXT_instanced_arrays: u32 = 1;
+pub const GL_EXT_light_texture: u32 = 1;
+pub const GL_EXT_map_buffer_range: u32 = 1;
+pub const GL_EXT_misc_attribute: u32 = 1;
+pub const GL_EXT_multi_draw_arrays: u32 = 1;
+pub const GL_EXT_multi_draw_indirect: u32 = 1;
+pub const GL_EXT_multisample: u32 = 1;
+pub const GL_EXT_multisampled_compatibility: u32 = 1;
+pub const GL_EXT_multisampled_render_to_texture: u32 = 1;
+pub const GL_EXT_multiview_draw_buffers: u32 = 1;
+pub const GL_EXT_occlusion_query_boolean: u32 = 1;
+pub const GL_EXT_packed_depth_stencil: u32 = 1;
+pub const GL_EXT_packed_float: u32 = 1;
+pub const GL_EXT_packed_pixels: u32 = 1;
+pub const GL_EXT_paletted_texture: u32 = 1;
+pub const GL_EXT_pixel_buffer_object: u32 = 1;
+pub const GL_EXT_pixel_transform: u32 = 1;
+pub const GL_EXT_pixel_transform_color_table: u32 = 1;
+pub const GL_EXT_point_parameters: u32 = 1;
+pub const GL_EXT_polygon_offset: u32 = 1;
+pub const GL_EXT_polygon_offset_clamp: u32 = 1;
+pub const GL_EXT_post_depth_coverage: u32 = 1;
+pub const GL_EXT_primitive_bounding_box: u32 = 1;
+pub const GL_EXT_protected_textures: u32 = 1;
+pub const GL_EXT_provoking_vertex: u32 = 1;
+pub const GL_EXT_pvrtc_sRGB: u32 = 1;
+pub const GL_EXT_raster_multisample: u32 = 1;
+pub const GL_EXT_read_format_bgra: u32 = 1;
+pub const GL_EXT_render_snorm: u32 = 1;
+pub const GL_EXT_rescale_normal: u32 = 1;
+pub const GL_EXT_robustness: u32 = 1;
+pub const GL_EXT_sRGB: u32 = 1;
+pub const GL_EXT_sRGB_write_control: u32 = 1;
+pub const GL_EXT_secondary_color: u32 = 1;
+pub const GL_EXT_separate_shader_objects: u32 = 1;
+pub const GL_EXT_separate_specular_color: u32 = 1;
+pub const GL_EXT_shader_framebuffer_fetch: u32 = 1;
+pub const GL_EXT_shader_group_vote: u32 = 1;
+pub const GL_EXT_shader_image_load_formatted: u32 = 1;
+pub const GL_EXT_shader_image_load_store: u32 = 1;
+pub const GL_EXT_shader_implicit_conversions: u32 = 1;
+pub const GL_EXT_shader_integer_mix: u32 = 1;
+pub const GL_EXT_shader_io_blocks: u32 = 1;
+pub const GL_EXT_shader_non_constant_global_initializers: u32 = 1;
+pub const GL_EXT_shader_pixel_local_storage: u32 = 1;
+pub const GL_EXT_shader_pixel_local_storage2: u32 = 1;
+pub const GL_EXT_shader_texture_lod: u32 = 1;
+pub const GL_EXT_shadow_funcs: u32 = 1;
+pub const GL_EXT_shadow_samplers: u32 = 1;
+pub const GL_EXT_shared_texture_palette: u32 = 1;
+pub const GL_EXT_sparse_texture: u32 = 1;
+pub const GL_EXT_sparse_texture2: u32 = 1;
+pub const GL_EXT_stencil_clear_tag: u32 = 1;
+pub const GL_EXT_stencil_two_side: u32 = 1;
+pub const GL_EXT_stencil_wrap: u32 = 1;
+pub const GL_EXT_subtexture: u32 = 1;
+pub const GL_EXT_tessellation_point_size: u32 = 1;
+pub const GL_EXT_tessellation_shader: u32 = 1;
+pub const GL_EXT_texture: u32 = 1;
+pub const GL_EXT_texture3D: u32 = 1;
+pub const GL_EXT_texture_array: u32 = 1;
+pub const GL_EXT_texture_border_clamp: u32 = 1;
+pub const GL_EXT_texture_buffer: u32 = 1;
+pub const GL_EXT_texture_buffer_object: u32 = 1;
+pub const GL_EXT_texture_compression_dxt1: u32 = 1;
+pub const GL_EXT_texture_compression_latc: u32 = 1;
+pub const GL_EXT_texture_compression_rgtc: u32 = 1;
+pub const GL_EXT_texture_compression_s3tc: u32 = 1;
+pub const GL_EXT_texture_cube_map: u32 = 1;
+pub const GL_EXT_texture_cube_map_array: u32 = 1;
+pub const GL_EXT_texture_env_add: u32 = 1;
+pub const GL_EXT_texture_env_combine: u32 = 1;
+pub const GL_EXT_texture_env_dot3: u32 = 1;
+pub const GL_EXT_texture_filter_anisotropic: u32 = 1;
+pub const GL_EXT_texture_filter_minmax: u32 = 1;
+pub const GL_EXT_texture_format_BGRA8888: u32 = 1;
+pub const GL_EXT_texture_integer: u32 = 1;
+pub const GL_EXT_texture_lod_bias: u32 = 1;
+pub const GL_EXT_texture_mirror_clamp: u32 = 1;
+pub const GL_EXT_texture_norm16: u32 = 1;
+pub const GL_EXT_texture_object: u32 = 1;
+pub const GL_EXT_texture_perturb_normal: u32 = 1;
+pub const GL_EXT_texture_rg: u32 = 1;
+pub const GL_EXT_texture_sRGB: u32 = 1;
+pub const GL_EXT_texture_sRGB_R8: u32 = 1;
+pub const GL_EXT_texture_sRGB_RG8: u32 = 1;
+pub const GL_EXT_texture_sRGB_decode: u32 = 1;
+pub const GL_EXT_texture_shared_exponent: u32 = 1;
+pub const GL_EXT_texture_snorm: u32 = 1;
+pub const GL_EXT_texture_storage: u32 = 1;
+pub const GL_EXT_texture_swizzle: u32 = 1;
+pub const GL_EXT_texture_type_2_10_10_10_REV: u32 = 1;
+pub const GL_EXT_texture_view: u32 = 1;
+pub const GL_EXT_timer_query: u32 = 1;
+pub const GL_EXT_transform_feedback: u32 = 1;
+pub const GL_EXT_unpack_subimage: u32 = 1;
+pub const GL_EXT_vertex_array: u32 = 1;
+pub const GL_EXT_vertex_array_bgra: u32 = 1;
+pub const GL_EXT_vertex_attrib_64bit: u32 = 1;
+pub const GL_EXT_vertex_shader: u32 = 1;
+pub const GL_EXT_vertex_weighting: u32 = 1;
+pub const GL_EXT_window_rectangles: u32 = 1;
+pub const GL_EXT_x11_sync_object: u32 = 1;
+pub const GL_FJ_shader_binary_GCCSO: u32 = 1;
+pub const GL_GREMEDY_frame_terminator: u32 = 1;
+pub const GL_GREMEDY_string_marker: u32 = 1;
+pub const GL_HP_convolution_border_modes: u32 = 1;
+pub const GL_HP_image_transform: u32 = 1;
+pub const GL_HP_occlusion_test: u32 = 1;
+pub const GL_HP_texture_lighting: u32 = 1;
+pub const GL_IBM_cull_vertex: u32 = 1;
+pub const GL_IBM_multimode_draw_arrays: u32 = 1;
+pub const GL_IBM_rasterpos_clip: u32 = 1;
+pub const GL_IBM_static_data: u32 = 1;
+pub const GL_IBM_texture_mirrored_repeat: u32 = 1;
+pub const GL_IBM_vertex_array_lists: u32 = 1;
+pub const GL_IMG_bindless_texture: u32 = 1;
+pub const GL_IMG_framebuffer_downsample: u32 = 1;
+pub const GL_IMG_multisampled_render_to_texture: u32 = 1;
+pub const GL_IMG_program_binary: u32 = 1;
+pub const GL_IMG_read_format: u32 = 1;
+pub const GL_IMG_shader_binary: u32 = 1;
+pub const GL_IMG_texture_compression_pvrtc: u32 = 1;
+pub const GL_IMG_texture_compression_pvrtc2: u32 = 1;
+pub const GL_IMG_texture_env_enhanced_fixed_function: u32 = 1;
+pub const GL_IMG_texture_filter_cubic: u32 = 1;
+pub const GL_IMG_user_clip_plane: u32 = 1;
+pub const GL_INGR_blend_func_separate: u32 = 1;
+pub const GL_INGR_color_clamp: u32 = 1;
+pub const GL_INGR_interlace_read: u32 = 1;
+pub const GL_INTEL_conservative_rasterization: u32 = 1;
+pub const GL_INTEL_fragment_shader_ordering: u32 = 1;
+pub const GL_INTEL_framebuffer_CMAA: u32 = 1;
+pub const GL_INTEL_map_texture: u32 = 1;
+pub const GL_INTEL_parallel_arrays: u32 = 1;
+pub const GL_INTEL_performance_query: u32 = 1;
+pub const GL_KHR_blend_equation_advanced: u32 = 1;
+pub const GL_KHR_blend_equation_advanced_coherent: u32 = 1;
+pub const GL_KHR_context_flush_control: u32 = 1;
+pub const GL_KHR_debug: u32 = 1;
+pub const GL_KHR_no_error: u32 = 1;
+pub const GL_KHR_robust_buffer_access_behavior: u32 = 1;
+pub const GL_KHR_robustness: u32 = 1;
+pub const GL_KHR_texture_compression_astc_hdr: u32 = 1;
+pub const GL_KHR_texture_compression_astc_ldr: u32 = 1;
+pub const GL_KHR_texture_compression_astc_sliced_3d: u32 = 1;
+pub const GL_MESAX_texture_stack: u32 = 1;
+pub const GL_MESA_pack_invert: u32 = 1;
+pub const GL_MESA_resize_buffers: u32 = 1;
+pub const GL_MESA_window_pos: u32 = 1;
+pub const GL_MESA_ycbcr_texture: u32 = 1;
+pub const GL_NVX_conditional_render: u32 = 1;
+pub const GL_NVX_gpu_memory_info: u32 = 1;
+pub const GL_NV_bindless_multi_draw_indirect: u32 = 1;
+pub const GL_NV_bindless_multi_draw_indirect_count: u32 = 1;
+pub const GL_NV_bindless_texture: u32 = 1;
+pub const GL_NV_blend_equation_advanced: u32 = 1;
+pub const GL_NV_blend_equation_advanced_coherent: u32 = 1;
+pub const GL_NV_blend_square: u32 = 1;
+pub const GL_NV_clip_space_w_scaling: u32 = 1;
+pub const GL_NV_command_list: u32 = 1;
+pub const GL_NV_compute_program5: u32 = 1;
+pub const GL_NV_conditional_render: u32 = 1;
+pub const GL_NV_conservative_raster: u32 = 1;
+pub const GL_NV_conservative_raster_dilate: u32 = 1;
+pub const GL_NV_conservative_raster_pre_snap_triangles: u32 = 1;
+pub const GL_NV_copy_buffer: u32 = 1;
+pub const GL_NV_copy_depth_to_color: u32 = 1;
+pub const GL_NV_copy_image: u32 = 1;
+pub const GL_NV_coverage_sample: u32 = 1;
+pub const GL_NV_deep_texture3D: u32 = 1;
+pub const GL_NV_depth_buffer_float: u32 = 1;
+pub const GL_NV_depth_clamp: u32 = 1;
+pub const GL_NV_depth_nonlinear: u32 = 1;
+pub const GL_NV_draw_buffers: u32 = 1;
+pub const GL_NV_draw_instanced: u32 = 1;
+pub const GL_NV_draw_texture: u32 = 1;
+pub const GL_NV_evaluators: u32 = 1;
+pub const GL_NV_explicit_attrib_location: u32 = 1;
+pub const GL_NV_explicit_multisample: u32 = 1;
+pub const GL_NV_fbo_color_attachments: u32 = 1;
+pub const GL_NV_fence: u32 = 1;
+pub const GL_NV_fill_rectangle: u32 = 1;
+pub const GL_NV_float_buffer: u32 = 1;
+pub const GL_NV_fog_distance: u32 = 1;
+pub const GL_NV_fragment_coverage_to_color: u32 = 1;
+pub const GL_NV_fragment_program: u32 = 1;
+pub const GL_NV_fragment_program2: u32 = 1;
+pub const GL_NV_fragment_program4: u32 = 1;
+pub const GL_NV_fragment_program_option: u32 = 1;
+pub const GL_NV_fragment_shader_interlock: u32 = 1;
+pub const GL_NV_framebuffer_blit: u32 = 1;
+pub const GL_NV_framebuffer_mixed_samples: u32 = 1;
+pub const GL_NV_framebuffer_multisample: u32 = 1;
+pub const GL_NV_framebuffer_multisample_coverage: u32 = 1;
+pub const GL_NV_generate_mipmap_sRGB: u32 = 1;
+pub const GL_NV_geometry_program4: u32 = 1;
+pub const GL_NV_geometry_shader4: u32 = 1;
+pub const GL_NV_geometry_shader_passthrough: u32 = 1;
+pub const GL_NV_gpu_program4: u32 = 1;
+pub const GL_NV_gpu_program5: u32 = 1;
+pub const GL_NV_gpu_program5_mem_extended: u32 = 1;
+pub const GL_NV_gpu_shader5: u32 = 1;
+pub const GL_NV_half_float: u32 = 1;
+pub const GL_NV_image_formats: u32 = 1;
+pub const GL_NV_instanced_arrays: u32 = 1;
+pub const GL_NV_internalformat_sample_query: u32 = 1;
+pub const GL_NV_light_max_exponent: u32 = 1;
+pub const GL_NV_multisample_coverage: u32 = 1;
+pub const GL_NV_multisample_filter_hint: u32 = 1;
+pub const GL_NV_non_square_matrices: u32 = 1;
+pub const GL_NV_occlusion_query: u32 = 1;
+pub const GL_NV_packed_depth_stencil: u32 = 1;
+pub const GL_NV_parameter_buffer_object: u32 = 1;
+pub const GL_NV_parameter_buffer_object2: u32 = 1;
+pub const GL_NV_path_rendering: u32 = 1;
+pub const GL_NV_path_rendering_shared_edge: u32 = 1;
+pub const GL_NV_pixel_data_range: u32 = 1;
+pub const GL_NV_point_sprite: u32 = 1;
+pub const GL_NV_polygon_mode: u32 = 1;
+pub const GL_NV_present_video: u32 = 1;
+pub const GL_NV_primitive_restart: u32 = 1;
+pub const GL_NV_read_buffer: u32 = 1;
+pub const GL_NV_read_buffer_front: u32 = 1;
+pub const GL_NV_read_depth: u32 = 1;
+pub const GL_NV_read_depth_stencil: u32 = 1;
+pub const GL_NV_read_stencil: u32 = 1;
+pub const GL_NV_register_combiners: u32 = 1;
+pub const GL_NV_register_combiners2: u32 = 1;
+pub const GL_NV_robustness_video_memory_purge: u32 = 1;
+pub const GL_NV_sRGB_formats: u32 = 1;
+pub const GL_NV_sample_locations: u32 = 1;
+pub const GL_NV_sample_mask_override_coverage: u32 = 1;
+pub const GL_NV_shader_atomic_counters: u32 = 1;
+pub const GL_NV_shader_atomic_float: u32 = 1;
+pub const GL_NV_shader_atomic_float64: u32 = 1;
+pub const GL_NV_shader_atomic_fp16_vector: u32 = 1;
+pub const GL_NV_shader_atomic_int64: u32 = 1;
+pub const GL_NV_shader_buffer_load: u32 = 1;
+pub const GL_NV_shader_buffer_store: u32 = 1;
+pub const GL_NV_shader_noperspective_interpolation: u32 = 1;
+pub const GL_NV_shader_storage_buffer_object: u32 = 1;
+pub const GL_NV_shader_thread_group: u32 = 1;
+pub const GL_NV_shader_thread_shuffle: u32 = 1;
+pub const GL_NV_shadow_samplers_array: u32 = 1;
+pub const GL_NV_shadow_samplers_cube: u32 = 1;
+pub const GL_NV_stereo_view_rendering: u32 = 1;
+pub const GL_NV_tessellation_program5: u32 = 1;
+pub const GL_NV_texgen_emboss: u32 = 1;
+pub const GL_NV_texgen_reflection: u32 = 1;
+pub const GL_NV_texture_barrier: u32 = 1;
+pub const GL_NV_texture_border_clamp: u32 = 1;
+pub const GL_NV_texture_compression_s3tc_update: u32 = 1;
+pub const GL_NV_texture_compression_vtc: u32 = 1;
+pub const GL_NV_texture_env_combine4: u32 = 1;
+pub const GL_NV_texture_expand_normal: u32 = 1;
+pub const GL_NV_texture_multisample: u32 = 1;
+pub const GL_NV_texture_npot_2D_mipmap: u32 = 1;
+pub const GL_NV_texture_rectangle: u32 = 1;
+pub const GL_NV_texture_shader: u32 = 1;
+pub const GL_NV_texture_shader2: u32 = 1;
+pub const GL_NV_texture_shader3: u32 = 1;
+pub const GL_NV_transform_feedback: u32 = 1;
+pub const GL_NV_transform_feedback2: u32 = 1;
+pub const GL_NV_uniform_buffer_unified_memory: u32 = 1;
+pub const GL_NV_vdpau_interop: u32 = 1;
+pub const GL_NV_vertex_array_range: u32 = 1;
+pub const GL_NV_vertex_array_range2: u32 = 1;
+pub const GL_NV_vertex_attrib_integer_64bit: u32 = 1;
+pub const GL_NV_vertex_buffer_unified_memory: u32 = 1;
+pub const GL_NV_vertex_program: u32 = 1;
+pub const GL_NV_vertex_program1_1: u32 = 1;
+pub const GL_NV_vertex_program2: u32 = 1;
+pub const GL_NV_vertex_program2_option: u32 = 1;
+pub const GL_NV_vertex_program3: u32 = 1;
+pub const GL_NV_vertex_program4: u32 = 1;
+pub const GL_NV_video_capture: u32 = 1;
+pub const GL_NV_viewport_array: u32 = 1;
+pub const GL_NV_viewport_array2: u32 = 1;
+pub const GL_NV_viewport_swizzle: u32 = 1;
+pub const GL_OES_EGL_image: u32 = 1;
+pub const GL_OES_EGL_image_external: u32 = 1;
+pub const GL_OES_EGL_image_external_essl3: u32 = 1;
+pub const GL_OES_blend_equation_separate: u32 = 1;
+pub const GL_OES_blend_func_separate: u32 = 1;
+pub const GL_OES_blend_subtract: u32 = 1;
+pub const GL_OES_byte_coordinates: u32 = 1;
+pub const GL_OES_compressed_ETC1_RGB8_sub_texture: u32 = 1;
+pub const GL_OES_compressed_ETC1_RGB8_texture: u32 = 1;
+pub const GL_OES_compressed_paletted_texture: u32 = 1;
+pub const GL_OES_copy_image: u32 = 1;
+pub const GL_OES_depth24: u32 = 1;
+pub const GL_OES_depth32: u32 = 1;
+pub const GL_OES_depth_texture: u32 = 1;
+pub const GL_OES_draw_buffers_indexed: u32 = 1;
+pub const GL_OES_draw_elements_base_vertex: u32 = 1;
+pub const GL_OES_draw_texture: u32 = 1;
+pub const GL_OES_element_index_uint: u32 = 1;
+pub const GL_OES_extended_matrix_palette: u32 = 1;
+pub const GL_OES_fbo_render_mipmap: u32 = 1;
+pub const GL_OES_fixed_point: u32 = 1;
+pub const GL_OES_fragment_precision_high: u32 = 1;
+pub const GL_OES_framebuffer_object: u32 = 1;
+pub const GL_OES_geometry_point_size: u32 = 1;
+pub const GL_OES_geometry_shader: u32 = 1;
+pub const GL_OES_get_program_binary: u32 = 1;
+pub const GL_OES_gpu_shader5: u32 = 1;
+pub const GL_OES_mapbuffer: u32 = 1;
+pub const GL_OES_matrix_get: u32 = 1;
+pub const GL_OES_matrix_palette: u32 = 1;
+pub const GL_OES_packed_depth_stencil: u32 = 1;
+pub const GL_OES_point_size_array: u32 = 1;
+pub const GL_OES_point_sprite: u32 = 1;
+pub const GL_OES_primitive_bounding_box: u32 = 1;
+pub const GL_OES_query_matrix: u32 = 1;
+pub const GL_OES_read_format: u32 = 1;
+pub const GL_OES_required_internalformat: u32 = 1;
+pub const GL_OES_rgb8_rgba8: u32 = 1;
+pub const GL_OES_sample_shading: u32 = 1;
+pub const GL_OES_sample_variables: u32 = 1;
+pub const GL_OES_shader_image_atomic: u32 = 1;
+pub const GL_OES_shader_io_blocks: u32 = 1;
+pub const GL_OES_shader_multisample_interpolation: u32 = 1;
+pub const GL_OES_single_precision: u32 = 1;
+pub const GL_OES_standard_derivatives: u32 = 1;
+pub const GL_OES_stencil1: u32 = 1;
+pub const GL_OES_stencil4: u32 = 1;
+pub const GL_OES_stencil8: u32 = 1;
+pub const GL_OES_stencil_wrap: u32 = 1;
+pub const GL_OES_surfaceless_context: u32 = 1;
+pub const GL_OES_tessellation_point_size: u32 = 1;
+pub const GL_OES_tessellation_shader: u32 = 1;
+pub const GL_OES_texture_3D: u32 = 1;
+pub const GL_OES_texture_border_clamp: u32 = 1;
+pub const GL_OES_texture_buffer: u32 = 1;
+pub const GL_OES_texture_compression_astc: u32 = 1;
+pub const GL_OES_texture_cube_map: u32 = 1;
+pub const GL_OES_texture_cube_map_array: u32 = 1;
+pub const GL_OES_texture_env_crossbar: u32 = 1;
+pub const GL_OES_texture_float: u32 = 1;
+pub const GL_OES_texture_float_linear: u32 = 1;
+pub const GL_OES_texture_half_float: u32 = 1;
+pub const GL_OES_texture_half_float_linear: u32 = 1;
+pub const GL_OES_texture_mirrored_repeat: u32 = 1;
+pub const GL_OES_texture_npot: u32 = 1;
+pub const GL_OES_texture_stencil8: u32 = 1;
+pub const GL_OES_texture_storage_multisample_2d_array: u32 = 1;
+pub const GL_OES_texture_view: u32 = 1;
+pub const GL_OES_vertex_array_object: u32 = 1;
+pub const GL_OES_vertex_half_float: u32 = 1;
+pub const GL_OES_vertex_type_10_10_10_2: u32 = 1;
+pub const GL_OES_viewport_array: u32 = 1;
+pub const GL_OML_interlace: u32 = 1;
+pub const GL_OML_resample: u32 = 1;
+pub const GL_OML_subsample: u32 = 1;
+pub const GL_OVR_multiview: u32 = 1;
+pub const GL_OVR_multiview2: u32 = 1;
+pub const GL_OVR_multiview_multisampled_render_to_texture: u32 = 1;
+pub const GL_PGI_misc_hints: u32 = 1;
+pub const GL_PGI_vertex_hints: u32 = 1;
+pub const GL_QCOM_alpha_test: u32 = 1;
+pub const GL_QCOM_binning_control: u32 = 1;
+pub const GL_QCOM_driver_control: u32 = 1;
+pub const GL_QCOM_extended_get: u32 = 1;
+pub const GL_QCOM_extended_get2: u32 = 1;
+pub const GL_QCOM_perfmon_global_mode: u32 = 1;
+pub const GL_QCOM_tiled_rendering: u32 = 1;
+pub const GL_QCOM_writeonly_rendering: u32 = 1;
+pub const GL_REND_screen_coordinates: u32 = 1;
+pub const GL_S3_s3tc: u32 = 1;
+pub const GL_SGIS_detail_texture: u32 = 1;
+pub const GL_SGIS_fog_function: u32 = 1;
+pub const GL_SGIS_generate_mipmap: u32 = 1;
+pub const GL_SGIS_multisample: u32 = 1;
+pub const GL_SGIS_pixel_texture: u32 = 1;
+pub const GL_SGIS_point_line_texgen: u32 = 1;
+pub const GL_SGIS_point_parameters: u32 = 1;
+pub const GL_SGIS_sharpen_texture: u32 = 1;
+pub const GL_SGIS_texture4D: u32 = 1;
+pub const GL_SGIS_texture_border_clamp: u32 = 1;
+pub const GL_SGIS_texture_color_mask: u32 = 1;
+pub const GL_SGIS_texture_edge_clamp: u32 = 1;
+pub const GL_SGIS_texture_filter4: u32 = 1;
+pub const GL_SGIS_texture_lod: u32 = 1;
+pub const GL_SGIS_texture_select: u32 = 1;
+pub const GL_SGIX_async: u32 = 1;
+pub const GL_SGIX_async_histogram: u32 = 1;
+pub const GL_SGIX_async_pixel: u32 = 1;
+pub const GL_SGIX_blend_alpha_minmax: u32 = 1;
+pub const GL_SGIX_calligraphic_fragment: u32 = 1;
+pub const GL_SGIX_clipmap: u32 = 1;
+pub const GL_SGIX_convolution_accuracy: u32 = 1;
+pub const GL_SGIX_depth_pass_instrument: u32 = 1;
+pub const GL_SGIX_depth_texture: u32 = 1;
+pub const GL_SGIX_flush_raster: u32 = 1;
+pub const GL_SGIX_fog_offset: u32 = 1;
+pub const GL_SGIX_fragment_lighting: u32 = 1;
+pub const GL_SGIX_framezoom: u32 = 1;
+pub const GL_SGIX_igloo_interface: u32 = 1;
+pub const GL_SGIX_instruments: u32 = 1;
+pub const GL_SGIX_interlace: u32 = 1;
+pub const GL_SGIX_ir_instrument1: u32 = 1;
+pub const GL_SGIX_list_priority: u32 = 1;
+pub const GL_SGIX_pixel_texture: u32 = 1;
+pub const GL_SGIX_pixel_tiles: u32 = 1;
+pub const GL_SGIX_polynomial_ffd: u32 = 1;
+pub const GL_SGIX_reference_plane: u32 = 1;
+pub const GL_SGIX_resample: u32 = 1;
+pub const GL_SGIX_scalebias_hint: u32 = 1;
+pub const GL_SGIX_shadow: u32 = 1;
+pub const GL_SGIX_shadow_ambient: u32 = 1;
+pub const GL_SGIX_sprite: u32 = 1;
+pub const GL_SGIX_subsample: u32 = 1;
+pub const GL_SGIX_tag_sample_buffer: u32 = 1;
+pub const GL_SGIX_texture_add_env: u32 = 1;
+pub const GL_SGIX_texture_coordinate_clamp: u32 = 1;
+pub const GL_SGIX_texture_lod_bias: u32 = 1;
+pub const GL_SGIX_texture_multi_buffer: u32 = 1;
+pub const GL_SGIX_texture_scale_bias: u32 = 1;
+pub const GL_SGIX_vertex_preclip: u32 = 1;
+pub const GL_SGIX_ycrcb: u32 = 1;
+pub const GL_SGIX_ycrcb_subsample: u32 = 1;
+pub const GL_SGIX_ycrcba: u32 = 1;
+pub const GL_SGI_color_matrix: u32 = 1;
+pub const GL_SGI_color_table: u32 = 1;
+pub const GL_SGI_texture_color_table: u32 = 1;
+pub const GL_SUNX_constant_data: u32 = 1;
+pub const GL_SUN_convolution_border_modes: u32 = 1;
+pub const GL_SUN_global_alpha: u32 = 1;
+pub const GL_SUN_mesh_array: u32 = 1;
+pub const GL_SUN_slice_accum: u32 = 1;
+pub const GL_SUN_triangle_list: u32 = 1;
+pub const GL_SUN_vertex: u32 = 1;
+pub const GL_VIV_shader_binary: u32 = 1;
+pub const GL_WIN_phong_shading: u32 = 1;
+pub const GL_WIN_specular_fog: u32 = 1;
+pub const GL_NEXT_BUFFER_NV: i32 = -2;
+pub const GL_SKIP_COMPONENTS4_NV: i32 = -3;
+pub const GL_SKIP_COMPONENTS3_NV: i32 = -4;
+pub const GL_SKIP_COMPONENTS2_NV: i32 = -5;
+pub const GL_SKIP_COMPONENTS1_NV: i32 = -6;
+pub const GL_FALSE: u32 = 0;
+pub const GL_LAYOUT_DEFAULT_INTEL: u32 = 0;
+pub const GL_NONE: u32 = 0;
+pub const GL_NONE_OES: u32 = 0;
+pub const GL_NO_ERROR: u32 = 0;
+pub const GL_ZERO: u32 = 0;
+pub const GL_CLOSE_PATH_NV: u32 = 0;
+pub const GL_POINTS: u32 = 0;
+pub const GL_TERMINATE_SEQUENCE_COMMAND_NV: u32 = 0;
+pub const GL_PERFQUERY_SINGLE_CONTEXT_INTEL: u32 = 0;
+pub const GL_2X_BIT_ATI: u32 = 1;
+pub const GL_CLIENT_PIXEL_STORE_BIT: u32 = 1;
+pub const GL_COLOR_BUFFER_BIT0_QCOM: u32 = 1;
+pub const GL_CONTEXT_CORE_PROFILE_BIT: u32 = 1;
+pub const GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT: u32 = 1;
+pub const GL_CURRENT_BIT: u32 = 1;
+pub const GL_PERFQUERY_GLOBAL_CONTEXT_INTEL: u32 = 1;
+pub const GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD: u32 = 1;
+pub const GL_RED_BIT_ATI: u32 = 1;
+pub const GL_SYNC_FLUSH_COMMANDS_BIT: u32 = 1;
+pub const GL_SYNC_FLUSH_COMMANDS_BIT_APPLE: u32 = 1;
+pub const GL_TEXTURE_DEFORMATION_BIT_SGIX: u32 = 1;
+pub const GL_TEXTURE_STORAGE_SPARSE_BIT_AMD: u32 = 1;
+pub const GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT: u32 = 1;
+pub const GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT: u32 = 1;
+pub const GL_VERTEX_SHADER_BIT: u32 = 1;
+pub const GL_VERTEX_SHADER_BIT_EXT: u32 = 1;
+pub const GL_4X_BIT_ATI: u32 = 2;
+pub const GL_CLIENT_VERTEX_ARRAY_BIT: u32 = 2;
+pub const GL_COLOR_BUFFER_BIT1_QCOM: u32 = 2;
+pub const GL_COMP_BIT_ATI: u32 = 2;
+pub const GL_CONTEXT_COMPATIBILITY_PROFILE_BIT: u32 = 2;
+pub const GL_CONTEXT_FLAG_DEBUG_BIT: u32 = 2;
+pub const GL_CONTEXT_FLAG_DEBUG_BIT_KHR: u32 = 2;
+pub const GL_ELEMENT_ARRAY_BARRIER_BIT: u32 = 2;
+pub const GL_ELEMENT_ARRAY_BARRIER_BIT_EXT: u32 = 2;
+pub const GL_FRAGMENT_SHADER_BIT: u32 = 2;
+pub const GL_FRAGMENT_SHADER_BIT_EXT: u32 = 2;
+pub const GL_GEOMETRY_DEFORMATION_BIT_SGIX: u32 = 2;
+pub const GL_GREEN_BIT_ATI: u32 = 2;
+pub const GL_POINT_BIT: u32 = 2;
+pub const GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD: u32 = 2;
+pub const GL_8X_BIT_ATI: u32 = 4;
+pub const GL_BLUE_BIT_ATI: u32 = 4;
+pub const GL_COLOR_BUFFER_BIT2_QCOM: u32 = 4;
+pub const GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT: u32 = 4;
+pub const GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB: u32 = 4;
+pub const GL_GEOMETRY_SHADER_BIT: u32 = 4;
+pub const GL_GEOMETRY_SHADER_BIT_EXT: u32 = 4;
+pub const GL_GEOMETRY_SHADER_BIT_OES: u32 = 4;
+pub const GL_LINE_BIT: u32 = 4;
+pub const GL_NEGATE_BIT_ATI: u32 = 4;
+pub const GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD: u32 = 4;
+pub const GL_UNIFORM_BARRIER_BIT: u32 = 4;
+pub const GL_UNIFORM_BARRIER_BIT_EXT: u32 = 4;
+pub const GL_VERTEX23_BIT_PGI: u32 = 4;
+pub const GL_BIAS_BIT_ATI: u32 = 8;
+pub const GL_COLOR_BUFFER_BIT3_QCOM: u32 = 8;
+pub const GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR: u32 = 8;
+pub const GL_HALF_BIT_ATI: u32 = 8;
+pub const GL_POLYGON_BIT: u32 = 8;
+pub const GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD: u32 = 8;
+pub const GL_TESS_CONTROL_SHADER_BIT: u32 = 8;
+pub const GL_TESS_CONTROL_SHADER_BIT_EXT: u32 = 8;
+pub const GL_TESS_CONTROL_SHADER_BIT_OES: u32 = 8;
+pub const GL_TEXTURE_FETCH_BARRIER_BIT: u32 = 8;
+pub const GL_TEXTURE_FETCH_BARRIER_BIT_EXT: u32 = 8;
+pub const GL_VERTEX4_BIT_PGI: u32 = 8;
+pub const GL_COLOR_BUFFER_BIT4_QCOM: u32 = 16;
+pub const GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT: u32 = 16;
+pub const GL_POLYGON_STIPPLE_BIT: u32 = 16;
+pub const GL_QUARTER_BIT_ATI: u32 = 16;
+pub const GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV: u32 = 16;
+pub const GL_TESS_EVALUATION_SHADER_BIT: u32 = 16;
+pub const GL_TESS_EVALUATION_SHADER_BIT_EXT: u32 = 16;
+pub const GL_TESS_EVALUATION_SHADER_BIT_OES: u32 = 16;
+pub const GL_COLOR_BUFFER_BIT5_QCOM: u32 = 32;
+pub const GL_COMPUTE_SHADER_BIT: u32 = 32;
+pub const GL_EIGHTH_BIT_ATI: u32 = 32;
+pub const GL_PIXEL_MODE_BIT: u32 = 32;
+pub const GL_SHADER_IMAGE_ACCESS_BARRIER_BIT: u32 = 32;
+pub const GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT: u32 = 32;
+pub const GL_COLOR_BUFFER_BIT6_QCOM: u32 = 64;
+pub const GL_COMMAND_BARRIER_BIT: u32 = 64;
+pub const GL_COMMAND_BARRIER_BIT_EXT: u32 = 64;
+pub const GL_LIGHTING_BIT: u32 = 64;
+pub const GL_SATURATE_BIT_ATI: u32 = 64;
+pub const GL_COLOR_BUFFER_BIT7_QCOM: u32 = 128;
+pub const GL_FOG_BIT: u32 = 128;
+pub const GL_PIXEL_BUFFER_BARRIER_BIT: u32 = 128;
+pub const GL_PIXEL_BUFFER_BARRIER_BIT_EXT: u32 = 128;
+pub const GL_DEPTH_BUFFER_BIT: u32 = 256;
+pub const GL_DEPTH_BUFFER_BIT0_QCOM: u32 = 256;
+pub const GL_TEXTURE_UPDATE_BARRIER_BIT: u32 = 256;
+pub const GL_TEXTURE_UPDATE_BARRIER_BIT_EXT: u32 = 256;
+pub const GL_ACCUM_BUFFER_BIT: u32 = 512;
+pub const GL_BUFFER_UPDATE_BARRIER_BIT: u32 = 512;
+pub const GL_BUFFER_UPDATE_BARRIER_BIT_EXT: u32 = 512;
+pub const GL_DEPTH_BUFFER_BIT1_QCOM: u32 = 512;
+pub const GL_DEPTH_BUFFER_BIT2_QCOM: u32 = 1024;
+pub const GL_FRAMEBUFFER_BARRIER_BIT: u32 = 1024;
+pub const GL_FRAMEBUFFER_BARRIER_BIT_EXT: u32 = 1024;
+pub const GL_STENCIL_BUFFER_BIT: u32 = 1024;
+pub const GL_DEPTH_BUFFER_BIT3_QCOM: u32 = 2048;
+pub const GL_TRANSFORM_FEEDBACK_BARRIER_BIT: u32 = 2048;
+pub const GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT: u32 = 2048;
+pub const GL_VIEWPORT_BIT: u32 = 2048;
+pub const GL_ATOMIC_COUNTER_BARRIER_BIT: u32 = 4096;
+pub const GL_ATOMIC_COUNTER_BARRIER_BIT_EXT: u32 = 4096;
+pub const GL_DEPTH_BUFFER_BIT4_QCOM: u32 = 4096;
+pub const GL_TRANSFORM_BIT: u32 = 4096;
+pub const GL_DEPTH_BUFFER_BIT5_QCOM: u32 = 8192;
+pub const GL_ENABLE_BIT: u32 = 8192;
+pub const GL_SHADER_STORAGE_BARRIER_BIT: u32 = 8192;
+pub const GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT: u32 = 16384;
+pub const GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT: u32 = 16384;
+pub const GL_COLOR_BUFFER_BIT: u32 = 16384;
+pub const GL_DEPTH_BUFFER_BIT6_QCOM: u32 = 16384;
+pub const GL_COVERAGE_BUFFER_BIT_NV: u32 = 32768;
+pub const GL_DEPTH_BUFFER_BIT7_QCOM: u32 = 32768;
+pub const GL_HINT_BIT: u32 = 32768;
+pub const GL_QUERY_BUFFER_BARRIER_BIT: u32 = 32768;
+pub const GL_LINES: u32 = 1;
+pub const GL_MAP_READ_BIT: u32 = 1;
+pub const GL_MAP_READ_BIT_EXT: u32 = 1;
+pub const GL_NOP_COMMAND_NV: u32 = 1;
+pub const GL_RESTART_SUN: u32 = 1;
+pub const GL_TRACE_OPERATIONS_BIT_MESA: u32 = 1;
+pub const GL_COLOR3_BIT_PGI: u32 = 65536;
+pub const GL_EVAL_BIT: u32 = 65536;
+pub const GL_FONT_X_MIN_BOUNDS_BIT_NV: u32 = 65536;
+pub const GL_STENCIL_BUFFER_BIT0_QCOM: u32 = 65536;
+pub const GL_DRAW_ELEMENTS_COMMAND_NV: u32 = 2;
+pub const GL_LINE_LOOP: u32 = 2;
+pub const GL_MAP_WRITE_BIT: u32 = 2;
+pub const GL_MAP_WRITE_BIT_EXT: u32 = 2;
+pub const GL_REPLACE_MIDDLE_SUN: u32 = 2;
+pub const GL_TRACE_PRIMITIVES_BIT_MESA: u32 = 2;
+pub const GL_COLOR4_BIT_PGI: u32 = 131072;
+pub const GL_FONT_Y_MIN_BOUNDS_BIT_NV: u32 = 131072;
+pub const GL_LIST_BIT: u32 = 131072;
+pub const GL_STENCIL_BUFFER_BIT1_QCOM: u32 = 131072;
+pub const GL_DRAW_ARRAYS_COMMAND_NV: u32 = 3;
+pub const GL_LINE_STRIP: u32 = 3;
+pub const GL_REPLACE_OLDEST_SUN: u32 = 3;
+pub const GL_DRAW_ELEMENTS_STRIP_COMMAND_NV: u32 = 4;
+pub const GL_MAP_INVALIDATE_RANGE_BIT: u32 = 4;
+pub const GL_MAP_INVALIDATE_RANGE_BIT_EXT: u32 = 4;
+pub const GL_TRACE_ARRAYS_BIT_MESA: u32 = 4;
+pub const GL_TRIANGLES: u32 = 4;
+pub const GL_EDGEFLAG_BIT_PGI: u32 = 262144;
+pub const GL_FONT_X_MAX_BOUNDS_BIT_NV: u32 = 262144;
+pub const GL_STENCIL_BUFFER_BIT2_QCOM: u32 = 262144;
+pub const GL_TEXTURE_BIT: u32 = 262144;
+pub const GL_DRAW_ARRAYS_STRIP_COMMAND_NV: u32 = 5;
+pub const GL_TRIANGLE_STRIP: u32 = 5;
+pub const GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV: u32 = 6;
+pub const GL_TRIANGLE_FAN: u32 = 6;
+pub const GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV: u32 = 7;
+pub const GL_QUADS: u32 = 7;
+pub const GL_QUADS_EXT: u32 = 7;
+pub const GL_QUADS_OES: u32 = 7;
+pub const GL_ELEMENT_ADDRESS_COMMAND_NV: u32 = 8;
+pub const GL_MAP_INVALIDATE_BUFFER_BIT: u32 = 8;
+pub const GL_MAP_INVALIDATE_BUFFER_BIT_EXT: u32 = 8;
+pub const GL_QUAD_STRIP: u32 = 8;
+pub const GL_TRACE_TEXTURES_BIT_MESA: u32 = 8;
+pub const GL_FONT_Y_MAX_BOUNDS_BIT_NV: u32 = 524288;
+pub const GL_INDEX_BIT_PGI: u32 = 524288;
+pub const GL_SCISSOR_BIT: u32 = 524288;
+pub const GL_STENCIL_BUFFER_BIT3_QCOM: u32 = 524288;
+pub const GL_ATTRIBUTE_ADDRESS_COMMAND_NV: u32 = 9;
+pub const GL_POLYGON: u32 = 9;
+pub const GL_LINES_ADJACENCY: u32 = 10;
+pub const GL_LINES_ADJACENCY_ARB: u32 = 10;
+pub const GL_LINES_ADJACENCY_EXT: u32 = 10;
+pub const GL_LINES_ADJACENCY_OES: u32 = 10;
+pub const GL_UNIFORM_ADDRESS_COMMAND_NV: u32 = 10;
+pub const GL_BLEND_COLOR_COMMAND_NV: u32 = 11;
+pub const GL_LINE_STRIP_ADJACENCY: u32 = 11;
+pub const GL_LINE_STRIP_ADJACENCY_ARB: u32 = 11;
+pub const GL_LINE_STRIP_ADJACENCY_EXT: u32 = 11;
+pub const GL_LINE_STRIP_ADJACENCY_OES: u32 = 11;
+pub const GL_STENCIL_REF_COMMAND_NV: u32 = 12;
+pub const GL_TRIANGLES_ADJACENCY: u32 = 12;
+pub const GL_TRIANGLES_ADJACENCY_ARB: u32 = 12;
+pub const GL_TRIANGLES_ADJACENCY_EXT: u32 = 12;
+pub const GL_TRIANGLES_ADJACENCY_OES: u32 = 12;
+pub const GL_LINE_WIDTH_COMMAND_NV: u32 = 13;
+pub const GL_TRIANGLE_STRIP_ADJACENCY: u32 = 13;
+pub const GL_TRIANGLE_STRIP_ADJACENCY_ARB: u32 = 13;
+pub const GL_TRIANGLE_STRIP_ADJACENCY_EXT: u32 = 13;
+pub const GL_TRIANGLE_STRIP_ADJACENCY_OES: u32 = 13;
+pub const GL_PATCHES: u32 = 14;
+pub const GL_PATCHES_EXT: u32 = 14;
+pub const GL_PATCHES_OES: u32 = 14;
+pub const GL_POLYGON_OFFSET_COMMAND_NV: u32 = 14;
+pub const GL_ALPHA_REF_COMMAND_NV: u32 = 15;
+pub const GL_ALL_ATTRIB_BITS: u32 = 1048575;
+pub const GL_MAP_FLUSH_EXPLICIT_BIT: u32 = 16;
+pub const GL_MAP_FLUSH_EXPLICIT_BIT_EXT: u32 = 16;
+pub const GL_TRACE_PIXELS_BIT_MESA: u32 = 16;
+pub const GL_VIEWPORT_COMMAND_NV: u32 = 16;
+pub const GL_FONT_UNITS_PER_EM_BIT_NV: u32 = 1048576;
+pub const GL_MAT_AMBIENT_BIT_PGI: u32 = 1048576;
+pub const GL_STENCIL_BUFFER_BIT4_QCOM: u32 = 1048576;
+pub const GL_SCISSOR_COMMAND_NV: u32 = 17;
+pub const GL_FRONT_FACE_COMMAND_NV: u32 = 18;
+pub const GL_MAP_UNSYNCHRONIZED_BIT: u32 = 32;
+pub const GL_MAP_UNSYNCHRONIZED_BIT_EXT: u32 = 32;
+pub const GL_TRACE_ERRORS_BIT_MESA: u32 = 32;
+pub const GL_FONT_ASCENDER_BIT_NV: u32 = 2097152;
+pub const GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI: u32 = 2097152;
+pub const GL_STENCIL_BUFFER_BIT5_QCOM: u32 = 2097152;
+pub const GL_MAP_PERSISTENT_BIT: u32 = 64;
+pub const GL_MAP_PERSISTENT_BIT_EXT: u32 = 64;
+pub const GL_FONT_DESCENDER_BIT_NV: u32 = 4194304;
+pub const GL_MAT_DIFFUSE_BIT_PGI: u32 = 4194304;
+pub const GL_STENCIL_BUFFER_BIT6_QCOM: u32 = 4194304;
+pub const GL_MAP_COHERENT_BIT: u32 = 128;
+pub const GL_MAP_COHERENT_BIT_EXT: u32 = 128;
+pub const GL_FONT_HEIGHT_BIT_NV: u32 = 8388608;
+pub const GL_MAT_EMISSION_BIT_PGI: u32 = 8388608;
+pub const GL_STENCIL_BUFFER_BIT7_QCOM: u32 = 8388608;
+pub const GL_BOLD_BIT_NV: u32 = 1;
+pub const GL_GLYPH_WIDTH_BIT_NV: u32 = 1;
+pub const GL_ACCUM: u32 = 256;
+pub const GL_DYNAMIC_STORAGE_BIT: u32 = 256;
+pub const GL_DYNAMIC_STORAGE_BIT_EXT: u32 = 256;
+pub const GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV: u32 = 16777216;
+pub const GL_MAT_COLOR_INDEXES_BIT_PGI: u32 = 16777216;
+pub const GL_MULTISAMPLE_BUFFER_BIT0_QCOM: u32 = 16777216;
+pub const GL_LOAD: u32 = 257;
+pub const GL_RETURN: u32 = 258;
+pub const GL_MULT: u32 = 259;
+pub const GL_ADD: u32 = 260;
+pub const GL_GLYPH_HEIGHT_BIT_NV: u32 = 2;
+pub const GL_ITALIC_BIT_NV: u32 = 2;
+pub const GL_MOVE_TO_NV: u32 = 2;
+pub const GL_CLIENT_STORAGE_BIT: u32 = 512;
+pub const GL_CLIENT_STORAGE_BIT_EXT: u32 = 512;
+pub const GL_NEVER: u32 = 512;
+pub const GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV: u32 = 33554432;
+pub const GL_MAT_SHININESS_BIT_PGI: u32 = 33554432;
+pub const GL_MULTISAMPLE_BUFFER_BIT1_QCOM: u32 = 33554432;
+pub const GL_LESS: u32 = 513;
+pub const GL_EQUAL: u32 = 514;
+pub const GL_LEQUAL: u32 = 515;
+pub const GL_GREATER: u32 = 516;
+pub const GL_NOTEQUAL: u32 = 517;
+pub const GL_GEQUAL: u32 = 518;
+pub const GL_ALWAYS: u32 = 519;
+pub const GL_RELATIVE_MOVE_TO_NV: u32 = 3;
+pub const GL_SRC_COLOR: u32 = 768;
+pub const GL_ONE_MINUS_SRC_COLOR: u32 = 769;
+pub const GL_SRC_ALPHA: u32 = 770;
+pub const GL_ONE_MINUS_SRC_ALPHA: u32 = 771;
+pub const GL_DST_ALPHA: u32 = 772;
+pub const GL_ONE_MINUS_DST_ALPHA: u32 = 773;
+pub const GL_DST_COLOR: u32 = 774;
+pub const GL_ONE_MINUS_DST_COLOR: u32 = 775;
+pub const GL_SRC_ALPHA_SATURATE: u32 = 776;
+pub const GL_SRC_ALPHA_SATURATE_EXT: u32 = 776;
+pub const GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV: u32 = 4;
+pub const GL_LINE_TO_NV: u32 = 4;
+pub const GL_FRONT_LEFT: u32 = 1024;
+pub const GL_SPARSE_STORAGE_BIT_ARB: u32 = 1024;
+pub const GL_FONT_UNDERLINE_POSITION_BIT_NV: u32 = 67108864;
+pub const GL_MAT_SPECULAR_BIT_PGI: u32 = 67108864;
+pub const GL_MULTISAMPLE_BUFFER_BIT2_QCOM: u32 = 67108864;
+pub const GL_FRONT_RIGHT: u32 = 1025;
+pub const GL_BACK_LEFT: u32 = 1026;
+pub const GL_BACK_RIGHT: u32 = 1027;
+pub const GL_FRONT: u32 = 1028;
+pub const GL_BACK: u32 = 1029;
+pub const GL_LEFT: u32 = 1030;
+pub const GL_RIGHT: u32 = 1031;
+pub const GL_FRONT_AND_BACK: u32 = 1032;
+pub const GL_AUX0: u32 = 1033;
+pub const GL_AUX1: u32 = 1034;
+pub const GL_AUX2: u32 = 1035;
+pub const GL_AUX3: u32 = 1036;
+pub const GL_RELATIVE_LINE_TO_NV: u32 = 5;
+pub const GL_INVALID_ENUM: u32 = 1280;
+pub const GL_INVALID_VALUE: u32 = 1281;
+pub const GL_INVALID_OPERATION: u32 = 1282;
+pub const GL_STACK_OVERFLOW: u32 = 1283;
+pub const GL_STACK_OVERFLOW_KHR: u32 = 1283;
+pub const GL_STACK_UNDERFLOW: u32 = 1284;
+pub const GL_STACK_UNDERFLOW_KHR: u32 = 1284;
+pub const GL_OUT_OF_MEMORY: u32 = 1285;
+pub const GL_INVALID_FRAMEBUFFER_OPERATION: u32 = 1286;
+pub const GL_INVALID_FRAMEBUFFER_OPERATION_EXT: u32 = 1286;
+pub const GL_INVALID_FRAMEBUFFER_OPERATION_OES: u32 = 1286;
+pub const GL_CONTEXT_LOST: u32 = 1287;
+pub const GL_CONTEXT_LOST_KHR: u32 = 1287;
+pub const GL_HORIZONTAL_LINE_TO_NV: u32 = 6;
+pub const GL_2D: u32 = 1536;
+pub const GL_3D: u32 = 1537;
+pub const GL_3D_COLOR: u32 = 1538;
+pub const GL_3D_COLOR_TEXTURE: u32 = 1539;
+pub const GL_4D_COLOR_TEXTURE: u32 = 1540;
+pub const GL_RELATIVE_HORIZONTAL_LINE_TO_NV: u32 = 7;
+pub const GL_PASS_THROUGH_TOKEN: u32 = 1792;
+pub const GL_POINT_TOKEN: u32 = 1793;
+pub const GL_LINE_TOKEN: u32 = 1794;
+pub const GL_POLYGON_TOKEN: u32 = 1795;
+pub const GL_BITMAP_TOKEN: u32 = 1796;
+pub const GL_DRAW_PIXEL_TOKEN: u32 = 1797;
+pub const GL_COPY_PIXEL_TOKEN: u32 = 1798;
+pub const GL_LINE_RESET_TOKEN: u32 = 1799;
+pub const GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV: u32 = 8;
+pub const GL_VERTICAL_LINE_TO_NV: u32 = 8;
+pub const GL_EXP: u32 = 2048;
+pub const GL_FONT_UNDERLINE_THICKNESS_BIT_NV: u32 = 134217728;
+pub const GL_MULTISAMPLE_BUFFER_BIT3_QCOM: u32 = 134217728;
+pub const GL_NORMAL_BIT_PGI: u32 = 134217728;
+pub const GL_EXP2: u32 = 2049;
+pub const GL_RELATIVE_VERTICAL_LINE_TO_NV: u32 = 9;
+pub const GL_CW: u32 = 2304;
+pub const GL_CCW: u32 = 2305;
+pub const GL_QUADRATIC_CURVE_TO_NV: u32 = 10;
+pub const GL_COEFF: u32 = 2560;
+pub const GL_ORDER: u32 = 2561;
+pub const GL_DOMAIN: u32 = 2562;
+pub const GL_RELATIVE_QUADRATIC_CURVE_TO_NV: u32 = 11;
+pub const GL_CURRENT_COLOR: u32 = 2816;
+pub const GL_CURRENT_INDEX: u32 = 2817;
+pub const GL_CURRENT_NORMAL: u32 = 2818;
+pub const GL_CURRENT_TEXTURE_COORDS: u32 = 2819;
+pub const GL_CURRENT_RASTER_COLOR: u32 = 2820;
+pub const GL_CURRENT_RASTER_INDEX: u32 = 2821;
+pub const GL_CURRENT_RASTER_TEXTURE_COORDS: u32 = 2822;
+pub const GL_CURRENT_RASTER_POSITION: u32 = 2823;
+pub const GL_CURRENT_RASTER_POSITION_VALID: u32 = 2824;
+pub const GL_CURRENT_RASTER_DISTANCE: u32 = 2825;
+pub const GL_POINT_SMOOTH: u32 = 2832;
+pub const GL_POINT_SIZE: u32 = 2833;
+pub const GL_POINT_SIZE_RANGE: u32 = 2834;
+pub const GL_SMOOTH_POINT_SIZE_RANGE: u32 = 2834;
+pub const GL_POINT_SIZE_GRANULARITY: u32 = 2835;
+pub const GL_SMOOTH_POINT_SIZE_GRANULARITY: u32 = 2835;
+pub const GL_LINE_SMOOTH: u32 = 2848;
+pub const GL_LINE_WIDTH: u32 = 2849;
+pub const GL_LINE_WIDTH_RANGE: u32 = 2850;
+pub const GL_SMOOTH_LINE_WIDTH_RANGE: u32 = 2850;
+pub const GL_LINE_WIDTH_GRANULARITY: u32 = 2851;
+pub const GL_SMOOTH_LINE_WIDTH_GRANULARITY: u32 = 2851;
+pub const GL_LINE_STIPPLE: u32 = 2852;
+pub const GL_LINE_STIPPLE_PATTERN: u32 = 2853;
+pub const GL_LINE_STIPPLE_REPEAT: u32 = 2854;
+pub const GL_LIST_MODE: u32 = 2864;
+pub const GL_MAX_LIST_NESTING: u32 = 2865;
+pub const GL_LIST_BASE: u32 = 2866;
+pub const GL_LIST_INDEX: u32 = 2867;
+pub const GL_POLYGON_MODE: u32 = 2880;
+pub const GL_POLYGON_MODE_NV: u32 = 2880;
+pub const GL_POLYGON_SMOOTH: u32 = 2881;
+pub const GL_POLYGON_STIPPLE: u32 = 2882;
+pub const GL_EDGE_FLAG: u32 = 2883;
+pub const GL_CULL_FACE: u32 = 2884;
+pub const GL_CULL_FACE_MODE: u32 = 2885;
+pub const GL_FRONT_FACE: u32 = 2886;
+pub const GL_LIGHTING: u32 = 2896;
+pub const GL_LIGHT_MODEL_LOCAL_VIEWER: u32 = 2897;
+pub const GL_LIGHT_MODEL_TWO_SIDE: u32 = 2898;
+pub const GL_LIGHT_MODEL_AMBIENT: u32 = 2899;
+pub const GL_SHADE_MODEL: u32 = 2900;
+pub const GL_COLOR_MATERIAL_FACE: u32 = 2901;
+pub const GL_COLOR_MATERIAL_PARAMETER: u32 = 2902;
+pub const GL_COLOR_MATERIAL: u32 = 2903;
+pub const GL_FOG: u32 = 2912;
+pub const GL_FOG_INDEX: u32 = 2913;
+pub const GL_FOG_DENSITY: u32 = 2914;
+pub const GL_FOG_START: u32 = 2915;
+pub const GL_FOG_END: u32 = 2916;
+pub const GL_FOG_MODE: u32 = 2917;
+pub const GL_FOG_COLOR: u32 = 2918;
+pub const GL_DEPTH_RANGE: u32 = 2928;
+pub const GL_DEPTH_TEST: u32 = 2929;
+pub const GL_DEPTH_WRITEMASK: u32 = 2930;
+pub const GL_DEPTH_CLEAR_VALUE: u32 = 2931;
+pub const GL_DEPTH_FUNC: u32 = 2932;
+pub const GL_ACCUM_CLEAR_VALUE: u32 = 2944;
+pub const GL_STENCIL_TEST: u32 = 2960;
+pub const GL_STENCIL_CLEAR_VALUE: u32 = 2961;
+pub const GL_STENCIL_FUNC: u32 = 2962;
+pub const GL_STENCIL_VALUE_MASK: u32 = 2963;
+pub const GL_STENCIL_FAIL: u32 = 2964;
+pub const GL_STENCIL_PASS_DEPTH_FAIL: u32 = 2965;
+pub const GL_STENCIL_PASS_DEPTH_PASS: u32 = 2966;
+pub const GL_STENCIL_REF: u32 = 2967;
+pub const GL_STENCIL_WRITEMASK: u32 = 2968;
+pub const GL_MATRIX_MODE: u32 = 2976;
+pub const GL_NORMALIZE: u32 = 2977;
+pub const GL_VIEWPORT: u32 = 2978;
+pub const GL_MODELVIEW0_STACK_DEPTH_EXT: u32 = 2979;
+pub const GL_MODELVIEW_STACK_DEPTH: u32 = 2979;
+pub const GL_PATH_MODELVIEW_STACK_DEPTH_NV: u32 = 2979;
+pub const GL_PATH_PROJECTION_STACK_DEPTH_NV: u32 = 2980;
+pub const GL_PROJECTION_STACK_DEPTH: u32 = 2980;
+pub const GL_TEXTURE_STACK_DEPTH: u32 = 2981;
+pub const GL_MODELVIEW0_MATRIX_EXT: u32 = 2982;
+pub const GL_MODELVIEW_MATRIX: u32 = 2982;
+pub const GL_PATH_MODELVIEW_MATRIX_NV: u32 = 2982;
+pub const GL_PATH_PROJECTION_MATRIX_NV: u32 = 2983;
+pub const GL_PROJECTION_MATRIX: u32 = 2983;
+pub const GL_TEXTURE_MATRIX: u32 = 2984;
+pub const GL_ATTRIB_STACK_DEPTH: u32 = 2992;
+pub const GL_CLIENT_ATTRIB_STACK_DEPTH: u32 = 2993;
+pub const GL_ALPHA_TEST: u32 = 3008;
+pub const GL_ALPHA_TEST_QCOM: u32 = 3008;
+pub const GL_ALPHA_TEST_FUNC: u32 = 3009;
+pub const GL_ALPHA_TEST_FUNC_QCOM: u32 = 3009;
+pub const GL_ALPHA_TEST_REF: u32 = 3010;
+pub const GL_ALPHA_TEST_REF_QCOM: u32 = 3010;
+pub const GL_DITHER: u32 = 3024;
+pub const GL_BLEND_DST: u32 = 3040;
+pub const GL_BLEND_SRC: u32 = 3041;
+pub const GL_BLEND: u32 = 3042;
+pub const GL_LOGIC_OP_MODE: u32 = 3056;
+pub const GL_INDEX_LOGIC_OP: u32 = 3057;
+pub const GL_LOGIC_OP: u32 = 3057;
+pub const GL_COLOR_LOGIC_OP: u32 = 3058;
+pub const GL_CUBIC_CURVE_TO_NV: u32 = 12;
+pub const GL_AUX_BUFFERS: u32 = 3072;
+pub const GL_DRAW_BUFFER: u32 = 3073;
+pub const GL_DRAW_BUFFER_EXT: u32 = 3073;
+pub const GL_READ_BUFFER: u32 = 3074;
+pub const GL_READ_BUFFER_EXT: u32 = 3074;
+pub const GL_READ_BUFFER_NV: u32 = 3074;
+pub const GL_SCISSOR_BOX: u32 = 3088;
+pub const GL_SCISSOR_TEST: u32 = 3089;
+pub const GL_INDEX_CLEAR_VALUE: u32 = 3104;
+pub const GL_INDEX_WRITEMASK: u32 = 3105;
+pub const GL_COLOR_CLEAR_VALUE: u32 = 3106;
+pub const GL_COLOR_WRITEMASK: u32 = 3107;
+pub const GL_INDEX_MODE: u32 = 3120;
+pub const GL_RGBA_MODE: u32 = 3121;
+pub const GL_DOUBLEBUFFER: u32 = 3122;
+pub const GL_STEREO: u32 = 3123;
+pub const GL_RENDER_MODE: u32 = 3136;
+pub const GL_PERSPECTIVE_CORRECTION_HINT: u32 = 3152;
+pub const GL_POINT_SMOOTH_HINT: u32 = 3153;
+pub const GL_LINE_SMOOTH_HINT: u32 = 3154;
+pub const GL_POLYGON_SMOOTH_HINT: u32 = 3155;
+pub const GL_FOG_HINT: u32 = 3156;
+pub const GL_TEXTURE_GEN_S: u32 = 3168;
+pub const GL_TEXTURE_GEN_T: u32 = 3169;
+pub const GL_TEXTURE_GEN_R: u32 = 3170;
+pub const GL_TEXTURE_GEN_Q: u32 = 3171;
+pub const GL_PIXEL_MAP_I_TO_I: u32 = 3184;
+pub const GL_PIXEL_MAP_S_TO_S: u32 = 3185;
+pub const GL_PIXEL_MAP_I_TO_R: u32 = 3186;
+pub const GL_PIXEL_MAP_I_TO_G: u32 = 3187;
+pub const GL_PIXEL_MAP_I_TO_B: u32 = 3188;
+pub const GL_PIXEL_MAP_I_TO_A: u32 = 3189;
+pub const GL_PIXEL_MAP_R_TO_R: u32 = 3190;
+pub const GL_PIXEL_MAP_G_TO_G: u32 = 3191;
+pub const GL_PIXEL_MAP_B_TO_B: u32 = 3192;
+pub const GL_PIXEL_MAP_A_TO_A: u32 = 3193;
+pub const GL_PIXEL_MAP_I_TO_I_SIZE: u32 = 3248;
+pub const GL_PIXEL_MAP_S_TO_S_SIZE: u32 = 3249;
+pub const GL_PIXEL_MAP_I_TO_R_SIZE: u32 = 3250;
+pub const GL_PIXEL_MAP_I_TO_G_SIZE: u32 = 3251;
+pub const GL_PIXEL_MAP_I_TO_B_SIZE: u32 = 3252;
+pub const GL_PIXEL_MAP_I_TO_A_SIZE: u32 = 3253;
+pub const GL_PIXEL_MAP_R_TO_R_SIZE: u32 = 3254;
+pub const GL_PIXEL_MAP_G_TO_G_SIZE: u32 = 3255;
+pub const GL_PIXEL_MAP_B_TO_B_SIZE: u32 = 3256;
+pub const GL_PIXEL_MAP_A_TO_A_SIZE: u32 = 3257;
+pub const GL_UNPACK_SWAP_BYTES: u32 = 3312;
+pub const GL_UNPACK_LSB_FIRST: u32 = 3313;
+pub const GL_UNPACK_ROW_LENGTH: u32 = 3314;
+pub const GL_UNPACK_ROW_LENGTH_EXT: u32 = 3314;
+pub const GL_UNPACK_SKIP_ROWS: u32 = 3315;
+pub const GL_UNPACK_SKIP_ROWS_EXT: u32 = 3315;
+pub const GL_UNPACK_SKIP_PIXELS: u32 = 3316;
+pub const GL_UNPACK_SKIP_PIXELS_EXT: u32 = 3316;
+pub const GL_UNPACK_ALIGNMENT: u32 = 3317;
+pub const GL_RELATIVE_CUBIC_CURVE_TO_NV: u32 = 13;
+pub const GL_PACK_SWAP_BYTES: u32 = 3328;
+pub const GL_PACK_LSB_FIRST: u32 = 3329;
+pub const GL_PACK_ROW_LENGTH: u32 = 3330;
+pub const GL_PACK_SKIP_ROWS: u32 = 3331;
+pub const GL_PACK_SKIP_PIXELS: u32 = 3332;
+pub const GL_PACK_ALIGNMENT: u32 = 3333;
+pub const GL_MAP_COLOR: u32 = 3344;
+pub const GL_MAP_STENCIL: u32 = 3345;
+pub const GL_INDEX_SHIFT: u32 = 3346;
+pub const GL_INDEX_OFFSET: u32 = 3347;
+pub const GL_RED_SCALE: u32 = 3348;
+pub const GL_RED_BIAS: u32 = 3349;
+pub const GL_ZOOM_X: u32 = 3350;
+pub const GL_ZOOM_Y: u32 = 3351;
+pub const GL_GREEN_SCALE: u32 = 3352;
+pub const GL_GREEN_BIAS: u32 = 3353;
+pub const GL_BLUE_SCALE: u32 = 3354;
+pub const GL_BLUE_BIAS: u32 = 3355;
+pub const GL_ALPHA_SCALE: u32 = 3356;
+pub const GL_ALPHA_BIAS: u32 = 3357;
+pub const GL_DEPTH_SCALE: u32 = 3358;
+pub const GL_DEPTH_BIAS: u32 = 3359;
+pub const GL_MAX_EVAL_ORDER: u32 = 3376;
+pub const GL_MAX_LIGHTS: u32 = 3377;
+pub const GL_MAX_CLIP_DISTANCES: u32 = 3378;
+pub const GL_MAX_CLIP_DISTANCES_APPLE: u32 = 3378;
+pub const GL_MAX_CLIP_DISTANCES_EXT: u32 = 3378;
+pub const GL_MAX_CLIP_PLANES: u32 = 3378;
+pub const GL_MAX_CLIP_PLANES_IMG: u32 = 3378;
+pub const GL_MAX_TEXTURE_SIZE: u32 = 3379;
+pub const GL_MAX_PIXEL_MAP_TABLE: u32 = 3380;
+pub const GL_MAX_ATTRIB_STACK_DEPTH: u32 = 3381;
+pub const GL_MAX_MODELVIEW_STACK_DEPTH: u32 = 3382;
+pub const GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV: u32 = 3382;
+pub const GL_MAX_NAME_STACK_DEPTH: u32 = 3383;
+pub const GL_MAX_PROJECTION_STACK_DEPTH: u32 = 3384;
+pub const GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV: u32 = 3384;
+pub const GL_MAX_TEXTURE_STACK_DEPTH: u32 = 3385;
+pub const GL_MAX_VIEWPORT_DIMS: u32 = 3386;
+pub const GL_MAX_CLIENT_ATTRIB_STACK_DEPTH: u32 = 3387;
+pub const GL_SUBPIXEL_BITS: u32 = 3408;
+pub const GL_INDEX_BITS: u32 = 3409;
+pub const GL_RED_BITS: u32 = 3410;
+pub const GL_GREEN_BITS: u32 = 3411;
+pub const GL_BLUE_BITS: u32 = 3412;
+pub const GL_ALPHA_BITS: u32 = 3413;
+pub const GL_DEPTH_BITS: u32 = 3414;
+pub const GL_STENCIL_BITS: u32 = 3415;
+pub const GL_ACCUM_RED_BITS: u32 = 3416;
+pub const GL_ACCUM_GREEN_BITS: u32 = 3417;
+pub const GL_ACCUM_BLUE_BITS: u32 = 3418;
+pub const GL_ACCUM_ALPHA_BITS: u32 = 3419;
+pub const GL_NAME_STACK_DEPTH: u32 = 3440;
+pub const GL_AUTO_NORMAL: u32 = 3456;
+pub const GL_MAP1_COLOR_4: u32 = 3472;
+pub const GL_MAP1_INDEX: u32 = 3473;
+pub const GL_MAP1_NORMAL: u32 = 3474;
+pub const GL_MAP1_TEXTURE_COORD_1: u32 = 3475;
+pub const GL_MAP1_TEXTURE_COORD_2: u32 = 3476;
+pub const GL_MAP1_TEXTURE_COORD_3: u32 = 3477;
+pub const GL_MAP1_TEXTURE_COORD_4: u32 = 3478;
+pub const GL_MAP1_VERTEX_3: u32 = 3479;
+pub const GL_MAP1_VERTEX_4: u32 = 3480;
+pub const GL_MAP2_COLOR_4: u32 = 3504;
+pub const GL_MAP2_INDEX: u32 = 3505;
+pub const GL_MAP2_NORMAL: u32 = 3506;
+pub const GL_MAP2_TEXTURE_COORD_1: u32 = 3507;
+pub const GL_MAP2_TEXTURE_COORD_2: u32 = 3508;
+pub const GL_MAP2_TEXTURE_COORD_3: u32 = 3509;
+pub const GL_MAP2_TEXTURE_COORD_4: u32 = 3510;
+pub const GL_MAP2_VERTEX_3: u32 = 3511;
+pub const GL_MAP2_VERTEX_4: u32 = 3512;
+pub const GL_MAP1_GRID_DOMAIN: u32 = 3536;
+pub const GL_MAP1_GRID_SEGMENTS: u32 = 3537;
+pub const GL_MAP2_GRID_DOMAIN: u32 = 3538;
+pub const GL_MAP2_GRID_SEGMENTS: u32 = 3539;
+pub const GL_TEXTURE_1D: u32 = 3552;
+pub const GL_TEXTURE_2D: u32 = 3553;
+pub const GL_FEEDBACK_BUFFER_POINTER: u32 = 3568;
+pub const GL_FEEDBACK_BUFFER_SIZE: u32 = 3569;
+pub const GL_FEEDBACK_BUFFER_TYPE: u32 = 3570;
+pub const GL_SELECTION_BUFFER_POINTER: u32 = 3571;
+pub const GL_SELECTION_BUFFER_SIZE: u32 = 3572;
+pub const GL_SMOOTH_QUADRATIC_CURVE_TO_NV: u32 = 14;
+pub const GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV: u32 = 15;
+pub const GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV: u32 = 16;
+pub const GL_SMOOTH_CUBIC_CURVE_TO_NV: u32 = 16;
+pub const GL_GLYPH_HAS_KERNING_BIT_NV: u32 = 256;
+pub const GL_TEXTURE_WIDTH: u32 = 4096;
+pub const GL_FONT_HAS_KERNING_BIT_NV: u32 = 268435456;
+pub const GL_MULTISAMPLE_BUFFER_BIT4_QCOM: u32 = 268435456;
+pub const GL_TEXCOORD1_BIT_PGI: u32 = 268435456;
+pub const GL_TEXTURE_HEIGHT: u32 = 4097;
+pub const GL_TEXTURE_COMPONENTS: u32 = 4099;
+pub const GL_TEXTURE_INTERNAL_FORMAT: u32 = 4099;
+pub const GL_TEXTURE_BORDER_COLOR: u32 = 4100;
+pub const GL_TEXTURE_BORDER_COLOR_EXT: u32 = 4100;
+pub const GL_TEXTURE_BORDER_COLOR_NV: u32 = 4100;
+pub const GL_TEXTURE_BORDER_COLOR_OES: u32 = 4100;
+pub const GL_TEXTURE_BORDER: u32 = 4101;
+pub const GL_TEXTURE_TARGET: u32 = 4102;
+pub const GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV: u32 = 17;
+pub const GL_DONT_CARE: u32 = 4352;
+pub const GL_FASTEST: u32 = 4353;
+pub const GL_NICEST: u32 = 4354;
+pub const GL_SMALL_CCW_ARC_TO_NV: u32 = 18;
+pub const GL_AMBIENT: u32 = 4608;
+pub const GL_DIFFUSE: u32 = 4609;
+pub const GL_SPECULAR: u32 = 4610;
+pub const GL_POSITION: u32 = 4611;
+pub const GL_SPOT_DIRECTION: u32 = 4612;
+pub const GL_SPOT_EXPONENT: u32 = 4613;
+pub const GL_SPOT_CUTOFF: u32 = 4614;
+pub const GL_CONSTANT_ATTENUATION: u32 = 4615;
+pub const GL_LINEAR_ATTENUATION: u32 = 4616;
+pub const GL_QUADRATIC_ATTENUATION: u32 = 4617;
+pub const GL_RELATIVE_SMALL_CCW_ARC_TO_NV: u32 = 19;
+pub const GL_COMPILE: u32 = 4864;
+pub const GL_COMPILE_AND_EXECUTE: u32 = 4865;
+pub const GL_SMALL_CW_ARC_TO_NV: u32 = 20;
+pub const GL_BYTE: u32 = 5120;
+pub const GL_UNSIGNED_BYTE: u32 = 5121;
+pub const GL_SHORT: u32 = 5122;
+pub const GL_UNSIGNED_SHORT: u32 = 5123;
+pub const GL_INT: u32 = 5124;
+pub const GL_UNSIGNED_INT: u32 = 5125;
+pub const GL_FLOAT: u32 = 5126;
+pub const GL_2_BYTES: u32 = 5127;
+pub const GL_2_BYTES_NV: u32 = 5127;
+pub const GL_3_BYTES: u32 = 5128;
+pub const GL_3_BYTES_NV: u32 = 5128;
+pub const GL_4_BYTES: u32 = 5129;
+pub const GL_4_BYTES_NV: u32 = 5129;
+pub const GL_DOUBLE: u32 = 5130;
+pub const GL_DOUBLE_EXT: u32 = 5130;
+pub const GL_HALF_APPLE: u32 = 5131;
+pub const GL_HALF_FLOAT: u32 = 5131;
+pub const GL_HALF_FLOAT_ARB: u32 = 5131;
+pub const GL_HALF_FLOAT_NV: u32 = 5131;
+pub const GL_FIXED: u32 = 5132;
+pub const GL_FIXED_OES: u32 = 5132;
+pub const GL_INT64_ARB: u32 = 5134;
+pub const GL_INT64_NV: u32 = 5134;
+pub const GL_UNSIGNED_INT64_ARB: u32 = 5135;
+pub const GL_UNSIGNED_INT64_NV: u32 = 5135;
+pub const GL_RELATIVE_SMALL_CW_ARC_TO_NV: u32 = 21;
+pub const GL_CLEAR: u32 = 5376;
+pub const GL_AND: u32 = 5377;
+pub const GL_AND_REVERSE: u32 = 5378;
+pub const GL_COPY: u32 = 5379;
+pub const GL_AND_INVERTED: u32 = 5380;
+pub const GL_NOOP: u32 = 5381;
+pub const GL_XOR: u32 = 5382;
+pub const GL_XOR_NV: u32 = 5382;
+pub const GL_OR: u32 = 5383;
+pub const GL_NOR: u32 = 5384;
+pub const GL_EQUIV: u32 = 5385;
+pub const GL_INVERT: u32 = 5386;
+pub const GL_OR_REVERSE: u32 = 5387;
+pub const GL_COPY_INVERTED: u32 = 5388;
+pub const GL_OR_INVERTED: u32 = 5389;
+pub const GL_NAND: u32 = 5390;
+pub const GL_SET: u32 = 5391;
+pub const GL_LARGE_CCW_ARC_TO_NV: u32 = 22;
+pub const GL_EMISSION: u32 = 5632;
+pub const GL_SHININESS: u32 = 5633;
+pub const GL_AMBIENT_AND_DIFFUSE: u32 = 5634;
+pub const GL_COLOR_INDEXES: u32 = 5635;
+pub const GL_RELATIVE_LARGE_CCW_ARC_TO_NV: u32 = 23;
+pub const GL_MODELVIEW: u32 = 5888;
+pub const GL_MODELVIEW0_ARB: u32 = 5888;
+pub const GL_MODELVIEW0_EXT: u32 = 5888;
+pub const GL_PATH_MODELVIEW_NV: u32 = 5888;
+pub const GL_PATH_PROJECTION_NV: u32 = 5889;
+pub const GL_PROJECTION: u32 = 5889;
+pub const GL_TEXTURE: u32 = 5890;
+pub const GL_LARGE_CW_ARC_TO_NV: u32 = 24;
+pub const GL_COLOR: u32 = 6144;
+pub const GL_COLOR_EXT: u32 = 6144;
+pub const GL_DEPTH: u32 = 6145;
+pub const GL_DEPTH_EXT: u32 = 6145;
+pub const GL_STENCIL: u32 = 6146;
+pub const GL_STENCIL_EXT: u32 = 6146;
+pub const GL_RELATIVE_LARGE_CW_ARC_TO_NV: u32 = 25;
+pub const GL_COLOR_INDEX: u32 = 6400;
+pub const GL_STENCIL_INDEX: u32 = 6401;
+pub const GL_STENCIL_INDEX_OES: u32 = 6401;
+pub const GL_DEPTH_COMPONENT: u32 = 6402;
+pub const GL_RED: u32 = 6403;
+pub const GL_RED_EXT: u32 = 6403;
+pub const GL_RED_NV: u32 = 6403;
+pub const GL_GREEN: u32 = 6404;
+pub const GL_GREEN_NV: u32 = 6404;
+pub const GL_BLUE: u32 = 6405;
+pub const GL_BLUE_NV: u32 = 6405;
+pub const GL_ALPHA: u32 = 6406;
+pub const GL_RGB: u32 = 6407;
+pub const GL_RGBA: u32 = 6408;
+pub const GL_LUMINANCE: u32 = 6409;
+pub const GL_LUMINANCE_ALPHA: u32 = 6410;
+pub const GL_RASTER_POSITION_UNCLIPPED_IBM: u32 = 103010;
+pub const GL_CONIC_CURVE_TO_NV: u32 = 26;
+pub const GL_BITMAP: u32 = 6656;
+pub const GL_PREFER_DOUBLEBUFFER_HINT_PGI: u32 = 107000;
+pub const GL_CONSERVE_MEMORY_HINT_PGI: u32 = 107005;
+pub const GL_RECLAIM_MEMORY_HINT_PGI: u32 = 107006;
+pub const GL_NATIVE_GRAPHICS_HANDLE_PGI: u32 = 107010;
+pub const GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI: u32 = 107011;
+pub const GL_NATIVE_GRAPHICS_END_HINT_PGI: u32 = 107012;
+pub const GL_ALWAYS_FAST_HINT_PGI: u32 = 107020;
+pub const GL_ALWAYS_SOFT_HINT_PGI: u32 = 107021;
+pub const GL_ALLOW_DRAW_OBJ_HINT_PGI: u32 = 107022;
+pub const GL_ALLOW_DRAW_WIN_HINT_PGI: u32 = 107023;
+pub const GL_ALLOW_DRAW_FRG_HINT_PGI: u32 = 107024;
+pub const GL_ALLOW_DRAW_MEM_HINT_PGI: u32 = 107025;
+pub const GL_STRICT_DEPTHFUNC_HINT_PGI: u32 = 107030;
+pub const GL_STRICT_LIGHTING_HINT_PGI: u32 = 107031;
+pub const GL_STRICT_SCISSOR_HINT_PGI: u32 = 107032;
+pub const GL_FULL_STIPPLE_HINT_PGI: u32 = 107033;
+pub const GL_CLIP_NEAR_HINT_PGI: u32 = 107040;
+pub const GL_CLIP_FAR_HINT_PGI: u32 = 107041;
+pub const GL_WIDE_LINE_HINT_PGI: u32 = 107042;
+pub const GL_BACK_NORMALS_HINT_PGI: u32 = 107043;
+pub const GL_VERTEX_DATA_HINT_PGI: u32 = 107050;
+pub const GL_VERTEX_CONSISTENT_HINT_PGI: u32 = 107051;
+pub const GL_MATERIAL_SIDE_HINT_PGI: u32 = 107052;
+pub const GL_MAX_VERTEX_HINT_PGI: u32 = 107053;
+pub const GL_RELATIVE_CONIC_CURVE_TO_NV: u32 = 27;
+pub const GL_POINT: u32 = 6912;
+pub const GL_POINT_NV: u32 = 6912;
+pub const GL_LINE: u32 = 6913;
+pub const GL_LINE_NV: u32 = 6913;
+pub const GL_FILL: u32 = 6914;
+pub const GL_FILL_NV: u32 = 6914;
+pub const GL_RENDER: u32 = 7168;
+pub const GL_FEEDBACK: u32 = 7169;
+pub const GL_SELECT: u32 = 7170;
+pub const GL_FLAT: u32 = 7424;
+pub const GL_SMOOTH: u32 = 7425;
+pub const GL_KEEP: u32 = 7680;
+pub const GL_REPLACE: u32 = 7681;
+pub const GL_INCR: u32 = 7682;
+pub const GL_DECR: u32 = 7683;
+pub const GL_VENDOR: u32 = 7936;
+pub const GL_RENDERER: u32 = 7937;
+pub const GL_VERSION: u32 = 7938;
+pub const GL_EXTENSIONS: u32 = 7939;
+pub const GL_GLYPH_VERTICAL_BEARING_X_BIT_NV: u32 = 32;
+pub const GL_S: u32 = 8192;
+pub const GL_FONT_NUM_GLYPH_INDICES_BIT_NV: u32 = 536870912;
+pub const GL_MULTISAMPLE_BIT: u32 = 536870912;
+pub const GL_MULTISAMPLE_BIT_3DFX: u32 = 536870912;
+pub const GL_MULTISAMPLE_BIT_ARB: u32 = 536870912;
+pub const GL_MULTISAMPLE_BIT_EXT: u32 = 536870912;
+pub const GL_MULTISAMPLE_BUFFER_BIT5_QCOM: u32 = 536870912;
+pub const GL_TEXCOORD2_BIT_PGI: u32 = 536870912;
+pub const GL_T: u32 = 8193;
+pub const GL_R: u32 = 8194;
+pub const GL_Q: u32 = 8195;
+pub const GL_MODULATE: u32 = 8448;
+pub const GL_DECAL: u32 = 8449;
+pub const GL_TEXTURE_ENV_MODE: u32 = 8704;
+pub const GL_TEXTURE_ENV_COLOR: u32 = 8705;
+pub const GL_TEXTURE_ENV: u32 = 8960;
+pub const GL_EYE_LINEAR: u32 = 9216;
+pub const GL_EYE_LINEAR_NV: u32 = 9216;
+pub const GL_OBJECT_LINEAR: u32 = 9217;
+pub const GL_OBJECT_LINEAR_NV: u32 = 9217;
+pub const GL_SPHERE_MAP: u32 = 9218;
+pub const GL_TEXTURE_GEN_MODE: u32 = 9472;
+pub const GL_TEXTURE_GEN_MODE_OES: u32 = 9472;
+pub const GL_OBJECT_PLANE: u32 = 9473;
+pub const GL_EYE_PLANE: u32 = 9474;
+pub const GL_NEAREST: u32 = 9728;
+pub const GL_LINEAR: u32 = 9729;
+pub const GL_NEAREST_MIPMAP_NEAREST: u32 = 9984;
+pub const GL_LINEAR_MIPMAP_NEAREST: u32 = 9985;
+pub const GL_NEAREST_MIPMAP_LINEAR: u32 = 9986;
+pub const GL_LINEAR_MIPMAP_LINEAR: u32 = 9987;
+pub const GL_TEXTURE_MAG_FILTER: u32 = 10240;
+pub const GL_TEXTURE_MIN_FILTER: u32 = 10241;
+pub const GL_TEXTURE_WRAP_S: u32 = 10242;
+pub const GL_TEXTURE_WRAP_T: u32 = 10243;
+pub const GL_CLAMP: u32 = 10496;
+pub const GL_REPEAT: u32 = 10497;
+pub const GL_POLYGON_OFFSET_UNITS: u32 = 10752;
+pub const GL_POLYGON_OFFSET_POINT: u32 = 10753;
+pub const GL_POLYGON_OFFSET_POINT_NV: u32 = 10753;
+pub const GL_POLYGON_OFFSET_LINE: u32 = 10754;
+pub const GL_POLYGON_OFFSET_LINE_NV: u32 = 10754;
+pub const GL_R3_G3_B2: u32 = 10768;
+pub const GL_V2F: u32 = 10784;
+pub const GL_V3F: u32 = 10785;
+pub const GL_C4UB_V2F: u32 = 10786;
+pub const GL_C4UB_V3F: u32 = 10787;
+pub const GL_C3F_V3F: u32 = 10788;
+pub const GL_N3F_V3F: u32 = 10789;
+pub const GL_C4F_N3F_V3F: u32 = 10790;
+pub const GL_T2F_V3F: u32 = 10791;
+pub const GL_T4F_V4F: u32 = 10792;
+pub const GL_T2F_C4UB_V3F: u32 = 10793;
+pub const GL_T2F_C3F_V3F: u32 = 10794;
+pub const GL_T2F_N3F_V3F: u32 = 10795;
+pub const GL_T2F_C4F_N3F_V3F: u32 = 10796;
+pub const GL_T4F_C4F_N3F_V4F: u32 = 10797;
+pub const GL_CLIP_DISTANCE0: u32 = 12288;
+pub const GL_CLIP_DISTANCE0_APPLE: u32 = 12288;
+pub const GL_CLIP_DISTANCE0_EXT: u32 = 12288;
+pub const GL_CLIP_PLANE0: u32 = 12288;
+pub const GL_CLIP_PLANE0_IMG: u32 = 12288;
+pub const GL_CLIP_DISTANCE1: u32 = 12289;
+pub const GL_CLIP_DISTANCE1_APPLE: u32 = 12289;
+pub const GL_CLIP_DISTANCE1_EXT: u32 = 12289;
+pub const GL_CLIP_PLANE1: u32 = 12289;
+pub const GL_CLIP_PLANE1_IMG: u32 = 12289;
+pub const GL_CLIP_DISTANCE2: u32 = 12290;
+pub const GL_CLIP_DISTANCE2_APPLE: u32 = 12290;
+pub const GL_CLIP_DISTANCE2_EXT: u32 = 12290;
+pub const GL_CLIP_PLANE2: u32 = 12290;
+pub const GL_CLIP_PLANE2_IMG: u32 = 12290;
+pub const GL_CLIP_DISTANCE3: u32 = 12291;
+pub const GL_CLIP_DISTANCE3_APPLE: u32 = 12291;
+pub const GL_CLIP_DISTANCE3_EXT: u32 = 12291;
+pub const GL_CLIP_PLANE3: u32 = 12291;
+pub const GL_CLIP_PLANE3_IMG: u32 = 12291;
+pub const GL_CLIP_DISTANCE4: u32 = 12292;
+pub const GL_CLIP_DISTANCE4_APPLE: u32 = 12292;
+pub const GL_CLIP_DISTANCE4_EXT: u32 = 12292;
+pub const GL_CLIP_PLANE4: u32 = 12292;
+pub const GL_CLIP_PLANE4_IMG: u32 = 12292;
+pub const GL_CLIP_DISTANCE5: u32 = 12293;
+pub const GL_CLIP_DISTANCE5_APPLE: u32 = 12293;
+pub const GL_CLIP_DISTANCE5_EXT: u32 = 12293;
+pub const GL_CLIP_PLANE5: u32 = 12293;
+pub const GL_CLIP_PLANE5_IMG: u32 = 12293;
+pub const GL_CLIP_DISTANCE6: u32 = 12294;
+pub const GL_CLIP_DISTANCE6_APPLE: u32 = 12294;
+pub const GL_CLIP_DISTANCE6_EXT: u32 = 12294;
+pub const GL_CLIP_DISTANCE7: u32 = 12295;
+pub const GL_CLIP_DISTANCE7_APPLE: u32 = 12295;
+pub const GL_CLIP_DISTANCE7_EXT: u32 = 12295;
+pub const GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV: u32 = 64;
+pub const GL_LIGHT0: u32 = 16384;
+pub const GL_MULTISAMPLE_BUFFER_BIT6_QCOM: u32 = 1073741824;
+pub const GL_TEXCOORD3_BIT_PGI: u32 = 1073741824;
+pub const GL_LIGHT1: u32 = 16385;
+pub const GL_LIGHT2: u32 = 16386;
+pub const GL_LIGHT3: u32 = 16387;
+pub const GL_LIGHT4: u32 = 16388;
+pub const GL_LIGHT5: u32 = 16389;
+pub const GL_LIGHT6: u32 = 16390;
+pub const GL_LIGHT7: u32 = 16391;
+pub const GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV: u32 = 128;
+pub const GL_ABGR_EXT: u32 = 32768;
+pub const GL_MULTISAMPLE_BUFFER_BIT7_QCOM: u32 = 2147483648;
+pub const GL_TEXCOORD4_BIT_PGI: u32 = 2147483648;
+pub const GL_CONSTANT_COLOR: u32 = 32769;
+pub const GL_CONSTANT_COLOR_EXT: u32 = 32769;
+pub const GL_ONE_MINUS_CONSTANT_COLOR: u32 = 32770;
+pub const GL_ONE_MINUS_CONSTANT_COLOR_EXT: u32 = 32770;
+pub const GL_CONSTANT_ALPHA: u32 = 32771;
+pub const GL_CONSTANT_ALPHA_EXT: u32 = 32771;
+pub const GL_ONE_MINUS_CONSTANT_ALPHA: u32 = 32772;
+pub const GL_ONE_MINUS_CONSTANT_ALPHA_EXT: u32 = 32772;
+pub const GL_BLEND_COLOR: u32 = 32773;
+pub const GL_BLEND_COLOR_EXT: u32 = 32773;
+pub const GL_FUNC_ADD: u32 = 32774;
+pub const GL_FUNC_ADD_EXT: u32 = 32774;
+pub const GL_FUNC_ADD_OES: u32 = 32774;
+pub const GL_MIN: u32 = 32775;
+pub const GL_MIN_EXT: u32 = 32775;
+pub const GL_MAX: u32 = 32776;
+pub const GL_MAX_EXT: u32 = 32776;
+pub const GL_BLEND_EQUATION: u32 = 32777;
+pub const GL_BLEND_EQUATION_EXT: u32 = 32777;
+pub const GL_BLEND_EQUATION_OES: u32 = 32777;
+pub const GL_BLEND_EQUATION_RGB: u32 = 32777;
+pub const GL_BLEND_EQUATION_RGB_EXT: u32 = 32777;
+pub const GL_BLEND_EQUATION_RGB_OES: u32 = 32777;
+pub const GL_FUNC_SUBTRACT: u32 = 32778;
+pub const GL_FUNC_SUBTRACT_EXT: u32 = 32778;
+pub const GL_FUNC_SUBTRACT_OES: u32 = 32778;
+pub const GL_FUNC_REVERSE_SUBTRACT: u32 = 32779;
+pub const GL_FUNC_REVERSE_SUBTRACT_EXT: u32 = 32779;
+pub const GL_FUNC_REVERSE_SUBTRACT_OES: u32 = 32779;
+pub const GL_CMYK_EXT: u32 = 32780;
+pub const GL_CMYKA_EXT: u32 = 32781;
+pub const GL_PACK_CMYK_HINT_EXT: u32 = 32782;
+pub const GL_UNPACK_CMYK_HINT_EXT: u32 = 32783;
+pub const GL_CONVOLUTION_1D: u32 = 32784;
+pub const GL_CONVOLUTION_1D_EXT: u32 = 32784;
+pub const GL_CONVOLUTION_2D: u32 = 32785;
+pub const GL_CONVOLUTION_2D_EXT: u32 = 32785;
+pub const GL_SEPARABLE_2D: u32 = 32786;
+pub const GL_SEPARABLE_2D_EXT: u32 = 32786;
+pub const GL_CONVOLUTION_BORDER_MODE: u32 = 32787;
+pub const GL_CONVOLUTION_BORDER_MODE_EXT: u32 = 32787;
+pub const GL_CONVOLUTION_FILTER_SCALE: u32 = 32788;
+pub const GL_CONVOLUTION_FILTER_SCALE_EXT: u32 = 32788;
+pub const GL_CONVOLUTION_FILTER_BIAS: u32 = 32789;
+pub const GL_CONVOLUTION_FILTER_BIAS_EXT: u32 = 32789;
+pub const GL_REDUCE: u32 = 32790;
+pub const GL_REDUCE_EXT: u32 = 32790;
+pub const GL_CONVOLUTION_FORMAT: u32 = 32791;
+pub const GL_CONVOLUTION_FORMAT_EXT: u32 = 32791;
+pub const GL_CONVOLUTION_WIDTH: u32 = 32792;
+pub const GL_CONVOLUTION_WIDTH_EXT: u32 = 32792;
+pub const GL_CONVOLUTION_HEIGHT: u32 = 32793;
+pub const GL_CONVOLUTION_HEIGHT_EXT: u32 = 32793;
+pub const GL_MAX_CONVOLUTION_WIDTH: u32 = 32794;
+pub const GL_MAX_CONVOLUTION_WIDTH_EXT: u32 = 32794;
+pub const GL_MAX_CONVOLUTION_HEIGHT: u32 = 32795;
+pub const GL_MAX_CONVOLUTION_HEIGHT_EXT: u32 = 32795;
+pub const GL_POST_CONVOLUTION_RED_SCALE: u32 = 32796;
+pub const GL_POST_CONVOLUTION_RED_SCALE_EXT: u32 = 32796;
+pub const GL_POST_CONVOLUTION_GREEN_SCALE: u32 = 32797;
+pub const GL_POST_CONVOLUTION_GREEN_SCALE_EXT: u32 = 32797;
+pub const GL_POST_CONVOLUTION_BLUE_SCALE: u32 = 32798;
+pub const GL_POST_CONVOLUTION_BLUE_SCALE_EXT: u32 = 32798;
+pub const GL_POST_CONVOLUTION_ALPHA_SCALE: u32 = 32799;
+pub const GL_POST_CONVOLUTION_ALPHA_SCALE_EXT: u32 = 32799;
+pub const GL_POST_CONVOLUTION_RED_BIAS: u32 = 32800;
+pub const GL_POST_CONVOLUTION_RED_BIAS_EXT: u32 = 32800;
+pub const GL_POST_CONVOLUTION_GREEN_BIAS: u32 = 32801;
+pub const GL_POST_CONVOLUTION_GREEN_BIAS_EXT: u32 = 32801;
+pub const GL_POST_CONVOLUTION_BLUE_BIAS: u32 = 32802;
+pub const GL_POST_CONVOLUTION_BLUE_BIAS_EXT: u32 = 32802;
+pub const GL_POST_CONVOLUTION_ALPHA_BIAS: u32 = 32803;
+pub const GL_POST_CONVOLUTION_ALPHA_BIAS_EXT: u32 = 32803;
+pub const GL_HISTOGRAM: u32 = 32804;
+pub const GL_HISTOGRAM_EXT: u32 = 32804;
+pub const GL_PROXY_HISTOGRAM: u32 = 32805;
+pub const GL_PROXY_HISTOGRAM_EXT: u32 = 32805;
+pub const GL_HISTOGRAM_WIDTH: u32 = 32806;
+pub const GL_HISTOGRAM_WIDTH_EXT: u32 = 32806;
+pub const GL_HISTOGRAM_FORMAT: u32 = 32807;
+pub const GL_HISTOGRAM_FORMAT_EXT: u32 = 32807;
+pub const GL_HISTOGRAM_RED_SIZE: u32 = 32808;
+pub const GL_HISTOGRAM_RED_SIZE_EXT: u32 = 32808;
+pub const GL_HISTOGRAM_GREEN_SIZE: u32 = 32809;
+pub const GL_HISTOGRAM_GREEN_SIZE_EXT: u32 = 32809;
+pub const GL_HISTOGRAM_BLUE_SIZE: u32 = 32810;
+pub const GL_HISTOGRAM_BLUE_SIZE_EXT: u32 = 32810;
+pub const GL_HISTOGRAM_ALPHA_SIZE: u32 = 32811;
+pub const GL_HISTOGRAM_ALPHA_SIZE_EXT: u32 = 32811;
+pub const GL_HISTOGRAM_LUMINANCE_SIZE: u32 = 32812;
+pub const GL_HISTOGRAM_LUMINANCE_SIZE_EXT: u32 = 32812;
+pub const GL_HISTOGRAM_SINK: u32 = 32813;
+pub const GL_HISTOGRAM_SINK_EXT: u32 = 32813;
+pub const GL_MINMAX: u32 = 32814;
+pub const GL_MINMAX_EXT: u32 = 32814;
+pub const GL_MINMAX_FORMAT: u32 = 32815;
+pub const GL_MINMAX_FORMAT_EXT: u32 = 32815;
+pub const GL_MINMAX_SINK: u32 = 32816;
+pub const GL_MINMAX_SINK_EXT: u32 = 32816;
+pub const GL_TABLE_TOO_LARGE: u32 = 32817;
+pub const GL_TABLE_TOO_LARGE_EXT: u32 = 32817;
+pub const GL_UNSIGNED_BYTE_3_3_2: u32 = 32818;
+pub const GL_UNSIGNED_BYTE_3_3_2_EXT: u32 = 32818;
+pub const GL_UNSIGNED_SHORT_4_4_4_4: u32 = 32819;
+pub const GL_UNSIGNED_SHORT_4_4_4_4_EXT: u32 = 32819;
+pub const GL_UNSIGNED_SHORT_5_5_5_1: u32 = 32820;
+pub const GL_UNSIGNED_SHORT_5_5_5_1_EXT: u32 = 32820;
+pub const GL_UNSIGNED_INT_8_8_8_8: u32 = 32821;
+pub const GL_UNSIGNED_INT_8_8_8_8_EXT: u32 = 32821;
+pub const GL_UNSIGNED_INT_10_10_10_2: u32 = 32822;
+pub const GL_UNSIGNED_INT_10_10_10_2_EXT: u32 = 32822;
+pub const GL_POLYGON_OFFSET_EXT: u32 = 32823;
+pub const GL_POLYGON_OFFSET_FILL: u32 = 32823;
+pub const GL_POLYGON_OFFSET_FACTOR: u32 = 32824;
+pub const GL_POLYGON_OFFSET_FACTOR_EXT: u32 = 32824;
+pub const GL_POLYGON_OFFSET_BIAS_EXT: u32 = 32825;
+pub const GL_RESCALE_NORMAL: u32 = 32826;
+pub const GL_RESCALE_NORMAL_EXT: u32 = 32826;
+pub const GL_ALPHA4: u32 = 32827;
+pub const GL_ALPHA4_EXT: u32 = 32827;
+pub const GL_ALPHA8: u32 = 32828;
+pub const GL_ALPHA8_EXT: u32 = 32828;
+pub const GL_ALPHA8_OES: u32 = 32828;
+pub const GL_ALPHA12: u32 = 32829;
+pub const GL_ALPHA12_EXT: u32 = 32829;
+pub const GL_ALPHA16: u32 = 32830;
+pub const GL_ALPHA16_EXT: u32 = 32830;
+pub const GL_LUMINANCE4: u32 = 32831;
+pub const GL_LUMINANCE4_EXT: u32 = 32831;
+pub const GL_LUMINANCE8: u32 = 32832;
+pub const GL_LUMINANCE8_EXT: u32 = 32832;
+pub const GL_LUMINANCE8_OES: u32 = 32832;
+pub const GL_LUMINANCE12: u32 = 32833;
+pub const GL_LUMINANCE12_EXT: u32 = 32833;
+pub const GL_LUMINANCE16: u32 = 32834;
+pub const GL_LUMINANCE16_EXT: u32 = 32834;
+pub const GL_LUMINANCE4_ALPHA4: u32 = 32835;
+pub const GL_LUMINANCE4_ALPHA4_EXT: u32 = 32835;
+pub const GL_LUMINANCE4_ALPHA4_OES: u32 = 32835;
+pub const GL_LUMINANCE6_ALPHA2: u32 = 32836;
+pub const GL_LUMINANCE6_ALPHA2_EXT: u32 = 32836;
+pub const GL_LUMINANCE8_ALPHA8: u32 = 32837;
+pub const GL_LUMINANCE8_ALPHA8_EXT: u32 = 32837;
+pub const GL_LUMINANCE8_ALPHA8_OES: u32 = 32837;
+pub const GL_LUMINANCE12_ALPHA4: u32 = 32838;
+pub const GL_LUMINANCE12_ALPHA4_EXT: u32 = 32838;
+pub const GL_LUMINANCE12_ALPHA12: u32 = 32839;
+pub const GL_LUMINANCE12_ALPHA12_EXT: u32 = 32839;
+pub const GL_LUMINANCE16_ALPHA16: u32 = 32840;
+pub const GL_LUMINANCE16_ALPHA16_EXT: u32 = 32840;
+pub const GL_INTENSITY: u32 = 32841;
+pub const GL_INTENSITY_EXT: u32 = 32841;
+pub const GL_INTENSITY4: u32 = 32842;
+pub const GL_INTENSITY4_EXT: u32 = 32842;
+pub const GL_INTENSITY8: u32 = 32843;
+pub const GL_INTENSITY8_EXT: u32 = 32843;
+pub const GL_INTENSITY12: u32 = 32844;
+pub const GL_INTENSITY12_EXT: u32 = 32844;
+pub const GL_INTENSITY16: u32 = 32845;
+pub const GL_INTENSITY16_EXT: u32 = 32845;
+pub const GL_RGB2_EXT: u32 = 32846;
+pub const GL_RGB4: u32 = 32847;
+pub const GL_RGB4_EXT: u32 = 32847;
+pub const GL_RGB5: u32 = 32848;
+pub const GL_RGB5_EXT: u32 = 32848;
+pub const GL_RGB8: u32 = 32849;
+pub const GL_RGB8_EXT: u32 = 32849;
+pub const GL_RGB8_OES: u32 = 32849;
+pub const GL_RGB10: u32 = 32850;
+pub const GL_RGB10_EXT: u32 = 32850;
+pub const GL_RGB12: u32 = 32851;
+pub const GL_RGB12_EXT: u32 = 32851;
+pub const GL_RGB16: u32 = 32852;
+pub const GL_RGB16_EXT: u32 = 32852;
+pub const GL_RGBA2: u32 = 32853;
+pub const GL_RGBA2_EXT: u32 = 32853;
+pub const GL_RGBA4: u32 = 32854;
+pub const GL_RGBA4_EXT: u32 = 32854;
+pub const GL_RGBA4_OES: u32 = 32854;
+pub const GL_RGB5_A1: u32 = 32855;
+pub const GL_RGB5_A1_EXT: u32 = 32855;
+pub const GL_RGB5_A1_OES: u32 = 32855;
+pub const GL_RGBA8: u32 = 32856;
+pub const GL_RGBA8_EXT: u32 = 32856;
+pub const GL_RGBA8_OES: u32 = 32856;
+pub const GL_RGB10_A2: u32 = 32857;
+pub const GL_RGB10_A2_EXT: u32 = 32857;
+pub const GL_RGBA12: u32 = 32858;
+pub const GL_RGBA12_EXT: u32 = 32858;
+pub const GL_RGBA16: u32 = 32859;
+pub const GL_RGBA16_EXT: u32 = 32859;
+pub const GL_TEXTURE_RED_SIZE: u32 = 32860;
+pub const GL_TEXTURE_RED_SIZE_EXT: u32 = 32860;
+pub const GL_TEXTURE_GREEN_SIZE: u32 = 32861;
+pub const GL_TEXTURE_GREEN_SIZE_EXT: u32 = 32861;
+pub const GL_TEXTURE_BLUE_SIZE: u32 = 32862;
+pub const GL_TEXTURE_BLUE_SIZE_EXT: u32 = 32862;
+pub const GL_TEXTURE_ALPHA_SIZE: u32 = 32863;
+pub const GL_TEXTURE_ALPHA_SIZE_EXT: u32 = 32863;
+pub const GL_TEXTURE_LUMINANCE_SIZE: u32 = 32864;
+pub const GL_TEXTURE_LUMINANCE_SIZE_EXT: u32 = 32864;
+pub const GL_TEXTURE_INTENSITY_SIZE: u32 = 32865;
+pub const GL_TEXTURE_INTENSITY_SIZE_EXT: u32 = 32865;
+pub const GL_REPLACE_EXT: u32 = 32866;
+pub const GL_PROXY_TEXTURE_1D: u32 = 32867;
+pub const GL_PROXY_TEXTURE_1D_EXT: u32 = 32867;
+pub const GL_PROXY_TEXTURE_2D: u32 = 32868;
+pub const GL_PROXY_TEXTURE_2D_EXT: u32 = 32868;
+pub const GL_TEXTURE_TOO_LARGE_EXT: u32 = 32869;
+pub const GL_TEXTURE_PRIORITY: u32 = 32870;
+pub const GL_TEXTURE_PRIORITY_EXT: u32 = 32870;
+pub const GL_TEXTURE_RESIDENT: u32 = 32871;
+pub const GL_TEXTURE_RESIDENT_EXT: u32 = 32871;
+pub const GL_TEXTURE_1D_BINDING_EXT: u32 = 32872;
+pub const GL_TEXTURE_BINDING_1D: u32 = 32872;
+pub const GL_TEXTURE_2D_BINDING_EXT: u32 = 32873;
+pub const GL_TEXTURE_BINDING_2D: u32 = 32873;
+pub const GL_TEXTURE_3D_BINDING_EXT: u32 = 32874;
+pub const GL_TEXTURE_3D_BINDING_OES: u32 = 32874;
+pub const GL_TEXTURE_BINDING_3D: u32 = 32874;
+pub const GL_TEXTURE_BINDING_3D_OES: u32 = 32874;
+pub const GL_PACK_SKIP_IMAGES: u32 = 32875;
+pub const GL_PACK_SKIP_IMAGES_EXT: u32 = 32875;
+pub const GL_PACK_IMAGE_HEIGHT: u32 = 32876;
+pub const GL_PACK_IMAGE_HEIGHT_EXT: u32 = 32876;
+pub const GL_UNPACK_SKIP_IMAGES: u32 = 32877;
+pub const GL_UNPACK_SKIP_IMAGES_EXT: u32 = 32877;
+pub const GL_UNPACK_IMAGE_HEIGHT: u32 = 32878;
+pub const GL_UNPACK_IMAGE_HEIGHT_EXT: u32 = 32878;
+pub const GL_TEXTURE_3D: u32 = 32879;
+pub const GL_TEXTURE_3D_EXT: u32 = 32879;
+pub const GL_TEXTURE_3D_OES: u32 = 32879;
+pub const GL_PROXY_TEXTURE_3D: u32 = 32880;
+pub const GL_PROXY_TEXTURE_3D_EXT: u32 = 32880;
+pub const GL_TEXTURE_DEPTH: u32 = 32881;
+pub const GL_TEXTURE_DEPTH_EXT: u32 = 32881;
+pub const GL_TEXTURE_WRAP_R: u32 = 32882;
+pub const GL_TEXTURE_WRAP_R_EXT: u32 = 32882;
+pub const GL_TEXTURE_WRAP_R_OES: u32 = 32882;
+pub const GL_MAX_3D_TEXTURE_SIZE: u32 = 32883;
+pub const GL_MAX_3D_TEXTURE_SIZE_EXT: u32 = 32883;
+pub const GL_MAX_3D_TEXTURE_SIZE_OES: u32 = 32883;
+pub const GL_VERTEX_ARRAY: u32 = 32884;
+pub const GL_VERTEX_ARRAY_EXT: u32 = 32884;
+pub const GL_VERTEX_ARRAY_KHR: u32 = 32884;
+pub const GL_NORMAL_ARRAY: u32 = 32885;
+pub const GL_NORMAL_ARRAY_EXT: u32 = 32885;
+pub const GL_COLOR_ARRAY: u32 = 32886;
+pub const GL_COLOR_ARRAY_EXT: u32 = 32886;
+pub const GL_INDEX_ARRAY: u32 = 32887;
+pub const GL_INDEX_ARRAY_EXT: u32 = 32887;
+pub const GL_TEXTURE_COORD_ARRAY: u32 = 32888;
+pub const GL_TEXTURE_COORD_ARRAY_EXT: u32 = 32888;
+pub const GL_EDGE_FLAG_ARRAY: u32 = 32889;
+pub const GL_EDGE_FLAG_ARRAY_EXT: u32 = 32889;
+pub const GL_VERTEX_ARRAY_SIZE: u32 = 32890;
+pub const GL_VERTEX_ARRAY_SIZE_EXT: u32 = 32890;
+pub const GL_VERTEX_ARRAY_TYPE: u32 = 32891;
+pub const GL_VERTEX_ARRAY_TYPE_EXT: u32 = 32891;
+pub const GL_VERTEX_ARRAY_STRIDE: u32 = 32892;
+pub const GL_VERTEX_ARRAY_STRIDE_EXT: u32 = 32892;
+pub const GL_VERTEX_ARRAY_COUNT_EXT: u32 = 32893;
+pub const GL_NORMAL_ARRAY_TYPE: u32 = 32894;
+pub const GL_NORMAL_ARRAY_TYPE_EXT: u32 = 32894;
+pub const GL_NORMAL_ARRAY_STRIDE: u32 = 32895;
+pub const GL_NORMAL_ARRAY_STRIDE_EXT: u32 = 32895;
+pub const GL_NORMAL_ARRAY_COUNT_EXT: u32 = 32896;
+pub const GL_COLOR_ARRAY_SIZE: u32 = 32897;
+pub const GL_COLOR_ARRAY_SIZE_EXT: u32 = 32897;
+pub const GL_COLOR_ARRAY_TYPE: u32 = 32898;
+pub const GL_COLOR_ARRAY_TYPE_EXT: u32 = 32898;
+pub const GL_COLOR_ARRAY_STRIDE: u32 = 32899;
+pub const GL_COLOR_ARRAY_STRIDE_EXT: u32 = 32899;
+pub const GL_COLOR_ARRAY_COUNT_EXT: u32 = 32900;
+pub const GL_INDEX_ARRAY_TYPE: u32 = 32901;
+pub const GL_INDEX_ARRAY_TYPE_EXT: u32 = 32901;
+pub const GL_INDEX_ARRAY_STRIDE: u32 = 32902;
+pub const GL_INDEX_ARRAY_STRIDE_EXT: u32 = 32902;
+pub const GL_INDEX_ARRAY_COUNT_EXT: u32 = 32903;
+pub const GL_TEXTURE_COORD_ARRAY_SIZE: u32 = 32904;
+pub const GL_TEXTURE_COORD_ARRAY_SIZE_EXT: u32 = 32904;
+pub const GL_TEXTURE_COORD_ARRAY_TYPE: u32 = 32905;
+pub const GL_TEXTURE_COORD_ARRAY_TYPE_EXT: u32 = 32905;
+pub const GL_TEXTURE_COORD_ARRAY_STRIDE: u32 = 32906;
+pub const GL_TEXTURE_COORD_ARRAY_STRIDE_EXT: u32 = 32906;
+pub const GL_TEXTURE_COORD_ARRAY_COUNT_EXT: u32 = 32907;
+pub const GL_EDGE_FLAG_ARRAY_STRIDE: u32 = 32908;
+pub const GL_EDGE_FLAG_ARRAY_STRIDE_EXT: u32 = 32908;
+pub const GL_EDGE_FLAG_ARRAY_COUNT_EXT: u32 = 32909;
+pub const GL_VERTEX_ARRAY_POINTER: u32 = 32910;
+pub const GL_VERTEX_ARRAY_POINTER_EXT: u32 = 32910;
+pub const GL_NORMAL_ARRAY_POINTER: u32 = 32911;
+pub const GL_NORMAL_ARRAY_POINTER_EXT: u32 = 32911;
+pub const GL_COLOR_ARRAY_POINTER: u32 = 32912;
+pub const GL_COLOR_ARRAY_POINTER_EXT: u32 = 32912;
+pub const GL_INDEX_ARRAY_POINTER: u32 = 32913;
+pub const GL_INDEX_ARRAY_POINTER_EXT: u32 = 32913;
+pub const GL_TEXTURE_COORD_ARRAY_POINTER: u32 = 32914;
+pub const GL_TEXTURE_COORD_ARRAY_POINTER_EXT: u32 = 32914;
+pub const GL_EDGE_FLAG_ARRAY_POINTER: u32 = 32915;
+pub const GL_EDGE_FLAG_ARRAY_POINTER_EXT: u32 = 32915;
+pub const GL_INTERLACE_SGIX: u32 = 32916;
+pub const GL_DETAIL_TEXTURE_2D_SGIS: u32 = 32917;
+pub const GL_DETAIL_TEXTURE_2D_BINDING_SGIS: u32 = 32918;
+pub const GL_LINEAR_DETAIL_SGIS: u32 = 32919;
+pub const GL_LINEAR_DETAIL_ALPHA_SGIS: u32 = 32920;
+pub const GL_LINEAR_DETAIL_COLOR_SGIS: u32 = 32921;
+pub const GL_DETAIL_TEXTURE_LEVEL_SGIS: u32 = 32922;
+pub const GL_DETAIL_TEXTURE_MODE_SGIS: u32 = 32923;
+pub const GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS: u32 = 32924;
+pub const GL_MULTISAMPLE: u32 = 32925;
+pub const GL_MULTISAMPLE_ARB: u32 = 32925;
+pub const GL_MULTISAMPLE_EXT: u32 = 32925;
+pub const GL_MULTISAMPLE_SGIS: u32 = 32925;
+pub const GL_SAMPLE_ALPHA_TO_COVERAGE: u32 = 32926;
+pub const GL_SAMPLE_ALPHA_TO_COVERAGE_ARB: u32 = 32926;
+pub const GL_SAMPLE_ALPHA_TO_MASK_EXT: u32 = 32926;
+pub const GL_SAMPLE_ALPHA_TO_MASK_SGIS: u32 = 32926;
+pub const GL_SAMPLE_ALPHA_TO_ONE: u32 = 32927;
+pub const GL_SAMPLE_ALPHA_TO_ONE_ARB: u32 = 32927;
+pub const GL_SAMPLE_ALPHA_TO_ONE_EXT: u32 = 32927;
+pub const GL_SAMPLE_ALPHA_TO_ONE_SGIS: u32 = 32927;
+pub const GL_SAMPLE_COVERAGE: u32 = 32928;
+pub const GL_SAMPLE_COVERAGE_ARB: u32 = 32928;
+pub const GL_SAMPLE_MASK_EXT: u32 = 32928;
+pub const GL_SAMPLE_MASK_SGIS: u32 = 32928;
+pub const GL_1PASS_EXT: u32 = 32929;
+pub const GL_1PASS_SGIS: u32 = 32929;
+pub const GL_2PASS_0_EXT: u32 = 32930;
+pub const GL_2PASS_0_SGIS: u32 = 32930;
+pub const GL_2PASS_1_EXT: u32 = 32931;
+pub const GL_2PASS_1_SGIS: u32 = 32931;
+pub const GL_4PASS_0_EXT: u32 = 32932;
+pub const GL_4PASS_0_SGIS: u32 = 32932;
+pub const GL_4PASS_1_EXT: u32 = 32933;
+pub const GL_4PASS_1_SGIS: u32 = 32933;
+pub const GL_4PASS_2_EXT: u32 = 32934;
+pub const GL_4PASS_2_SGIS: u32 = 32934;
+pub const GL_4PASS_3_EXT: u32 = 32935;
+pub const GL_4PASS_3_SGIS: u32 = 32935;
+pub const GL_SAMPLE_BUFFERS: u32 = 32936;
+pub const GL_SAMPLE_BUFFERS_ARB: u32 = 32936;
+pub const GL_SAMPLE_BUFFERS_EXT: u32 = 32936;
+pub const GL_SAMPLE_BUFFERS_SGIS: u32 = 32936;
+pub const GL_SAMPLES: u32 = 32937;
+pub const GL_SAMPLES_ARB: u32 = 32937;
+pub const GL_SAMPLES_EXT: u32 = 32937;
+pub const GL_SAMPLES_SGIS: u32 = 32937;
+pub const GL_SAMPLE_COVERAGE_VALUE: u32 = 32938;
+pub const GL_SAMPLE_COVERAGE_VALUE_ARB: u32 = 32938;
+pub const GL_SAMPLE_MASK_VALUE_EXT: u32 = 32938;
+pub const GL_SAMPLE_MASK_VALUE_SGIS: u32 = 32938;
+pub const GL_SAMPLE_COVERAGE_INVERT: u32 = 32939;
+pub const GL_SAMPLE_COVERAGE_INVERT_ARB: u32 = 32939;
+pub const GL_SAMPLE_MASK_INVERT_EXT: u32 = 32939;
+pub const GL_SAMPLE_MASK_INVERT_SGIS: u32 = 32939;
+pub const GL_SAMPLE_PATTERN_EXT: u32 = 32940;
+pub const GL_SAMPLE_PATTERN_SGIS: u32 = 32940;
+pub const GL_LINEAR_SHARPEN_SGIS: u32 = 32941;
+pub const GL_LINEAR_SHARPEN_ALPHA_SGIS: u32 = 32942;
+pub const GL_LINEAR_SHARPEN_COLOR_SGIS: u32 = 32943;
+pub const GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS: u32 = 32944;
+pub const GL_COLOR_MATRIX: u32 = 32945;
+pub const GL_COLOR_MATRIX_SGI: u32 = 32945;
+pub const GL_COLOR_MATRIX_STACK_DEPTH: u32 = 32946;
+pub const GL_COLOR_MATRIX_STACK_DEPTH_SGI: u32 = 32946;
+pub const GL_MAX_COLOR_MATRIX_STACK_DEPTH: u32 = 32947;
+pub const GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI: u32 = 32947;
+pub const GL_POST_COLOR_MATRIX_RED_SCALE: u32 = 32948;
+pub const GL_POST_COLOR_MATRIX_RED_SCALE_SGI: u32 = 32948;
+pub const GL_POST_COLOR_MATRIX_GREEN_SCALE: u32 = 32949;
+pub const GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI: u32 = 32949;
+pub const GL_POST_COLOR_MATRIX_BLUE_SCALE: u32 = 32950;
+pub const GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI: u32 = 32950;
+pub const GL_POST_COLOR_MATRIX_ALPHA_SCALE: u32 = 32951;
+pub const GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI: u32 = 32951;
+pub const GL_POST_COLOR_MATRIX_RED_BIAS: u32 = 32952;
+pub const GL_POST_COLOR_MATRIX_RED_BIAS_SGI: u32 = 32952;
+pub const GL_POST_COLOR_MATRIX_GREEN_BIAS: u32 = 32953;
+pub const GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI: u32 = 32953;
+pub const GL_POST_COLOR_MATRIX_BLUE_BIAS: u32 = 32954;
+pub const GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI: u32 = 32954;
+pub const GL_POST_COLOR_MATRIX_ALPHA_BIAS: u32 = 32955;
+pub const GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI: u32 = 32955;
+pub const GL_TEXTURE_COLOR_TABLE_SGI: u32 = 32956;
+pub const GL_PROXY_TEXTURE_COLOR_TABLE_SGI: u32 = 32957;
+pub const GL_TEXTURE_ENV_BIAS_SGIX: u32 = 32958;
+pub const GL_SHADOW_AMBIENT_SGIX: u32 = 32959;
+pub const GL_TEXTURE_COMPARE_FAIL_VALUE_ARB: u32 = 32959;
+pub const GL_BLEND_DST_RGB: u32 = 32968;
+pub const GL_BLEND_DST_RGB_EXT: u32 = 32968;
+pub const GL_BLEND_DST_RGB_OES: u32 = 32968;
+pub const GL_BLEND_SRC_RGB: u32 = 32969;
+pub const GL_BLEND_SRC_RGB_EXT: u32 = 32969;
+pub const GL_BLEND_SRC_RGB_OES: u32 = 32969;
+pub const GL_BLEND_DST_ALPHA: u32 = 32970;
+pub const GL_BLEND_DST_ALPHA_EXT: u32 = 32970;
+pub const GL_BLEND_DST_ALPHA_OES: u32 = 32970;
+pub const GL_BLEND_SRC_ALPHA: u32 = 32971;
+pub const GL_BLEND_SRC_ALPHA_EXT: u32 = 32971;
+pub const GL_BLEND_SRC_ALPHA_OES: u32 = 32971;
+pub const GL_422_EXT: u32 = 32972;
+pub const GL_422_REV_EXT: u32 = 32973;
+pub const GL_422_AVERAGE_EXT: u32 = 32974;
+pub const GL_422_REV_AVERAGE_EXT: u32 = 32975;
+pub const GL_COLOR_TABLE: u32 = 32976;
+pub const GL_COLOR_TABLE_SGI: u32 = 32976;
+pub const GL_POST_CONVOLUTION_COLOR_TABLE: u32 = 32977;
+pub const GL_POST_CONVOLUTION_COLOR_TABLE_SGI: u32 = 32977;
+pub const GL_POST_COLOR_MATRIX_COLOR_TABLE: u32 = 32978;
+pub const GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI: u32 = 32978;
+pub const GL_PROXY_COLOR_TABLE: u32 = 32979;
+pub const GL_PROXY_COLOR_TABLE_SGI: u32 = 32979;
+pub const GL_PROXY_POST_CONVOLUTION_COLOR_TABLE: u32 = 32980;
+pub const GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI: u32 = 32980;
+pub const GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE: u32 = 32981;
+pub const GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI: u32 = 32981;
+pub const GL_COLOR_TABLE_SCALE: u32 = 32982;
+pub const GL_COLOR_TABLE_SCALE_SGI: u32 = 32982;
+pub const GL_COLOR_TABLE_BIAS: u32 = 32983;
+pub const GL_COLOR_TABLE_BIAS_SGI: u32 = 32983;
+pub const GL_COLOR_TABLE_FORMAT: u32 = 32984;
+pub const GL_COLOR_TABLE_FORMAT_SGI: u32 = 32984;
+pub const GL_COLOR_TABLE_WIDTH: u32 = 32985;
+pub const GL_COLOR_TABLE_WIDTH_SGI: u32 = 32985;
+pub const GL_COLOR_TABLE_RED_SIZE: u32 = 32986;
+pub const GL_COLOR_TABLE_RED_SIZE_SGI: u32 = 32986;
+pub const GL_COLOR_TABLE_GREEN_SIZE: u32 = 32987;
+pub const GL_COLOR_TABLE_GREEN_SIZE_SGI: u32 = 32987;
+pub const GL_COLOR_TABLE_BLUE_SIZE: u32 = 32988;
+pub const GL_COLOR_TABLE_BLUE_SIZE_SGI: u32 = 32988;
+pub const GL_COLOR_TABLE_ALPHA_SIZE: u32 = 32989;
+pub const GL_COLOR_TABLE_ALPHA_SIZE_SGI: u32 = 32989;
+pub const GL_COLOR_TABLE_LUMINANCE_SIZE: u32 = 32990;
+pub const GL_COLOR_TABLE_LUMINANCE_SIZE_SGI: u32 = 32990;
+pub const GL_COLOR_TABLE_INTENSITY_SIZE: u32 = 32991;
+pub const GL_COLOR_TABLE_INTENSITY_SIZE_SGI: u32 = 32991;
+pub const GL_BGR: u32 = 32992;
+pub const GL_BGR_EXT: u32 = 32992;
+pub const GL_BGRA: u32 = 32993;
+pub const GL_BGRA_EXT: u32 = 32993;
+pub const GL_BGRA_IMG: u32 = 32993;
+pub const GL_COLOR_INDEX1_EXT: u32 = 32994;
+pub const GL_COLOR_INDEX2_EXT: u32 = 32995;
+pub const GL_COLOR_INDEX4_EXT: u32 = 32996;
+pub const GL_COLOR_INDEX8_EXT: u32 = 32997;
+pub const GL_COLOR_INDEX12_EXT: u32 = 32998;
+pub const GL_COLOR_INDEX16_EXT: u32 = 32999;
+pub const GL_MAX_ELEMENTS_VERTICES: u32 = 33000;
+pub const GL_MAX_ELEMENTS_VERTICES_EXT: u32 = 33000;
+pub const GL_MAX_ELEMENTS_INDICES: u32 = 33001;
+pub const GL_MAX_ELEMENTS_INDICES_EXT: u32 = 33001;
+pub const GL_PHONG_WIN: u32 = 33002;
+pub const GL_PHONG_HINT_WIN: u32 = 33003;
+pub const GL_FOG_SPECULAR_TEXTURE_WIN: u32 = 33004;
+pub const GL_TEXTURE_INDEX_SIZE_EXT: u32 = 33005;
+pub const GL_PARAMETER_BUFFER_ARB: u32 = 33006;
+pub const GL_PARAMETER_BUFFER_BINDING_ARB: u32 = 33007;
+pub const GL_CLIP_VOLUME_CLIPPING_HINT_EXT: u32 = 33008;
+pub const GL_DUAL_ALPHA4_SGIS: u32 = 33040;
+pub const GL_DUAL_ALPHA8_SGIS: u32 = 33041;
+pub const GL_DUAL_ALPHA12_SGIS: u32 = 33042;
+pub const GL_DUAL_ALPHA16_SGIS: u32 = 33043;
+pub const GL_DUAL_LUMINANCE4_SGIS: u32 = 33044;
+pub const GL_DUAL_LUMINANCE8_SGIS: u32 = 33045;
+pub const GL_DUAL_LUMINANCE12_SGIS: u32 = 33046;
+pub const GL_DUAL_LUMINANCE16_SGIS: u32 = 33047;
+pub const GL_DUAL_INTENSITY4_SGIS: u32 = 33048;
+pub const GL_DUAL_INTENSITY8_SGIS: u32 = 33049;
+pub const GL_DUAL_INTENSITY12_SGIS: u32 = 33050;
+pub const GL_DUAL_INTENSITY16_SGIS: u32 = 33051;
+pub const GL_DUAL_LUMINANCE_ALPHA4_SGIS: u32 = 33052;
+pub const GL_DUAL_LUMINANCE_ALPHA8_SGIS: u32 = 33053;
+pub const GL_QUAD_ALPHA4_SGIS: u32 = 33054;
+pub const GL_QUAD_ALPHA8_SGIS: u32 = 33055;
+pub const GL_QUAD_LUMINANCE4_SGIS: u32 = 33056;
+pub const GL_QUAD_LUMINANCE8_SGIS: u32 = 33057;
+pub const GL_QUAD_INTENSITY4_SGIS: u32 = 33058;
+pub const GL_QUAD_INTENSITY8_SGIS: u32 = 33059;
+pub const GL_DUAL_TEXTURE_SELECT_SGIS: u32 = 33060;
+pub const GL_QUAD_TEXTURE_SELECT_SGIS: u32 = 33061;
+pub const GL_POINT_SIZE_MIN: u32 = 33062;
+pub const GL_POINT_SIZE_MIN_ARB: u32 = 33062;
+pub const GL_POINT_SIZE_MIN_EXT: u32 = 33062;
+pub const GL_POINT_SIZE_MIN_SGIS: u32 = 33062;
+pub const GL_POINT_SIZE_MAX: u32 = 33063;
+pub const GL_POINT_SIZE_MAX_ARB: u32 = 33063;
+pub const GL_POINT_SIZE_MAX_EXT: u32 = 33063;
+pub const GL_POINT_SIZE_MAX_SGIS: u32 = 33063;
+pub const GL_POINT_FADE_THRESHOLD_SIZE: u32 = 33064;
+pub const GL_POINT_FADE_THRESHOLD_SIZE_ARB: u32 = 33064;
+pub const GL_POINT_FADE_THRESHOLD_SIZE_EXT: u32 = 33064;
+pub const GL_POINT_FADE_THRESHOLD_SIZE_SGIS: u32 = 33064;
+pub const GL_DISTANCE_ATTENUATION_EXT: u32 = 33065;
+pub const GL_DISTANCE_ATTENUATION_SGIS: u32 = 33065;
+pub const GL_POINT_DISTANCE_ATTENUATION: u32 = 33065;
+pub const GL_POINT_DISTANCE_ATTENUATION_ARB: u32 = 33065;
+pub const GL_FOG_FUNC_SGIS: u32 = 33066;
+pub const GL_FOG_FUNC_POINTS_SGIS: u32 = 33067;
+pub const GL_MAX_FOG_FUNC_POINTS_SGIS: u32 = 33068;
+pub const GL_CLAMP_TO_BORDER: u32 = 33069;
+pub const GL_CLAMP_TO_BORDER_ARB: u32 = 33069;
+pub const GL_CLAMP_TO_BORDER_EXT: u32 = 33069;
+pub const GL_CLAMP_TO_BORDER_NV: u32 = 33069;
+pub const GL_CLAMP_TO_BORDER_OES: u32 = 33069;
+pub const GL_CLAMP_TO_BORDER_SGIS: u32 = 33069;
+pub const GL_TEXTURE_MULTI_BUFFER_HINT_SGIX: u32 = 33070;
+pub const GL_CLAMP_TO_EDGE: u32 = 33071;
+pub const GL_CLAMP_TO_EDGE_SGIS: u32 = 33071;
+pub const GL_PACK_SKIP_VOLUMES_SGIS: u32 = 33072;
+pub const GL_PACK_IMAGE_DEPTH_SGIS: u32 = 33073;
+pub const GL_UNPACK_SKIP_VOLUMES_SGIS: u32 = 33074;
+pub const GL_UNPACK_IMAGE_DEPTH_SGIS: u32 = 33075;
+pub const GL_TEXTURE_4D_SGIS: u32 = 33076;
+pub const GL_PROXY_TEXTURE_4D_SGIS: u32 = 33077;
+pub const GL_TEXTURE_4DSIZE_SGIS: u32 = 33078;
+pub const GL_TEXTURE_WRAP_Q_SGIS: u32 = 33079;
+pub const GL_MAX_4D_TEXTURE_SIZE_SGIS: u32 = 33080;
+pub const GL_PIXEL_TEX_GEN_SGIX: u32 = 33081;
+pub const GL_TEXTURE_MIN_LOD: u32 = 33082;
+pub const GL_TEXTURE_MIN_LOD_SGIS: u32 = 33082;
+pub const GL_TEXTURE_MAX_LOD: u32 = 33083;
+pub const GL_TEXTURE_MAX_LOD_SGIS: u32 = 33083;
+pub const GL_TEXTURE_BASE_LEVEL: u32 = 33084;
+pub const GL_TEXTURE_BASE_LEVEL_SGIS: u32 = 33084;
+pub const GL_TEXTURE_MAX_LEVEL: u32 = 33085;
+pub const GL_TEXTURE_MAX_LEVEL_APPLE: u32 = 33085;
+pub const GL_TEXTURE_MAX_LEVEL_SGIS: u32 = 33085;
+pub const GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX: u32 = 33086;
+pub const GL_PIXEL_TILE_CACHE_INCREMENT_SGIX: u32 = 33087;
+pub const GL_PIXEL_TILE_WIDTH_SGIX: u32 = 33088;
+pub const GL_PIXEL_TILE_HEIGHT_SGIX: u32 = 33089;
+pub const GL_PIXEL_TILE_GRID_WIDTH_SGIX: u32 = 33090;
+pub const GL_PIXEL_TILE_GRID_HEIGHT_SGIX: u32 = 33091;
+pub const GL_PIXEL_TILE_GRID_DEPTH_SGIX: u32 = 33092;
+pub const GL_PIXEL_TILE_CACHE_SIZE_SGIX: u32 = 33093;
+pub const GL_FILTER4_SGIS: u32 = 33094;
+pub const GL_TEXTURE_FILTER4_SIZE_SGIS: u32 = 33095;
+pub const GL_SPRITE_SGIX: u32 = 33096;
+pub const GL_SPRITE_MODE_SGIX: u32 = 33097;
+pub const GL_SPRITE_AXIS_SGIX: u32 = 33098;
+pub const GL_SPRITE_TRANSLATION_SGIX: u32 = 33099;
+pub const GL_SPRITE_AXIAL_SGIX: u32 = 33100;
+pub const GL_SPRITE_OBJECT_ALIGNED_SGIX: u32 = 33101;
+pub const GL_SPRITE_EYE_ALIGNED_SGIX: u32 = 33102;
+pub const GL_TEXTURE_4D_BINDING_SGIS: u32 = 33103;
+pub const GL_IGNORE_BORDER_HP: u32 = 33104;
+pub const GL_CONSTANT_BORDER: u32 = 33105;
+pub const GL_CONSTANT_BORDER_HP: u32 = 33105;
+pub const GL_REPLICATE_BORDER: u32 = 33107;
+pub const GL_REPLICATE_BORDER_HP: u32 = 33107;
+pub const GL_CONVOLUTION_BORDER_COLOR: u32 = 33108;
+pub const GL_CONVOLUTION_BORDER_COLOR_HP: u32 = 33108;
+pub const GL_IMAGE_SCALE_X_HP: u32 = 33109;
+pub const GL_IMAGE_SCALE_Y_HP: u32 = 33110;
+pub const GL_IMAGE_TRANSLATE_X_HP: u32 = 33111;
+pub const GL_IMAGE_TRANSLATE_Y_HP: u32 = 33112;
+pub const GL_IMAGE_ROTATE_ANGLE_HP: u32 = 33113;
+pub const GL_IMAGE_ROTATE_ORIGIN_X_HP: u32 = 33114;
+pub const GL_IMAGE_ROTATE_ORIGIN_Y_HP: u32 = 33115;
+pub const GL_IMAGE_MAG_FILTER_HP: u32 = 33116;
+pub const GL_IMAGE_MIN_FILTER_HP: u32 = 33117;
+pub const GL_IMAGE_CUBIC_WEIGHT_HP: u32 = 33118;
+pub const GL_CUBIC_HP: u32 = 33119;
+pub const GL_AVERAGE_HP: u32 = 33120;
+pub const GL_IMAGE_TRANSFORM_2D_HP: u32 = 33121;
+pub const GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP: u32 = 33122;
+pub const GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP: u32 = 33123;
+pub const GL_OCCLUSION_TEST_HP: u32 = 33125;
+pub const GL_OCCLUSION_TEST_RESULT_HP: u32 = 33126;
+pub const GL_TEXTURE_LIGHTING_MODE_HP: u32 = 33127;
+pub const GL_TEXTURE_POST_SPECULAR_HP: u32 = 33128;
+pub const GL_TEXTURE_PRE_SPECULAR_HP: u32 = 33129;
+pub const GL_LINEAR_CLIPMAP_LINEAR_SGIX: u32 = 33136;
+pub const GL_TEXTURE_CLIPMAP_CENTER_SGIX: u32 = 33137;
+pub const GL_TEXTURE_CLIPMAP_FRAME_SGIX: u32 = 33138;
+pub const GL_TEXTURE_CLIPMAP_OFFSET_SGIX: u32 = 33139;
+pub const GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX: u32 = 33140;
+pub const GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX: u32 = 33141;
+pub const GL_TEXTURE_CLIPMAP_DEPTH_SGIX: u32 = 33142;
+pub const GL_MAX_CLIPMAP_DEPTH_SGIX: u32 = 33143;
+pub const GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX: u32 = 33144;
+pub const GL_POST_TEXTURE_FILTER_BIAS_SGIX: u32 = 33145;
+pub const GL_POST_TEXTURE_FILTER_SCALE_SGIX: u32 = 33146;
+pub const GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX: u32 = 33147;
+pub const GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX: u32 = 33148;
+pub const GL_REFERENCE_PLANE_SGIX: u32 = 33149;
+pub const GL_REFERENCE_PLANE_EQUATION_SGIX: u32 = 33150;
+pub const GL_IR_INSTRUMENT1_SGIX: u32 = 33151;
+pub const GL_INSTRUMENT_BUFFER_POINTER_SGIX: u32 = 33152;
+pub const GL_INSTRUMENT_MEASUREMENTS_SGIX: u32 = 33153;
+pub const GL_LIST_PRIORITY_SGIX: u32 = 33154;
+pub const GL_CALLIGRAPHIC_FRAGMENT_SGIX: u32 = 33155;
+pub const GL_PIXEL_TEX_GEN_Q_CEILING_SGIX: u32 = 33156;
+pub const GL_PIXEL_TEX_GEN_Q_ROUND_SGIX: u32 = 33157;
+pub const GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX: u32 = 33158;
+pub const GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX: u32 = 33159;
+pub const GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX: u32 = 33160;
+pub const GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX: u32 = 33161;
+pub const GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX: u32 = 33162;
+pub const GL_FRAMEZOOM_SGIX: u32 = 33163;
+pub const GL_FRAMEZOOM_FACTOR_SGIX: u32 = 33164;
+pub const GL_MAX_FRAMEZOOM_FACTOR_SGIX: u32 = 33165;
+pub const GL_TEXTURE_LOD_BIAS_S_SGIX: u32 = 33166;
+pub const GL_TEXTURE_LOD_BIAS_T_SGIX: u32 = 33167;
+pub const GL_TEXTURE_LOD_BIAS_R_SGIX: u32 = 33168;
+pub const GL_GENERATE_MIPMAP: u32 = 33169;
+pub const GL_GENERATE_MIPMAP_SGIS: u32 = 33169;
+pub const GL_GENERATE_MIPMAP_HINT: u32 = 33170;
+pub const GL_GENERATE_MIPMAP_HINT_SGIS: u32 = 33170;
+pub const GL_GEOMETRY_DEFORMATION_SGIX: u32 = 33172;
+pub const GL_TEXTURE_DEFORMATION_SGIX: u32 = 33173;
+pub const GL_DEFORMATIONS_MASK_SGIX: u32 = 33174;
+pub const GL_MAX_DEFORMATION_ORDER_SGIX: u32 = 33175;
+pub const GL_FOG_OFFSET_SGIX: u32 = 33176;
+pub const GL_FOG_OFFSET_VALUE_SGIX: u32 = 33177;
+pub const GL_TEXTURE_COMPARE_SGIX: u32 = 33178;
+pub const GL_TEXTURE_COMPARE_OPERATOR_SGIX: u32 = 33179;
+pub const GL_TEXTURE_LEQUAL_R_SGIX: u32 = 33180;
+pub const GL_TEXTURE_GEQUAL_R_SGIX: u32 = 33181;
+pub const GL_DEPTH_COMPONENT16: u32 = 33189;
+pub const GL_DEPTH_COMPONENT16_ARB: u32 = 33189;
+pub const GL_DEPTH_COMPONENT16_OES: u32 = 33189;
+pub const GL_DEPTH_COMPONENT16_SGIX: u32 = 33189;
+pub const GL_DEPTH_COMPONENT24: u32 = 33190;
+pub const GL_DEPTH_COMPONENT24_ARB: u32 = 33190;
+pub const GL_DEPTH_COMPONENT24_OES: u32 = 33190;
+pub const GL_DEPTH_COMPONENT24_SGIX: u32 = 33190;
+pub const GL_DEPTH_COMPONENT32: u32 = 33191;
+pub const GL_DEPTH_COMPONENT32_ARB: u32 = 33191;
+pub const GL_DEPTH_COMPONENT32_OES: u32 = 33191;
+pub const GL_DEPTH_COMPONENT32_SGIX: u32 = 33191;
+pub const GL_ARRAY_ELEMENT_LOCK_FIRST_EXT: u32 = 33192;
+pub const GL_ARRAY_ELEMENT_LOCK_COUNT_EXT: u32 = 33193;
+pub const GL_CULL_VERTEX_EXT: u32 = 33194;
+pub const GL_CULL_VERTEX_EYE_POSITION_EXT: u32 = 33195;
+pub const GL_CULL_VERTEX_OBJECT_POSITION_EXT: u32 = 33196;
+pub const GL_IUI_V2F_EXT: u32 = 33197;
+pub const GL_IUI_V3F_EXT: u32 = 33198;
+pub const GL_IUI_N3F_V2F_EXT: u32 = 33199;
+pub const GL_IUI_N3F_V3F_EXT: u32 = 33200;
+pub const GL_T2F_IUI_V2F_EXT: u32 = 33201;
+pub const GL_T2F_IUI_V3F_EXT: u32 = 33202;
+pub const GL_T2F_IUI_N3F_V2F_EXT: u32 = 33203;
+pub const GL_T2F_IUI_N3F_V3F_EXT: u32 = 33204;
+pub const GL_INDEX_TEST_EXT: u32 = 33205;
+pub const GL_INDEX_TEST_FUNC_EXT: u32 = 33206;
+pub const GL_INDEX_TEST_REF_EXT: u32 = 33207;
+pub const GL_INDEX_MATERIAL_EXT: u32 = 33208;
+pub const GL_INDEX_MATERIAL_PARAMETER_EXT: u32 = 33209;
+pub const GL_INDEX_MATERIAL_FACE_EXT: u32 = 33210;
+pub const GL_YCRCB_422_SGIX: u32 = 33211;
+pub const GL_YCRCB_444_SGIX: u32 = 33212;
+pub const GL_WRAP_BORDER_SUN: u32 = 33236;
+pub const GL_UNPACK_CONSTANT_DATA_SUNX: u32 = 33237;
+pub const GL_TEXTURE_CONSTANT_DATA_SUNX: u32 = 33238;
+pub const GL_TRIANGLE_LIST_SUN: u32 = 33239;
+pub const GL_REPLACEMENT_CODE_SUN: u32 = 33240;
+pub const GL_GLOBAL_ALPHA_SUN: u32 = 33241;
+pub const GL_GLOBAL_ALPHA_FACTOR_SUN: u32 = 33242;
+pub const GL_TEXTURE_COLOR_WRITEMASK_SGIS: u32 = 33263;
+pub const GL_EYE_DISTANCE_TO_POINT_SGIS: u32 = 33264;
+pub const GL_OBJECT_DISTANCE_TO_POINT_SGIS: u32 = 33265;
+pub const GL_EYE_DISTANCE_TO_LINE_SGIS: u32 = 33266;
+pub const GL_OBJECT_DISTANCE_TO_LINE_SGIS: u32 = 33267;
+pub const GL_EYE_POINT_SGIS: u32 = 33268;
+pub const GL_OBJECT_POINT_SGIS: u32 = 33269;
+pub const GL_EYE_LINE_SGIS: u32 = 33270;
+pub const GL_OBJECT_LINE_SGIS: u32 = 33271;
+pub const GL_LIGHT_MODEL_COLOR_CONTROL: u32 = 33272;
+pub const GL_LIGHT_MODEL_COLOR_CONTROL_EXT: u32 = 33272;
+pub const GL_SINGLE_COLOR: u32 = 33273;
+pub const GL_SINGLE_COLOR_EXT: u32 = 33273;
+pub const GL_SEPARATE_SPECULAR_COLOR: u32 = 33274;
+pub const GL_SEPARATE_SPECULAR_COLOR_EXT: u32 = 33274;
+pub const GL_SHARED_TEXTURE_PALETTE_EXT: u32 = 33275;
+pub const GL_TEXT_FRAGMENT_SHADER_ATI: u32 = 33280;
+pub const GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: u32 = 33296;
+pub const GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: u32 = 33296;
+pub const GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: u32 = 33297;
+pub const GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: u32 = 33297;
+pub const GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE: u32 = 33298;
+pub const GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: u32 = 33299;
+pub const GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: u32 = 33300;
+pub const GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: u32 = 33301;
+pub const GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: u32 = 33302;
+pub const GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: u32 = 33303;
+pub const GL_FRAMEBUFFER_DEFAULT: u32 = 33304;
+pub const GL_FRAMEBUFFER_UNDEFINED: u32 = 33305;
+pub const GL_FRAMEBUFFER_UNDEFINED_OES: u32 = 33305;
+pub const GL_DEPTH_STENCIL_ATTACHMENT: u32 = 33306;
+pub const GL_MAJOR_VERSION: u32 = 33307;
+pub const GL_MINOR_VERSION: u32 = 33308;
+pub const GL_NUM_EXTENSIONS: u32 = 33309;
+pub const GL_CONTEXT_FLAGS: u32 = 33310;
+pub const GL_BUFFER_IMMUTABLE_STORAGE: u32 = 33311;
+pub const GL_BUFFER_IMMUTABLE_STORAGE_EXT: u32 = 33311;
+pub const GL_BUFFER_STORAGE_FLAGS: u32 = 33312;
+pub const GL_BUFFER_STORAGE_FLAGS_EXT: u32 = 33312;
+pub const GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED: u32 = 33313;
+pub const GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES: u32 = 33313;
+pub const GL_INDEX: u32 = 33314;
+pub const GL_COMPRESSED_RED: u32 = 33317;
+pub const GL_COMPRESSED_RG: u32 = 33318;
+pub const GL_RG: u32 = 33319;
+pub const GL_RG_EXT: u32 = 33319;
+pub const GL_RG_INTEGER: u32 = 33320;
+pub const GL_R8: u32 = 33321;
+pub const GL_R8_EXT: u32 = 33321;
+pub const GL_R16: u32 = 33322;
+pub const GL_R16_EXT: u32 = 33322;
+pub const GL_RG8: u32 = 33323;
+pub const GL_RG8_EXT: u32 = 33323;
+pub const GL_RG16: u32 = 33324;
+pub const GL_RG16_EXT: u32 = 33324;
+pub const GL_R16F: u32 = 33325;
+pub const GL_R16F_EXT: u32 = 33325;
+pub const GL_R32F: u32 = 33326;
+pub const GL_R32F_EXT: u32 = 33326;
+pub const GL_RG16F: u32 = 33327;
+pub const GL_RG16F_EXT: u32 = 33327;
+pub const GL_RG32F: u32 = 33328;
+pub const GL_RG32F_EXT: u32 = 33328;
+pub const GL_R8I: u32 = 33329;
+pub const GL_R8UI: u32 = 33330;
+pub const GL_R16I: u32 = 33331;
+pub const GL_R16UI: u32 = 33332;
+pub const GL_R32I: u32 = 33333;
+pub const GL_R32UI: u32 = 33334;
+pub const GL_RG8I: u32 = 33335;
+pub const GL_RG8UI: u32 = 33336;
+pub const GL_RG16I: u32 = 33337;
+pub const GL_RG16UI: u32 = 33338;
+pub const GL_RG32I: u32 = 33339;
+pub const GL_RG32UI: u32 = 33340;
+pub const GL_SYNC_CL_EVENT_ARB: u32 = 33344;
+pub const GL_SYNC_CL_EVENT_COMPLETE_ARB: u32 = 33345;
+pub const GL_DEBUG_OUTPUT_SYNCHRONOUS: u32 = 33346;
+pub const GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB: u32 = 33346;
+pub const GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR: u32 = 33346;
+pub const GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH: u32 = 33347;
+pub const GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB: u32 = 33347;
+pub const GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR: u32 = 33347;
+pub const GL_DEBUG_CALLBACK_FUNCTION: u32 = 33348;
+pub const GL_DEBUG_CALLBACK_FUNCTION_ARB: u32 = 33348;
+pub const GL_DEBUG_CALLBACK_FUNCTION_KHR: u32 = 33348;
+pub const GL_DEBUG_CALLBACK_USER_PARAM: u32 = 33349;
+pub const GL_DEBUG_CALLBACK_USER_PARAM_ARB: u32 = 33349;
+pub const GL_DEBUG_CALLBACK_USER_PARAM_KHR: u32 = 33349;
+pub const GL_DEBUG_SOURCE_API: u32 = 33350;
+pub const GL_DEBUG_SOURCE_API_ARB: u32 = 33350;
+pub const GL_DEBUG_SOURCE_API_KHR: u32 = 33350;
+pub const GL_DEBUG_SOURCE_WINDOW_SYSTEM: u32 = 33351;
+pub const GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB: u32 = 33351;
+pub const GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR: u32 = 33351;
+pub const GL_DEBUG_SOURCE_SHADER_COMPILER: u32 = 33352;
+pub const GL_DEBUG_SOURCE_SHADER_COMPILER_ARB: u32 = 33352;
+pub const GL_DEBUG_SOURCE_SHADER_COMPILER_KHR: u32 = 33352;
+pub const GL_DEBUG_SOURCE_THIRD_PARTY: u32 = 33353;
+pub const GL_DEBUG_SOURCE_THIRD_PARTY_ARB: u32 = 33353;
+pub const GL_DEBUG_SOURCE_THIRD_PARTY_KHR: u32 = 33353;
+pub const GL_DEBUG_SOURCE_APPLICATION: u32 = 33354;
+pub const GL_DEBUG_SOURCE_APPLICATION_ARB: u32 = 33354;
+pub const GL_DEBUG_SOURCE_APPLICATION_KHR: u32 = 33354;
+pub const GL_DEBUG_SOURCE_OTHER: u32 = 33355;
+pub const GL_DEBUG_SOURCE_OTHER_ARB: u32 = 33355;
+pub const GL_DEBUG_SOURCE_OTHER_KHR: u32 = 33355;
+pub const GL_DEBUG_TYPE_ERROR: u32 = 33356;
+pub const GL_DEBUG_TYPE_ERROR_ARB: u32 = 33356;
+pub const GL_DEBUG_TYPE_ERROR_KHR: u32 = 33356;
+pub const GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: u32 = 33357;
+pub const GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB: u32 = 33357;
+pub const GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR: u32 = 33357;
+pub const GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: u32 = 33358;
+pub const GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB: u32 = 33358;
+pub const GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR: u32 = 33358;
+pub const GL_DEBUG_TYPE_PORTABILITY: u32 = 33359;
+pub const GL_DEBUG_TYPE_PORTABILITY_ARB: u32 = 33359;
+pub const GL_DEBUG_TYPE_PORTABILITY_KHR: u32 = 33359;
+pub const GL_DEBUG_TYPE_PERFORMANCE: u32 = 33360;
+pub const GL_DEBUG_TYPE_PERFORMANCE_ARB: u32 = 33360;
+pub const GL_DEBUG_TYPE_PERFORMANCE_KHR: u32 = 33360;
+pub const GL_DEBUG_TYPE_OTHER: u32 = 33361;
+pub const GL_DEBUG_TYPE_OTHER_ARB: u32 = 33361;
+pub const GL_DEBUG_TYPE_OTHER_KHR: u32 = 33361;
+pub const GL_LOSE_CONTEXT_ON_RESET: u32 = 33362;
+pub const GL_LOSE_CONTEXT_ON_RESET_ARB: u32 = 33362;
+pub const GL_LOSE_CONTEXT_ON_RESET_EXT: u32 = 33362;
+pub const GL_LOSE_CONTEXT_ON_RESET_KHR: u32 = 33362;
+pub const GL_GUILTY_CONTEXT_RESET: u32 = 33363;
+pub const GL_GUILTY_CONTEXT_RESET_ARB: u32 = 33363;
+pub const GL_GUILTY_CONTEXT_RESET_EXT: u32 = 33363;
+pub const GL_GUILTY_CONTEXT_RESET_KHR: u32 = 33363;
+pub const GL_INNOCENT_CONTEXT_RESET: u32 = 33364;
+pub const GL_INNOCENT_CONTEXT_RESET_ARB: u32 = 33364;
+pub const GL_INNOCENT_CONTEXT_RESET_EXT: u32 = 33364;
+pub const GL_INNOCENT_CONTEXT_RESET_KHR: u32 = 33364;
+pub const GL_UNKNOWN_CONTEXT_RESET: u32 = 33365;
+pub const GL_UNKNOWN_CONTEXT_RESET_ARB: u32 = 33365;
+pub const GL_UNKNOWN_CONTEXT_RESET_EXT: u32 = 33365;
+pub const GL_UNKNOWN_CONTEXT_RESET_KHR: u32 = 33365;
+pub const GL_RESET_NOTIFICATION_STRATEGY: u32 = 33366;
+pub const GL_RESET_NOTIFICATION_STRATEGY_ARB: u32 = 33366;
+pub const GL_RESET_NOTIFICATION_STRATEGY_EXT: u32 = 33366;
+pub const GL_RESET_NOTIFICATION_STRATEGY_KHR: u32 = 33366;
+pub const GL_PROGRAM_BINARY_RETRIEVABLE_HINT: u32 = 33367;
+pub const GL_PROGRAM_SEPARABLE: u32 = 33368;
+pub const GL_PROGRAM_SEPARABLE_EXT: u32 = 33368;
+pub const GL_ACTIVE_PROGRAM: u32 = 33369;
+pub const GL_PROGRAM_PIPELINE_BINDING: u32 = 33370;
+pub const GL_PROGRAM_PIPELINE_BINDING_EXT: u32 = 33370;
+pub const GL_MAX_VIEWPORTS: u32 = 33371;
+pub const GL_MAX_VIEWPORTS_NV: u32 = 33371;
+pub const GL_MAX_VIEWPORTS_OES: u32 = 33371;
+pub const GL_VIEWPORT_SUBPIXEL_BITS: u32 = 33372;
+pub const GL_VIEWPORT_SUBPIXEL_BITS_EXT: u32 = 33372;
+pub const GL_VIEWPORT_SUBPIXEL_BITS_NV: u32 = 33372;
+pub const GL_VIEWPORT_SUBPIXEL_BITS_OES: u32 = 33372;
+pub const GL_VIEWPORT_BOUNDS_RANGE: u32 = 33373;
+pub const GL_VIEWPORT_BOUNDS_RANGE_EXT: u32 = 33373;
+pub const GL_VIEWPORT_BOUNDS_RANGE_NV: u32 = 33373;
+pub const GL_VIEWPORT_BOUNDS_RANGE_OES: u32 = 33373;
+pub const GL_LAYER_PROVOKING_VERTEX: u32 = 33374;
+pub const GL_LAYER_PROVOKING_VERTEX_EXT: u32 = 33374;
+pub const GL_LAYER_PROVOKING_VERTEX_OES: u32 = 33374;
+pub const GL_VIEWPORT_INDEX_PROVOKING_VERTEX: u32 = 33375;
+pub const GL_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT: u32 = 33375;
+pub const GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV: u32 = 33375;
+pub const GL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES: u32 = 33375;
+pub const GL_UNDEFINED_VERTEX: u32 = 33376;
+pub const GL_UNDEFINED_VERTEX_EXT: u32 = 33376;
+pub const GL_UNDEFINED_VERTEX_OES: u32 = 33376;
+pub const GL_NO_RESET_NOTIFICATION: u32 = 33377;
+pub const GL_NO_RESET_NOTIFICATION_ARB: u32 = 33377;
+pub const GL_NO_RESET_NOTIFICATION_EXT: u32 = 33377;
+pub const GL_NO_RESET_NOTIFICATION_KHR: u32 = 33377;
+pub const GL_MAX_COMPUTE_SHARED_MEMORY_SIZE: u32 = 33378;
+pub const GL_MAX_COMPUTE_UNIFORM_COMPONENTS: u32 = 33379;
+pub const GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: u32 = 33380;
+pub const GL_MAX_COMPUTE_ATOMIC_COUNTERS: u32 = 33381;
+pub const GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: u32 = 33382;
+pub const GL_COMPUTE_WORK_GROUP_SIZE: u32 = 33383;
+pub const GL_DEBUG_TYPE_MARKER: u32 = 33384;
+pub const GL_DEBUG_TYPE_MARKER_KHR: u32 = 33384;
+pub const GL_DEBUG_TYPE_PUSH_GROUP: u32 = 33385;
+pub const GL_DEBUG_TYPE_PUSH_GROUP_KHR: u32 = 33385;
+pub const GL_DEBUG_TYPE_POP_GROUP: u32 = 33386;
+pub const GL_DEBUG_TYPE_POP_GROUP_KHR: u32 = 33386;
+pub const GL_DEBUG_SEVERITY_NOTIFICATION: u32 = 33387;
+pub const GL_DEBUG_SEVERITY_NOTIFICATION_KHR: u32 = 33387;
+pub const GL_MAX_DEBUG_GROUP_STACK_DEPTH: u32 = 33388;
+pub const GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR: u32 = 33388;
+pub const GL_DEBUG_GROUP_STACK_DEPTH: u32 = 33389;
+pub const GL_DEBUG_GROUP_STACK_DEPTH_KHR: u32 = 33389;
+pub const GL_MAX_UNIFORM_LOCATIONS: u32 = 33390;
+pub const GL_INTERNALFORMAT_SUPPORTED: u32 = 33391;
+pub const GL_INTERNALFORMAT_PREFERRED: u32 = 33392;
+pub const GL_INTERNALFORMAT_RED_SIZE: u32 = 33393;
+pub const GL_INTERNALFORMAT_GREEN_SIZE: u32 = 33394;
+pub const GL_INTERNALFORMAT_BLUE_SIZE: u32 = 33395;
+pub const GL_INTERNALFORMAT_ALPHA_SIZE: u32 = 33396;
+pub const GL_INTERNALFORMAT_DEPTH_SIZE: u32 = 33397;
+pub const GL_INTERNALFORMAT_STENCIL_SIZE: u32 = 33398;
+pub const GL_INTERNALFORMAT_SHARED_SIZE: u32 = 33399;
+pub const GL_INTERNALFORMAT_RED_TYPE: u32 = 33400;
+pub const GL_INTERNALFORMAT_GREEN_TYPE: u32 = 33401;
+pub const GL_INTERNALFORMAT_BLUE_TYPE: u32 = 33402;
+pub const GL_INTERNALFORMAT_ALPHA_TYPE: u32 = 33403;
+pub const GL_INTERNALFORMAT_DEPTH_TYPE: u32 = 33404;
+pub const GL_INTERNALFORMAT_STENCIL_TYPE: u32 = 33405;
+pub const GL_MAX_WIDTH: u32 = 33406;
+pub const GL_MAX_HEIGHT: u32 = 33407;
+pub const GL_MAX_DEPTH: u32 = 33408;
+pub const GL_MAX_LAYERS: u32 = 33409;
+pub const GL_MAX_COMBINED_DIMENSIONS: u32 = 33410;
+pub const GL_COLOR_COMPONENTS: u32 = 33411;
+pub const GL_DEPTH_COMPONENTS: u32 = 33412;
+pub const GL_STENCIL_COMPONENTS: u32 = 33413;
+pub const GL_COLOR_RENDERABLE: u32 = 33414;
+pub const GL_DEPTH_RENDERABLE: u32 = 33415;
+pub const GL_STENCIL_RENDERABLE: u32 = 33416;
+pub const GL_FRAMEBUFFER_RENDERABLE: u32 = 33417;
+pub const GL_FRAMEBUFFER_RENDERABLE_LAYERED: u32 = 33418;
+pub const GL_FRAMEBUFFER_BLEND: u32 = 33419;
+pub const GL_READ_PIXELS: u32 = 33420;
+pub const GL_READ_PIXELS_FORMAT: u32 = 33421;
+pub const GL_READ_PIXELS_TYPE: u32 = 33422;
+pub const GL_TEXTURE_IMAGE_FORMAT: u32 = 33423;
+pub const GL_TEXTURE_IMAGE_TYPE: u32 = 33424;
+pub const GL_GET_TEXTURE_IMAGE_FORMAT: u32 = 33425;
+pub const GL_GET_TEXTURE_IMAGE_TYPE: u32 = 33426;
+pub const GL_MIPMAP: u32 = 33427;
+pub const GL_MANUAL_GENERATE_MIPMAP: u32 = 33428;
+pub const GL_AUTO_GENERATE_MIPMAP: u32 = 33429;
+pub const GL_COLOR_ENCODING: u32 = 33430;
+pub const GL_SRGB_READ: u32 = 33431;
+pub const GL_SRGB_WRITE: u32 = 33432;
+pub const GL_SRGB_DECODE_ARB: u32 = 33433;
+pub const GL_FILTER: u32 = 33434;
+pub const GL_VERTEX_TEXTURE: u32 = 33435;
+pub const GL_TESS_CONTROL_TEXTURE: u32 = 33436;
+pub const GL_TESS_EVALUATION_TEXTURE: u32 = 33437;
+pub const GL_GEOMETRY_TEXTURE: u32 = 33438;
+pub const GL_FRAGMENT_TEXTURE: u32 = 33439;
+pub const GL_COMPUTE_TEXTURE: u32 = 33440;
+pub const GL_TEXTURE_SHADOW: u32 = 33441;
+pub const GL_TEXTURE_GATHER: u32 = 33442;
+pub const GL_TEXTURE_GATHER_SHADOW: u32 = 33443;
+pub const GL_SHADER_IMAGE_LOAD: u32 = 33444;
+pub const GL_SHADER_IMAGE_STORE: u32 = 33445;
+pub const GL_SHADER_IMAGE_ATOMIC: u32 = 33446;
+pub const GL_IMAGE_TEXEL_SIZE: u32 = 33447;
+pub const GL_IMAGE_COMPATIBILITY_CLASS: u32 = 33448;
+pub const GL_IMAGE_PIXEL_FORMAT: u32 = 33449;
+pub const GL_IMAGE_PIXEL_TYPE: u32 = 33450;
+pub const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST: u32 = 33452;
+pub const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST: u32 = 33453;
+pub const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE: u32 = 33454;
+pub const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE: u32 = 33455;
+pub const GL_TEXTURE_COMPRESSED_BLOCK_WIDTH: u32 = 33457;
+pub const GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT: u32 = 33458;
+pub const GL_TEXTURE_COMPRESSED_BLOCK_SIZE: u32 = 33459;
+pub const GL_CLEAR_BUFFER: u32 = 33460;
+pub const GL_TEXTURE_VIEW: u32 = 33461;
+pub const GL_VIEW_COMPATIBILITY_CLASS: u32 = 33462;
+pub const GL_FULL_SUPPORT: u32 = 33463;
+pub const GL_CAVEAT_SUPPORT: u32 = 33464;
+pub const GL_IMAGE_CLASS_4_X_32: u32 = 33465;
+pub const GL_IMAGE_CLASS_2_X_32: u32 = 33466;
+pub const GL_IMAGE_CLASS_1_X_32: u32 = 33467;
+pub const GL_IMAGE_CLASS_4_X_16: u32 = 33468;
+pub const GL_IMAGE_CLASS_2_X_16: u32 = 33469;
+pub const GL_IMAGE_CLASS_1_X_16: u32 = 33470;
+pub const GL_IMAGE_CLASS_4_X_8: u32 = 33471;
+pub const GL_IMAGE_CLASS_2_X_8: u32 = 33472;
+pub const GL_IMAGE_CLASS_1_X_8: u32 = 33473;
+pub const GL_IMAGE_CLASS_11_11_10: u32 = 33474;
+pub const GL_IMAGE_CLASS_10_10_10_2: u32 = 33475;
+pub const GL_VIEW_CLASS_128_BITS: u32 = 33476;
+pub const GL_VIEW_CLASS_96_BITS: u32 = 33477;
+pub const GL_VIEW_CLASS_64_BITS: u32 = 33478;
+pub const GL_VIEW_CLASS_48_BITS: u32 = 33479;
+pub const GL_VIEW_CLASS_32_BITS: u32 = 33480;
+pub const GL_VIEW_CLASS_24_BITS: u32 = 33481;
+pub const GL_VIEW_CLASS_16_BITS: u32 = 33482;
+pub const GL_VIEW_CLASS_8_BITS: u32 = 33483;
+pub const GL_VIEW_CLASS_S3TC_DXT1_RGB: u32 = 33484;
+pub const GL_VIEW_CLASS_S3TC_DXT1_RGBA: u32 = 33485;
+pub const GL_VIEW_CLASS_S3TC_DXT3_RGBA: u32 = 33486;
+pub const GL_VIEW_CLASS_S3TC_DXT5_RGBA: u32 = 33487;
+pub const GL_VIEW_CLASS_RGTC1_RED: u32 = 33488;
+pub const GL_VIEW_CLASS_RGTC2_RG: u32 = 33489;
+pub const GL_VIEW_CLASS_BPTC_UNORM: u32 = 33490;
+pub const GL_VIEW_CLASS_BPTC_FLOAT: u32 = 33491;
+pub const GL_VERTEX_ATTRIB_BINDING: u32 = 33492;
+pub const GL_VERTEX_ATTRIB_RELATIVE_OFFSET: u32 = 33493;
+pub const GL_VERTEX_BINDING_DIVISOR: u32 = 33494;
+pub const GL_VERTEX_BINDING_OFFSET: u32 = 33495;
+pub const GL_VERTEX_BINDING_STRIDE: u32 = 33496;
+pub const GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: u32 = 33497;
+pub const GL_MAX_VERTEX_ATTRIB_BINDINGS: u32 = 33498;
+pub const GL_TEXTURE_VIEW_MIN_LEVEL: u32 = 33499;
+pub const GL_TEXTURE_VIEW_MIN_LEVEL_EXT: u32 = 33499;
+pub const GL_TEXTURE_VIEW_MIN_LEVEL_OES: u32 = 33499;
+pub const GL_TEXTURE_VIEW_NUM_LEVELS: u32 = 33500;
+pub const GL_TEXTURE_VIEW_NUM_LEVELS_EXT: u32 = 33500;
+pub const GL_TEXTURE_VIEW_NUM_LEVELS_OES: u32 = 33500;
+pub const GL_TEXTURE_VIEW_MIN_LAYER: u32 = 33501;
+pub const GL_TEXTURE_VIEW_MIN_LAYER_EXT: u32 = 33501;
+pub const GL_TEXTURE_VIEW_MIN_LAYER_OES: u32 = 33501;
+pub const GL_TEXTURE_VIEW_NUM_LAYERS: u32 = 33502;
+pub const GL_TEXTURE_VIEW_NUM_LAYERS_EXT: u32 = 33502;
+pub const GL_TEXTURE_VIEW_NUM_LAYERS_OES: u32 = 33502;
+pub const GL_TEXTURE_IMMUTABLE_LEVELS: u32 = 33503;
+pub const GL_BUFFER: u32 = 33504;
+pub const GL_BUFFER_KHR: u32 = 33504;
+pub const GL_SHADER: u32 = 33505;
+pub const GL_SHADER_KHR: u32 = 33505;
+pub const GL_PROGRAM: u32 = 33506;
+pub const GL_PROGRAM_KHR: u32 = 33506;
+pub const GL_QUERY: u32 = 33507;
+pub const GL_QUERY_KHR: u32 = 33507;
+pub const GL_PROGRAM_PIPELINE: u32 = 33508;
+pub const GL_PROGRAM_PIPELINE_KHR: u32 = 33508;
+pub const GL_MAX_VERTEX_ATTRIB_STRIDE: u32 = 33509;
+pub const GL_SAMPLER: u32 = 33510;
+pub const GL_SAMPLER_KHR: u32 = 33510;
+pub const GL_DISPLAY_LIST: u32 = 33511;
+pub const GL_MAX_LABEL_LENGTH: u32 = 33512;
+pub const GL_MAX_LABEL_LENGTH_KHR: u32 = 33512;
+pub const GL_NUM_SHADING_LANGUAGE_VERSIONS: u32 = 33513;
+pub const GL_QUERY_TARGET: u32 = 33514;
+pub const GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB: u32 = 33516;
+pub const GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB: u32 = 33517;
+pub const GL_VERTICES_SUBMITTED_ARB: u32 = 33518;
+pub const GL_PRIMITIVES_SUBMITTED_ARB: u32 = 33519;
+pub const GL_VERTEX_SHADER_INVOCATIONS_ARB: u32 = 33520;
+pub const GL_TESS_CONTROL_SHADER_PATCHES_ARB: u32 = 33521;
+pub const GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB: u32 = 33522;
+pub const GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB: u32 = 33523;
+pub const GL_FRAGMENT_SHADER_INVOCATIONS_ARB: u32 = 33524;
+pub const GL_COMPUTE_SHADER_INVOCATIONS_ARB: u32 = 33525;
+pub const GL_CLIPPING_INPUT_PRIMITIVES_ARB: u32 = 33526;
+pub const GL_CLIPPING_OUTPUT_PRIMITIVES_ARB: u32 = 33527;
+pub const GL_SPARSE_BUFFER_PAGE_SIZE_ARB: u32 = 33528;
+pub const GL_MAX_CULL_DISTANCES: u32 = 33529;
+pub const GL_MAX_CULL_DISTANCES_EXT: u32 = 33529;
+pub const GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES: u32 = 33530;
+pub const GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT: u32 = 33530;
+pub const GL_CONTEXT_RELEASE_BEHAVIOR: u32 = 33531;
+pub const GL_CONTEXT_RELEASE_BEHAVIOR_KHR: u32 = 33531;
+pub const GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH: u32 = 33532;
+pub const GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR: u32 = 33532;
+pub const GL_DEPTH_PASS_INSTRUMENT_SGIX: u32 = 33552;
+pub const GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX: u32 = 33553;
+pub const GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX: u32 = 33554;
+pub const GL_FRAGMENTS_INSTRUMENT_SGIX: u32 = 33555;
+pub const GL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX: u32 = 33556;
+pub const GL_FRAGMENTS_INSTRUMENT_MAX_SGIX: u32 = 33557;
+pub const GL_CONVOLUTION_HINT_SGIX: u32 = 33558;
+pub const GL_YCRCB_SGIX: u32 = 33560;
+pub const GL_YCRCBA_SGIX: u32 = 33561;
+pub const GL_UNPACK_COMPRESSED_SIZE_SGIX: u32 = 33562;
+pub const GL_PACK_MAX_COMPRESSED_SIZE_SGIX: u32 = 33563;
+pub const GL_PACK_COMPRESSED_SIZE_SGIX: u32 = 33564;
+pub const GL_SLIM8U_SGIX: u32 = 33565;
+pub const GL_SLIM10U_SGIX: u32 = 33566;
+pub const GL_SLIM12S_SGIX: u32 = 33567;
+pub const GL_ALPHA_MIN_SGIX: u32 = 33568;
+pub const GL_ALPHA_MAX_SGIX: u32 = 33569;
+pub const GL_SCALEBIAS_HINT_SGIX: u32 = 33570;
+pub const GL_ASYNC_MARKER_SGIX: u32 = 33577;
+pub const GL_PIXEL_TEX_GEN_MODE_SGIX: u32 = 33579;
+pub const GL_ASYNC_HISTOGRAM_SGIX: u32 = 33580;
+pub const GL_MAX_ASYNC_HISTOGRAM_SGIX: u32 = 33581;
+pub const GL_PIXEL_TRANSFORM_2D_EXT: u32 = 33584;
+pub const GL_PIXEL_MAG_FILTER_EXT: u32 = 33585;
+pub const GL_PIXEL_MIN_FILTER_EXT: u32 = 33586;
+pub const GL_PIXEL_CUBIC_WEIGHT_EXT: u32 = 33587;
+pub const GL_CUBIC_EXT: u32 = 33588;
+pub const GL_AVERAGE_EXT: u32 = 33589;
+pub const GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT: u32 = 33590;
+pub const GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT: u32 = 33591;
+pub const GL_PIXEL_TRANSFORM_2D_MATRIX_EXT: u32 = 33592;
+pub const GL_FRAGMENT_MATERIAL_EXT: u32 = 33609;
+pub const GL_FRAGMENT_NORMAL_EXT: u32 = 33610;
+pub const GL_FRAGMENT_COLOR_EXT: u32 = 33612;
+pub const GL_ATTENUATION_EXT: u32 = 33613;
+pub const GL_SHADOW_ATTENUATION_EXT: u32 = 33614;
+pub const GL_TEXTURE_APPLICATION_MODE_EXT: u32 = 33615;
+pub const GL_TEXTURE_LIGHT_EXT: u32 = 33616;
+pub const GL_TEXTURE_MATERIAL_FACE_EXT: u32 = 33617;
+pub const GL_TEXTURE_MATERIAL_PARAMETER_EXT: u32 = 33618;
+pub const GL_PIXEL_TEXTURE_SGIS: u32 = 33619;
+pub const GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS: u32 = 33620;
+pub const GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS: u32 = 33621;
+pub const GL_PIXEL_GROUP_COLOR_SGIS: u32 = 33622;
+pub const GL_LINE_QUALITY_HINT_SGIX: u32 = 33627;
+pub const GL_ASYNC_TEX_IMAGE_SGIX: u32 = 33628;
+pub const GL_ASYNC_DRAW_PIXELS_SGIX: u32 = 33629;
+pub const GL_ASYNC_READ_PIXELS_SGIX: u32 = 33630;
+pub const GL_MAX_ASYNC_TEX_IMAGE_SGIX: u32 = 33631;
+pub const GL_MAX_ASYNC_DRAW_PIXELS_SGIX: u32 = 33632;
+pub const GL_MAX_ASYNC_READ_PIXELS_SGIX: u32 = 33633;
+pub const GL_UNSIGNED_BYTE_2_3_3_REV: u32 = 33634;
+pub const GL_UNSIGNED_BYTE_2_3_3_REV_EXT: u32 = 33634;
+pub const GL_UNSIGNED_SHORT_5_6_5: u32 = 33635;
+pub const GL_UNSIGNED_SHORT_5_6_5_EXT: u32 = 33635;
+pub const GL_UNSIGNED_SHORT_5_6_5_REV: u32 = 33636;
+pub const GL_UNSIGNED_SHORT_5_6_5_REV_EXT: u32 = 33636;
+pub const GL_UNSIGNED_SHORT_4_4_4_4_REV: u32 = 33637;
+pub const GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT: u32 = 33637;
+pub const GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG: u32 = 33637;
+pub const GL_UNSIGNED_SHORT_1_5_5_5_REV: u32 = 33638;
+pub const GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT: u32 = 33638;
+pub const GL_UNSIGNED_INT_8_8_8_8_REV: u32 = 33639;
+pub const GL_UNSIGNED_INT_8_8_8_8_REV_EXT: u32 = 33639;
+pub const GL_UNSIGNED_INT_2_10_10_10_REV: u32 = 33640;
+pub const GL_UNSIGNED_INT_2_10_10_10_REV_EXT: u32 = 33640;
+pub const GL_TEXTURE_MAX_CLAMP_S_SGIX: u32 = 33641;
+pub const GL_TEXTURE_MAX_CLAMP_T_SGIX: u32 = 33642;
+pub const GL_TEXTURE_MAX_CLAMP_R_SGIX: u32 = 33643;
+pub const GL_MIRRORED_REPEAT: u32 = 33648;
+pub const GL_MIRRORED_REPEAT_ARB: u32 = 33648;
+pub const GL_MIRRORED_REPEAT_IBM: u32 = 33648;
+pub const GL_MIRRORED_REPEAT_OES: u32 = 33648;
+pub const GL_RGB_S3TC: u32 = 33696;
+pub const GL_RGB4_S3TC: u32 = 33697;
+pub const GL_RGBA_S3TC: u32 = 33698;
+pub const GL_RGBA4_S3TC: u32 = 33699;
+pub const GL_RGBA_DXT5_S3TC: u32 = 33700;
+pub const GL_RGBA4_DXT5_S3TC: u32 = 33701;
+pub const GL_VERTEX_PRECLIP_SGIX: u32 = 33774;
+pub const GL_VERTEX_PRECLIP_HINT_SGIX: u32 = 33775;
+pub const GL_COMPRESSED_RGB_S3TC_DXT1_EXT: u32 = 33776;
+pub const GL_COMPRESSED_RGBA_S3TC_DXT1_EXT: u32 = 33777;
+pub const GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE: u32 = 33778;
+pub const GL_COMPRESSED_RGBA_S3TC_DXT3_EXT: u32 = 33778;
+pub const GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE: u32 = 33779;
+pub const GL_COMPRESSED_RGBA_S3TC_DXT5_EXT: u32 = 33779;
+pub const GL_PARALLEL_ARRAYS_INTEL: u32 = 33780;
+pub const GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL: u32 = 33781;
+pub const GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL: u32 = 33782;
+pub const GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL: u32 = 33783;
+pub const GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL: u32 = 33784;
+pub const GL_PERFQUERY_DONOT_FLUSH_INTEL: u32 = 33785;
+pub const GL_PERFQUERY_FLUSH_INTEL: u32 = 33786;
+pub const GL_PERFQUERY_WAIT_INTEL: u32 = 33787;
+pub const GL_CONSERVATIVE_RASTERIZATION_INTEL: u32 = 33790;
+pub const GL_TEXTURE_MEMORY_LAYOUT_INTEL: u32 = 33791;
+pub const GL_FRAGMENT_LIGHTING_SGIX: u32 = 33792;
+pub const GL_FRAGMENT_COLOR_MATERIAL_SGIX: u32 = 33793;
+pub const GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX: u32 = 33794;
+pub const GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX: u32 = 33795;
+pub const GL_MAX_FRAGMENT_LIGHTS_SGIX: u32 = 33796;
+pub const GL_MAX_ACTIVE_LIGHTS_SGIX: u32 = 33797;
+pub const GL_CURRENT_RASTER_NORMAL_SGIX: u32 = 33798;
+pub const GL_LIGHT_ENV_MODE_SGIX: u32 = 33799;
+pub const GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX: u32 = 33800;
+pub const GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX: u32 = 33801;
+pub const GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX: u32 = 33802;
+pub const GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX: u32 = 33803;
+pub const GL_FRAGMENT_LIGHT0_SGIX: u32 = 33804;
+pub const GL_FRAGMENT_LIGHT1_SGIX: u32 = 33805;
+pub const GL_FRAGMENT_LIGHT2_SGIX: u32 = 33806;
+pub const GL_FRAGMENT_LIGHT3_SGIX: u32 = 33807;
+pub const GL_FRAGMENT_LIGHT4_SGIX: u32 = 33808;
+pub const GL_FRAGMENT_LIGHT5_SGIX: u32 = 33809;
+pub const GL_FRAGMENT_LIGHT6_SGIX: u32 = 33810;
+pub const GL_FRAGMENT_LIGHT7_SGIX: u32 = 33811;
+pub const GL_PACK_RESAMPLE_SGIX: u32 = 33838;
+pub const GL_UNPACK_RESAMPLE_SGIX: u32 = 33839;
+pub const GL_RESAMPLE_DECIMATE_SGIX: u32 = 33840;
+pub const GL_RESAMPLE_REPLICATE_SGIX: u32 = 33843;
+pub const GL_RESAMPLE_ZERO_FILL_SGIX: u32 = 33844;
+pub const GL_TANGENT_ARRAY_EXT: u32 = 33849;
+pub const GL_BINORMAL_ARRAY_EXT: u32 = 33850;
+pub const GL_CURRENT_TANGENT_EXT: u32 = 33851;
+pub const GL_CURRENT_BINORMAL_EXT: u32 = 33852;
+pub const GL_TANGENT_ARRAY_TYPE_EXT: u32 = 33854;
+pub const GL_TANGENT_ARRAY_STRIDE_EXT: u32 = 33855;
+pub const GL_BINORMAL_ARRAY_TYPE_EXT: u32 = 33856;
+pub const GL_BINORMAL_ARRAY_STRIDE_EXT: u32 = 33857;
+pub const GL_TANGENT_ARRAY_POINTER_EXT: u32 = 33858;
+pub const GL_BINORMAL_ARRAY_POINTER_EXT: u32 = 33859;
+pub const GL_MAP1_TANGENT_EXT: u32 = 33860;
+pub const GL_MAP2_TANGENT_EXT: u32 = 33861;
+pub const GL_MAP1_BINORMAL_EXT: u32 = 33862;
+pub const GL_MAP2_BINORMAL_EXT: u32 = 33863;
+pub const GL_NEAREST_CLIPMAP_NEAREST_SGIX: u32 = 33869;
+pub const GL_NEAREST_CLIPMAP_LINEAR_SGIX: u32 = 33870;
+pub const GL_LINEAR_CLIPMAP_NEAREST_SGIX: u32 = 33871;
+pub const GL_FOG_COORDINATE_SOURCE: u32 = 33872;
+pub const GL_FOG_COORDINATE_SOURCE_EXT: u32 = 33872;
+pub const GL_FOG_COORD_SRC: u32 = 33872;
+pub const GL_FOG_COORD: u32 = 33873;
+pub const GL_FOG_COORDINATE: u32 = 33873;
+pub const GL_FOG_COORDINATE_EXT: u32 = 33873;
+pub const GL_FRAGMENT_DEPTH: u32 = 33874;
+pub const GL_FRAGMENT_DEPTH_EXT: u32 = 33874;
+pub const GL_CURRENT_FOG_COORD: u32 = 33875;
+pub const GL_CURRENT_FOG_COORDINATE: u32 = 33875;
+pub const GL_CURRENT_FOG_COORDINATE_EXT: u32 = 33875;
+pub const GL_FOG_COORDINATE_ARRAY_TYPE: u32 = 33876;
+pub const GL_FOG_COORDINATE_ARRAY_TYPE_EXT: u32 = 33876;
+pub const GL_FOG_COORD_ARRAY_TYPE: u32 = 33876;
+pub const GL_FOG_COORDINATE_ARRAY_STRIDE: u32 = 33877;
+pub const GL_FOG_COORDINATE_ARRAY_STRIDE_EXT: u32 = 33877;
+pub const GL_FOG_COORD_ARRAY_STRIDE: u32 = 33877;
+pub const GL_FOG_COORDINATE_ARRAY_POINTER: u32 = 33878;
+pub const GL_FOG_COORDINATE_ARRAY_POINTER_EXT: u32 = 33878;
+pub const GL_FOG_COORD_ARRAY_POINTER: u32 = 33878;
+pub const GL_FOG_COORDINATE_ARRAY: u32 = 33879;
+pub const GL_FOG_COORDINATE_ARRAY_EXT: u32 = 33879;
+pub const GL_FOG_COORD_ARRAY: u32 = 33879;
+pub const GL_COLOR_SUM: u32 = 33880;
+pub const GL_COLOR_SUM_ARB: u32 = 33880;
+pub const GL_COLOR_SUM_EXT: u32 = 33880;
+pub const GL_CURRENT_SECONDARY_COLOR: u32 = 33881;
+pub const GL_CURRENT_SECONDARY_COLOR_EXT: u32 = 33881;
+pub const GL_SECONDARY_COLOR_ARRAY_SIZE: u32 = 33882;
+pub const GL_SECONDARY_COLOR_ARRAY_SIZE_EXT: u32 = 33882;
+pub const GL_SECONDARY_COLOR_ARRAY_TYPE: u32 = 33883;
+pub const GL_SECONDARY_COLOR_ARRAY_TYPE_EXT: u32 = 33883;
+pub const GL_SECONDARY_COLOR_ARRAY_STRIDE: u32 = 33884;
+pub const GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT: u32 = 33884;
+pub const GL_SECONDARY_COLOR_ARRAY_POINTER: u32 = 33885;
+pub const GL_SECONDARY_COLOR_ARRAY_POINTER_EXT: u32 = 33885;
+pub const GL_SECONDARY_COLOR_ARRAY: u32 = 33886;
+pub const GL_SECONDARY_COLOR_ARRAY_EXT: u32 = 33886;
+pub const GL_CURRENT_RASTER_SECONDARY_COLOR: u32 = 33887;
+pub const GL_ALIASED_POINT_SIZE_RANGE: u32 = 33901;
+pub const GL_ALIASED_LINE_WIDTH_RANGE: u32 = 33902;
+pub const GL_SCREEN_COORDINATES_REND: u32 = 33936;
+pub const GL_INVERTED_SCREEN_W_REND: u32 = 33937;
+pub const GL_TEXTURE0: u32 = 33984;
+pub const GL_TEXTURE0_ARB: u32 = 33984;
+pub const GL_TEXTURE1: u32 = 33985;
+pub const GL_TEXTURE1_ARB: u32 = 33985;
+pub const GL_TEXTURE2: u32 = 33986;
+pub const GL_TEXTURE2_ARB: u32 = 33986;
+pub const GL_TEXTURE3: u32 = 33987;
+pub const GL_TEXTURE3_ARB: u32 = 33987;
+pub const GL_TEXTURE4: u32 = 33988;
+pub const GL_TEXTURE4_ARB: u32 = 33988;
+pub const GL_TEXTURE5: u32 = 33989;
+pub const GL_TEXTURE5_ARB: u32 = 33989;
+pub const GL_TEXTURE6: u32 = 33990;
+pub const GL_TEXTURE6_ARB: u32 = 33990;
+pub const GL_TEXTURE7: u32 = 33991;
+pub const GL_TEXTURE7_ARB: u32 = 33991;
+pub const GL_TEXTURE8: u32 = 33992;
+pub const GL_TEXTURE8_ARB: u32 = 33992;
+pub const GL_TEXTURE9: u32 = 33993;
+pub const GL_TEXTURE9_ARB: u32 = 33993;
+pub const GL_TEXTURE10: u32 = 33994;
+pub const GL_TEXTURE10_ARB: u32 = 33994;
+pub const GL_TEXTURE11: u32 = 33995;
+pub const GL_TEXTURE11_ARB: u32 = 33995;
+pub const GL_TEXTURE12: u32 = 33996;
+pub const GL_TEXTURE12_ARB: u32 = 33996;
+pub const GL_TEXTURE13: u32 = 33997;
+pub const GL_TEXTURE13_ARB: u32 = 33997;
+pub const GL_TEXTURE14: u32 = 33998;
+pub const GL_TEXTURE14_ARB: u32 = 33998;
+pub const GL_TEXTURE15: u32 = 33999;
+pub const GL_TEXTURE15_ARB: u32 = 33999;
+pub const GL_TEXTURE16: u32 = 34000;
+pub const GL_TEXTURE16_ARB: u32 = 34000;
+pub const GL_TEXTURE17: u32 = 34001;
+pub const GL_TEXTURE17_ARB: u32 = 34001;
+pub const GL_TEXTURE18: u32 = 34002;
+pub const GL_TEXTURE18_ARB: u32 = 34002;
+pub const GL_TEXTURE19: u32 = 34003;
+pub const GL_TEXTURE19_ARB: u32 = 34003;
+pub const GL_TEXTURE20: u32 = 34004;
+pub const GL_TEXTURE20_ARB: u32 = 34004;
+pub const GL_TEXTURE21: u32 = 34005;
+pub const GL_TEXTURE21_ARB: u32 = 34005;
+pub const GL_TEXTURE22: u32 = 34006;
+pub const GL_TEXTURE22_ARB: u32 = 34006;
+pub const GL_TEXTURE23: u32 = 34007;
+pub const GL_TEXTURE23_ARB: u32 = 34007;
+pub const GL_TEXTURE24: u32 = 34008;
+pub const GL_TEXTURE24_ARB: u32 = 34008;
+pub const GL_TEXTURE25: u32 = 34009;
+pub const GL_TEXTURE25_ARB: u32 = 34009;
+pub const GL_TEXTURE26: u32 = 34010;
+pub const GL_TEXTURE26_ARB: u32 = 34010;
+pub const GL_TEXTURE27: u32 = 34011;
+pub const GL_TEXTURE27_ARB: u32 = 34011;
+pub const GL_TEXTURE28: u32 = 34012;
+pub const GL_TEXTURE28_ARB: u32 = 34012;
+pub const GL_TEXTURE29: u32 = 34013;
+pub const GL_TEXTURE29_ARB: u32 = 34013;
+pub const GL_TEXTURE30: u32 = 34014;
+pub const GL_TEXTURE30_ARB: u32 = 34014;
+pub const GL_TEXTURE31: u32 = 34015;
+pub const GL_TEXTURE31_ARB: u32 = 34015;
+pub const GL_ACTIVE_TEXTURE: u32 = 34016;
+pub const GL_ACTIVE_TEXTURE_ARB: u32 = 34016;
+pub const GL_CLIENT_ACTIVE_TEXTURE: u32 = 34017;
+pub const GL_CLIENT_ACTIVE_TEXTURE_ARB: u32 = 34017;
+pub const GL_MAX_TEXTURE_UNITS: u32 = 34018;
+pub const GL_MAX_TEXTURE_UNITS_ARB: u32 = 34018;
+pub const GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV: u32 = 34019;
+pub const GL_TRANSPOSE_MODELVIEW_MATRIX: u32 = 34019;
+pub const GL_TRANSPOSE_MODELVIEW_MATRIX_ARB: u32 = 34019;
+pub const GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV: u32 = 34020;
+pub const GL_TRANSPOSE_PROJECTION_MATRIX: u32 = 34020;
+pub const GL_TRANSPOSE_PROJECTION_MATRIX_ARB: u32 = 34020;
+pub const GL_TRANSPOSE_TEXTURE_MATRIX: u32 = 34021;
+pub const GL_TRANSPOSE_TEXTURE_MATRIX_ARB: u32 = 34021;
+pub const GL_TRANSPOSE_COLOR_MATRIX: u32 = 34022;
+pub const GL_TRANSPOSE_COLOR_MATRIX_ARB: u32 = 34022;
+pub const GL_SUBTRACT: u32 = 34023;
+pub const GL_SUBTRACT_ARB: u32 = 34023;
+pub const GL_MAX_RENDERBUFFER_SIZE: u32 = 34024;
+pub const GL_MAX_RENDERBUFFER_SIZE_EXT: u32 = 34024;
+pub const GL_MAX_RENDERBUFFER_SIZE_OES: u32 = 34024;
+pub const GL_COMPRESSED_ALPHA: u32 = 34025;
+pub const GL_COMPRESSED_ALPHA_ARB: u32 = 34025;
+pub const GL_COMPRESSED_LUMINANCE: u32 = 34026;
+pub const GL_COMPRESSED_LUMINANCE_ARB: u32 = 34026;
+pub const GL_COMPRESSED_LUMINANCE_ALPHA: u32 = 34027;
+pub const GL_COMPRESSED_LUMINANCE_ALPHA_ARB: u32 = 34027;
+pub const GL_COMPRESSED_INTENSITY: u32 = 34028;
+pub const GL_COMPRESSED_INTENSITY_ARB: u32 = 34028;
+pub const GL_COMPRESSED_RGB: u32 = 34029;
+pub const GL_COMPRESSED_RGB_ARB: u32 = 34029;
+pub const GL_COMPRESSED_RGBA: u32 = 34030;
+pub const GL_COMPRESSED_RGBA_ARB: u32 = 34030;
+pub const GL_TEXTURE_COMPRESSION_HINT: u32 = 34031;
+pub const GL_TEXTURE_COMPRESSION_HINT_ARB: u32 = 34031;
+pub const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER: u32 = 34032;
+pub const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER: u32 = 34033;
+pub const GL_ALL_COMPLETED_NV: u32 = 34034;
+pub const GL_FENCE_STATUS_NV: u32 = 34035;
+pub const GL_FENCE_CONDITION_NV: u32 = 34036;
+pub const GL_TEXTURE_RECTANGLE: u32 = 34037;
+pub const GL_TEXTURE_RECTANGLE_ARB: u32 = 34037;
+pub const GL_TEXTURE_RECTANGLE_NV: u32 = 34037;
+pub const GL_TEXTURE_BINDING_RECTANGLE: u32 = 34038;
+pub const GL_TEXTURE_BINDING_RECTANGLE_ARB: u32 = 34038;
+pub const GL_TEXTURE_BINDING_RECTANGLE_NV: u32 = 34038;
+pub const GL_PROXY_TEXTURE_RECTANGLE: u32 = 34039;
+pub const GL_PROXY_TEXTURE_RECTANGLE_ARB: u32 = 34039;
+pub const GL_PROXY_TEXTURE_RECTANGLE_NV: u32 = 34039;
+pub const GL_MAX_RECTANGLE_TEXTURE_SIZE: u32 = 34040;
+pub const GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB: u32 = 34040;
+pub const GL_MAX_RECTANGLE_TEXTURE_SIZE_NV: u32 = 34040;
+pub const GL_DEPTH_STENCIL: u32 = 34041;
+pub const GL_DEPTH_STENCIL_EXT: u32 = 34041;
+pub const GL_DEPTH_STENCIL_NV: u32 = 34041;
+pub const GL_DEPTH_STENCIL_OES: u32 = 34041;
+pub const GL_UNSIGNED_INT_24_8: u32 = 34042;
+pub const GL_UNSIGNED_INT_24_8_EXT: u32 = 34042;
+pub const GL_UNSIGNED_INT_24_8_NV: u32 = 34042;
+pub const GL_UNSIGNED_INT_24_8_OES: u32 = 34042;
+pub const GL_MAX_TEXTURE_LOD_BIAS: u32 = 34045;
+pub const GL_MAX_TEXTURE_LOD_BIAS_EXT: u32 = 34045;
+pub const GL_TEXTURE_MAX_ANISOTROPY_EXT: u32 = 34046;
+pub const GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: u32 = 34047;
+pub const GL_TEXTURE_FILTER_CONTROL: u32 = 34048;
+pub const GL_TEXTURE_FILTER_CONTROL_EXT: u32 = 34048;
+pub const GL_TEXTURE_LOD_BIAS: u32 = 34049;
+pub const GL_TEXTURE_LOD_BIAS_EXT: u32 = 34049;
+pub const GL_MODELVIEW1_STACK_DEPTH_EXT: u32 = 34050;
+pub const GL_COMBINE4_NV: u32 = 34051;
+pub const GL_MAX_SHININESS_NV: u32 = 34052;
+pub const GL_MAX_SPOT_EXPONENT_NV: u32 = 34053;
+pub const GL_MODELVIEW1_MATRIX_EXT: u32 = 34054;
+pub const GL_INCR_WRAP: u32 = 34055;
+pub const GL_INCR_WRAP_EXT: u32 = 34055;
+pub const GL_INCR_WRAP_OES: u32 = 34055;
+pub const GL_DECR_WRAP: u32 = 34056;
+pub const GL_DECR_WRAP_EXT: u32 = 34056;
+pub const GL_DECR_WRAP_OES: u32 = 34056;
+pub const GL_VERTEX_WEIGHTING_EXT: u32 = 34057;
+pub const GL_MODELVIEW1_ARB: u32 = 34058;
+pub const GL_MODELVIEW1_EXT: u32 = 34058;
+pub const GL_CURRENT_VERTEX_WEIGHT_EXT: u32 = 34059;
+pub const GL_VERTEX_WEIGHT_ARRAY_EXT: u32 = 34060;
+pub const GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT: u32 = 34061;
+pub const GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT: u32 = 34062;
+pub const GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT: u32 = 34063;
+pub const GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT: u32 = 34064;
+pub const GL_NORMAL_MAP: u32 = 34065;
+pub const GL_NORMAL_MAP_ARB: u32 = 34065;
+pub const GL_NORMAL_MAP_EXT: u32 = 34065;
+pub const GL_NORMAL_MAP_NV: u32 = 34065;
+pub const GL_NORMAL_MAP_OES: u32 = 34065;
+pub const GL_REFLECTION_MAP: u32 = 34066;
+pub const GL_REFLECTION_MAP_ARB: u32 = 34066;
+pub const GL_REFLECTION_MAP_EXT: u32 = 34066;
+pub const GL_REFLECTION_MAP_NV: u32 = 34066;
+pub const GL_REFLECTION_MAP_OES: u32 = 34066;
+pub const GL_TEXTURE_CUBE_MAP: u32 = 34067;
+pub const GL_TEXTURE_CUBE_MAP_ARB: u32 = 34067;
+pub const GL_TEXTURE_CUBE_MAP_EXT: u32 = 34067;
+pub const GL_TEXTURE_CUBE_MAP_OES: u32 = 34067;
+pub const GL_TEXTURE_BINDING_CUBE_MAP: u32 = 34068;
+pub const GL_TEXTURE_BINDING_CUBE_MAP_ARB: u32 = 34068;
+pub const GL_TEXTURE_BINDING_CUBE_MAP_EXT: u32 = 34068;
+pub const GL_TEXTURE_BINDING_CUBE_MAP_OES: u32 = 34068;
+pub const GL_TEXTURE_CUBE_MAP_POSITIVE_X: u32 = 34069;
+pub const GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB: u32 = 34069;
+pub const GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT: u32 = 34069;
+pub const GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES: u32 = 34069;
+pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_X: u32 = 34070;
+pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB: u32 = 34070;
+pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT: u32 = 34070;
+pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES: u32 = 34070;
+pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Y: u32 = 34071;
+pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB: u32 = 34071;
+pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT: u32 = 34071;
+pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES: u32 = 34071;
+pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: u32 = 34072;
+pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB: u32 = 34072;
+pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT: u32 = 34072;
+pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES: u32 = 34072;
+pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Z: u32 = 34073;
+pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB: u32 = 34073;
+pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT: u32 = 34073;
+pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES: u32 = 34073;
+pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: u32 = 34074;
+pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB: u32 = 34074;
+pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT: u32 = 34074;
+pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES: u32 = 34074;
+pub const GL_PROXY_TEXTURE_CUBE_MAP: u32 = 34075;
+pub const GL_PROXY_TEXTURE_CUBE_MAP_ARB: u32 = 34075;
+pub const GL_PROXY_TEXTURE_CUBE_MAP_EXT: u32 = 34075;
+pub const GL_MAX_CUBE_MAP_TEXTURE_SIZE: u32 = 34076;
+pub const GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB: u32 = 34076;
+pub const GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT: u32 = 34076;
+pub const GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES: u32 = 34076;
+pub const GL_VERTEX_ARRAY_RANGE_APPLE: u32 = 34077;
+pub const GL_VERTEX_ARRAY_RANGE_NV: u32 = 34077;
+pub const GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE: u32 = 34078;
+pub const GL_VERTEX_ARRAY_RANGE_LENGTH_NV: u32 = 34078;
+pub const GL_VERTEX_ARRAY_RANGE_VALID_NV: u32 = 34079;
+pub const GL_VERTEX_ARRAY_STORAGE_HINT_APPLE: u32 = 34079;
+pub const GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV: u32 = 34080;
+pub const GL_VERTEX_ARRAY_RANGE_POINTER_APPLE: u32 = 34081;
+pub const GL_VERTEX_ARRAY_RANGE_POINTER_NV: u32 = 34081;
+pub const GL_REGISTER_COMBINERS_NV: u32 = 34082;
+pub const GL_VARIABLE_A_NV: u32 = 34083;
+pub const GL_VARIABLE_B_NV: u32 = 34084;
+pub const GL_VARIABLE_C_NV: u32 = 34085;
+pub const GL_VARIABLE_D_NV: u32 = 34086;
+pub const GL_VARIABLE_E_NV: u32 = 34087;
+pub const GL_VARIABLE_F_NV: u32 = 34088;
+pub const GL_VARIABLE_G_NV: u32 = 34089;
+pub const GL_CONSTANT_COLOR0_NV: u32 = 34090;
+pub const GL_CONSTANT_COLOR1_NV: u32 = 34091;
+pub const GL_PRIMARY_COLOR_NV: u32 = 34092;
+pub const GL_SECONDARY_COLOR_NV: u32 = 34093;
+pub const GL_SPARE0_NV: u32 = 34094;
+pub const GL_SPARE1_NV: u32 = 34095;
+pub const GL_DISCARD_NV: u32 = 34096;
+pub const GL_E_TIMES_F_NV: u32 = 34097;
+pub const GL_SPARE0_PLUS_SECONDARY_COLOR_NV: u32 = 34098;
+pub const GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV: u32 = 34099;
+pub const GL_MULTISAMPLE_FILTER_HINT_NV: u32 = 34100;
+pub const GL_PER_STAGE_CONSTANTS_NV: u32 = 34101;
+pub const GL_UNSIGNED_IDENTITY_NV: u32 = 34102;
+pub const GL_UNSIGNED_INVERT_NV: u32 = 34103;
+pub const GL_EXPAND_NORMAL_NV: u32 = 34104;
+pub const GL_EXPAND_NEGATE_NV: u32 = 34105;
+pub const GL_HALF_BIAS_NORMAL_NV: u32 = 34106;
+pub const GL_HALF_BIAS_NEGATE_NV: u32 = 34107;
+pub const GL_SIGNED_IDENTITY_NV: u32 = 34108;
+pub const GL_SIGNED_NEGATE_NV: u32 = 34109;
+pub const GL_SCALE_BY_TWO_NV: u32 = 34110;
+pub const GL_SCALE_BY_FOUR_NV: u32 = 34111;
+pub const GL_SCALE_BY_ONE_HALF_NV: u32 = 34112;
+pub const GL_BIAS_BY_NEGATIVE_ONE_HALF_NV: u32 = 34113;
+pub const GL_COMBINER_INPUT_NV: u32 = 34114;
+pub const GL_COMBINER_MAPPING_NV: u32 = 34115;
+pub const GL_COMBINER_COMPONENT_USAGE_NV: u32 = 34116;
+pub const GL_COMBINER_AB_DOT_PRODUCT_NV: u32 = 34117;
+pub const GL_COMBINER_CD_DOT_PRODUCT_NV: u32 = 34118;
+pub const GL_COMBINER_MUX_SUM_NV: u32 = 34119;
+pub const GL_COMBINER_SCALE_NV: u32 = 34120;
+pub const GL_COMBINER_BIAS_NV: u32 = 34121;
+pub const GL_COMBINER_AB_OUTPUT_NV: u32 = 34122;
+pub const GL_COMBINER_CD_OUTPUT_NV: u32 = 34123;
+pub const GL_COMBINER_SUM_OUTPUT_NV: u32 = 34124;
+pub const GL_MAX_GENERAL_COMBINERS_NV: u32 = 34125;
+pub const GL_NUM_GENERAL_COMBINERS_NV: u32 = 34126;
+pub const GL_COLOR_SUM_CLAMP_NV: u32 = 34127;
+pub const GL_COMBINER0_NV: u32 = 34128;
+pub const GL_COMBINER1_NV: u32 = 34129;
+pub const GL_COMBINER2_NV: u32 = 34130;
+pub const GL_COMBINER3_NV: u32 = 34131;
+pub const GL_COMBINER4_NV: u32 = 34132;
+pub const GL_COMBINER5_NV: u32 = 34133;
+pub const GL_COMBINER6_NV: u32 = 34134;
+pub const GL_COMBINER7_NV: u32 = 34135;
+pub const GL_PRIMITIVE_RESTART_NV: u32 = 34136;
+pub const GL_PRIMITIVE_RESTART_INDEX_NV: u32 = 34137;
+pub const GL_FOG_DISTANCE_MODE_NV: u32 = 34138;
+pub const GL_EYE_RADIAL_NV: u32 = 34139;
+pub const GL_EYE_PLANE_ABSOLUTE_NV: u32 = 34140;
+pub const GL_EMBOSS_LIGHT_NV: u32 = 34141;
+pub const GL_EMBOSS_CONSTANT_NV: u32 = 34142;
+pub const GL_EMBOSS_MAP_NV: u32 = 34143;
+pub const GL_RED_MIN_CLAMP_INGR: u32 = 34144;
+pub const GL_GREEN_MIN_CLAMP_INGR: u32 = 34145;
+pub const GL_BLUE_MIN_CLAMP_INGR: u32 = 34146;
+pub const GL_ALPHA_MIN_CLAMP_INGR: u32 = 34147;
+pub const GL_RED_MAX_CLAMP_INGR: u32 = 34148;
+pub const GL_GREEN_MAX_CLAMP_INGR: u32 = 34149;
+pub const GL_BLUE_MAX_CLAMP_INGR: u32 = 34150;
+pub const GL_ALPHA_MAX_CLAMP_INGR: u32 = 34151;
+pub const GL_INTERLACE_READ_INGR: u32 = 34152;
+pub const GL_COMBINE: u32 = 34160;
+pub const GL_COMBINE_ARB: u32 = 34160;
+pub const GL_COMBINE_EXT: u32 = 34160;
+pub const GL_COMBINE_RGB: u32 = 34161;
+pub const GL_COMBINE_RGB_ARB: u32 = 34161;
+pub const GL_COMBINE_RGB_EXT: u32 = 34161;
+pub const GL_COMBINE_ALPHA: u32 = 34162;
+pub const GL_COMBINE_ALPHA_ARB: u32 = 34162;
+pub const GL_COMBINE_ALPHA_EXT: u32 = 34162;
+pub const GL_RGB_SCALE: u32 = 34163;
+pub const GL_RGB_SCALE_ARB: u32 = 34163;
+pub const GL_RGB_SCALE_EXT: u32 = 34163;
+pub const GL_ADD_SIGNED: u32 = 34164;
+pub const GL_ADD_SIGNED_ARB: u32 = 34164;
+pub const GL_ADD_SIGNED_EXT: u32 = 34164;
+pub const GL_INTERPOLATE: u32 = 34165;
+pub const GL_INTERPOLATE_ARB: u32 = 34165;
+pub const GL_INTERPOLATE_EXT: u32 = 34165;
+pub const GL_CONSTANT: u32 = 34166;
+pub const GL_CONSTANT_ARB: u32 = 34166;
+pub const GL_CONSTANT_EXT: u32 = 34166;
+pub const GL_CONSTANT_NV: u32 = 34166;
+pub const GL_PRIMARY_COLOR: u32 = 34167;
+pub const GL_PRIMARY_COLOR_ARB: u32 = 34167;
+pub const GL_PRIMARY_COLOR_EXT: u32 = 34167;
+pub const GL_PREVIOUS: u32 = 34168;
+pub const GL_PREVIOUS_ARB: u32 = 34168;
+pub const GL_PREVIOUS_EXT: u32 = 34168;
+pub const GL_SOURCE0_RGB: u32 = 34176;
+pub const GL_SOURCE0_RGB_ARB: u32 = 34176;
+pub const GL_SOURCE0_RGB_EXT: u32 = 34176;
+pub const GL_SRC0_RGB: u32 = 34176;
+pub const GL_SOURCE1_RGB: u32 = 34177;
+pub const GL_SOURCE1_RGB_ARB: u32 = 34177;
+pub const GL_SOURCE1_RGB_EXT: u32 = 34177;
+pub const GL_SRC1_RGB: u32 = 34177;
+pub const GL_SOURCE2_RGB: u32 = 34178;
+pub const GL_SOURCE2_RGB_ARB: u32 = 34178;
+pub const GL_SOURCE2_RGB_EXT: u32 = 34178;
+pub const GL_SRC2_RGB: u32 = 34178;
+pub const GL_SOURCE3_RGB_NV: u32 = 34179;
+pub const GL_SOURCE0_ALPHA: u32 = 34184;
+pub const GL_SOURCE0_ALPHA_ARB: u32 = 34184;
+pub const GL_SOURCE0_ALPHA_EXT: u32 = 34184;
+pub const GL_SRC0_ALPHA: u32 = 34184;
+pub const GL_SOURCE1_ALPHA: u32 = 34185;
+pub const GL_SOURCE1_ALPHA_ARB: u32 = 34185;
+pub const GL_SOURCE1_ALPHA_EXT: u32 = 34185;
+pub const GL_SRC1_ALPHA: u32 = 34185;
+pub const GL_SRC1_ALPHA_EXT: u32 = 34185;
+pub const GL_SOURCE2_ALPHA: u32 = 34186;
+pub const GL_SOURCE2_ALPHA_ARB: u32 = 34186;
+pub const GL_SOURCE2_ALPHA_EXT: u32 = 34186;
+pub const GL_SRC2_ALPHA: u32 = 34186;
+pub const GL_SOURCE3_ALPHA_NV: u32 = 34187;
+pub const GL_OPERAND0_RGB: u32 = 34192;
+pub const GL_OPERAND0_RGB_ARB: u32 = 34192;
+pub const GL_OPERAND0_RGB_EXT: u32 = 34192;
+pub const GL_OPERAND1_RGB: u32 = 34193;
+pub const GL_OPERAND1_RGB_ARB: u32 = 34193;
+pub const GL_OPERAND1_RGB_EXT: u32 = 34193;
+pub const GL_OPERAND2_RGB: u32 = 34194;
+pub const GL_OPERAND2_RGB_ARB: u32 = 34194;
+pub const GL_OPERAND2_RGB_EXT: u32 = 34194;
+pub const GL_OPERAND3_RGB_NV: u32 = 34195;
+pub const GL_OPERAND0_ALPHA: u32 = 34200;
+pub const GL_OPERAND0_ALPHA_ARB: u32 = 34200;
+pub const GL_OPERAND0_ALPHA_EXT: u32 = 34200;
+pub const GL_OPERAND1_ALPHA: u32 = 34201;
+pub const GL_OPERAND1_ALPHA_ARB: u32 = 34201;
+pub const GL_OPERAND1_ALPHA_EXT: u32 = 34201;
+pub const GL_OPERAND2_ALPHA: u32 = 34202;
+pub const GL_OPERAND2_ALPHA_ARB: u32 = 34202;
+pub const GL_OPERAND2_ALPHA_EXT: u32 = 34202;
+pub const GL_OPERAND3_ALPHA_NV: u32 = 34203;
+pub const GL_PACK_SUBSAMPLE_RATE_SGIX: u32 = 34208;
+pub const GL_UNPACK_SUBSAMPLE_RATE_SGIX: u32 = 34209;
+pub const GL_PIXEL_SUBSAMPLE_4444_SGIX: u32 = 34210;
+pub const GL_PIXEL_SUBSAMPLE_2424_SGIX: u32 = 34211;
+pub const GL_PIXEL_SUBSAMPLE_4242_SGIX: u32 = 34212;
+pub const GL_PERTURB_EXT: u32 = 34222;
+pub const GL_TEXTURE_NORMAL_EXT: u32 = 34223;
+pub const GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE: u32 = 34224;
+pub const GL_TRANSFORM_HINT_APPLE: u32 = 34225;
+pub const GL_UNPACK_CLIENT_STORAGE_APPLE: u32 = 34226;
+pub const GL_BUFFER_OBJECT_APPLE: u32 = 34227;
+pub const GL_STORAGE_CLIENT_APPLE: u32 = 34228;
+pub const GL_VERTEX_ARRAY_BINDING: u32 = 34229;
+pub const GL_VERTEX_ARRAY_BINDING_APPLE: u32 = 34229;
+pub const GL_VERTEX_ARRAY_BINDING_OES: u32 = 34229;
+pub const GL_TEXTURE_RANGE_LENGTH_APPLE: u32 = 34231;
+pub const GL_TEXTURE_RANGE_POINTER_APPLE: u32 = 34232;
+pub const GL_YCBCR_422_APPLE: u32 = 34233;
+pub const GL_UNSIGNED_SHORT_8_8_APPLE: u32 = 34234;
+pub const GL_UNSIGNED_SHORT_8_8_MESA: u32 = 34234;
+pub const GL_UNSIGNED_SHORT_8_8_REV_APPLE: u32 = 34235;
+pub const GL_UNSIGNED_SHORT_8_8_REV_MESA: u32 = 34235;
+pub const GL_TEXTURE_STORAGE_HINT_APPLE: u32 = 34236;
+pub const GL_STORAGE_PRIVATE_APPLE: u32 = 34237;
+pub const GL_STORAGE_CACHED_APPLE: u32 = 34238;
+pub const GL_STORAGE_SHARED_APPLE: u32 = 34239;
+pub const GL_REPLACEMENT_CODE_ARRAY_SUN: u32 = 34240;
+pub const GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN: u32 = 34241;
+pub const GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN: u32 = 34242;
+pub const GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN: u32 = 34243;
+pub const GL_R1UI_V3F_SUN: u32 = 34244;
+pub const GL_R1UI_C4UB_V3F_SUN: u32 = 34245;
+pub const GL_R1UI_C3F_V3F_SUN: u32 = 34246;
+pub const GL_R1UI_N3F_V3F_SUN: u32 = 34247;
+pub const GL_R1UI_C4F_N3F_V3F_SUN: u32 = 34248;
+pub const GL_R1UI_T2F_V3F_SUN: u32 = 34249;
+pub const GL_R1UI_T2F_N3F_V3F_SUN: u32 = 34250;
+pub const GL_R1UI_T2F_C4F_N3F_V3F_SUN: u32 = 34251;
+pub const GL_SLICE_ACCUM_SUN: u32 = 34252;
+pub const GL_QUAD_MESH_SUN: u32 = 34324;
+pub const GL_TRIANGLE_MESH_SUN: u32 = 34325;
+pub const GL_VERTEX_PROGRAM_ARB: u32 = 34336;
+pub const GL_VERTEX_PROGRAM_NV: u32 = 34336;
+pub const GL_VERTEX_STATE_PROGRAM_NV: u32 = 34337;
+pub const GL_VERTEX_ATTRIB_ARRAY_ENABLED: u32 = 34338;
+pub const GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB: u32 = 34338;
+pub const GL_ATTRIB_ARRAY_SIZE_NV: u32 = 34339;
+pub const GL_VERTEX_ATTRIB_ARRAY_SIZE: u32 = 34339;
+pub const GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB: u32 = 34339;
+pub const GL_ATTRIB_ARRAY_STRIDE_NV: u32 = 34340;
+pub const GL_VERTEX_ATTRIB_ARRAY_STRIDE: u32 = 34340;
+pub const GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB: u32 = 34340;
+pub const GL_ATTRIB_ARRAY_TYPE_NV: u32 = 34341;
+pub const GL_VERTEX_ATTRIB_ARRAY_TYPE: u32 = 34341;
+pub const GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB: u32 = 34341;
+pub const GL_CURRENT_ATTRIB_NV: u32 = 34342;
+pub const GL_CURRENT_VERTEX_ATTRIB: u32 = 34342;
+pub const GL_CURRENT_VERTEX_ATTRIB_ARB: u32 = 34342;
+pub const GL_PROGRAM_LENGTH_ARB: u32 = 34343;
+pub const GL_PROGRAM_LENGTH_NV: u32 = 34343;
+pub const GL_PROGRAM_STRING_ARB: u32 = 34344;
+pub const GL_PROGRAM_STRING_NV: u32 = 34344;
+pub const GL_MODELVIEW_PROJECTION_NV: u32 = 34345;
+pub const GL_IDENTITY_NV: u32 = 34346;
+pub const GL_INVERSE_NV: u32 = 34347;
+pub const GL_TRANSPOSE_NV: u32 = 34348;
+pub const GL_INVERSE_TRANSPOSE_NV: u32 = 34349;
+pub const GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB: u32 = 34350;
+pub const GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV: u32 = 34350;
+pub const GL_MAX_PROGRAM_MATRICES_ARB: u32 = 34351;
+pub const GL_MAX_TRACK_MATRICES_NV: u32 = 34351;
+pub const GL_MATRIX0_NV: u32 = 34352;
+pub const GL_MATRIX1_NV: u32 = 34353;
+pub const GL_MATRIX2_NV: u32 = 34354;
+pub const GL_MATRIX3_NV: u32 = 34355;
+pub const GL_MATRIX4_NV: u32 = 34356;
+pub const GL_MATRIX5_NV: u32 = 34357;
+pub const GL_MATRIX6_NV: u32 = 34358;
+pub const GL_MATRIX7_NV: u32 = 34359;
+pub const GL_CURRENT_MATRIX_STACK_DEPTH_ARB: u32 = 34368;
+pub const GL_CURRENT_MATRIX_STACK_DEPTH_NV: u32 = 34368;
+pub const GL_CURRENT_MATRIX_ARB: u32 = 34369;
+pub const GL_CURRENT_MATRIX_NV: u32 = 34369;
+pub const GL_PROGRAM_POINT_SIZE: u32 = 34370;
+pub const GL_PROGRAM_POINT_SIZE_ARB: u32 = 34370;
+pub const GL_PROGRAM_POINT_SIZE_EXT: u32 = 34370;
+pub const GL_VERTEX_PROGRAM_POINT_SIZE: u32 = 34370;
+pub const GL_VERTEX_PROGRAM_POINT_SIZE_ARB: u32 = 34370;
+pub const GL_VERTEX_PROGRAM_POINT_SIZE_NV: u32 = 34370;
+pub const GL_VERTEX_PROGRAM_TWO_SIDE: u32 = 34371;
+pub const GL_VERTEX_PROGRAM_TWO_SIDE_ARB: u32 = 34371;
+pub const GL_VERTEX_PROGRAM_TWO_SIDE_NV: u32 = 34371;
+pub const GL_PROGRAM_PARAMETER_NV: u32 = 34372;
+pub const GL_ATTRIB_ARRAY_POINTER_NV: u32 = 34373;
+pub const GL_VERTEX_ATTRIB_ARRAY_POINTER: u32 = 34373;
+pub const GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB: u32 = 34373;
+pub const GL_PROGRAM_TARGET_NV: u32 = 34374;
+pub const GL_PROGRAM_RESIDENT_NV: u32 = 34375;
+pub const GL_TRACK_MATRIX_NV: u32 = 34376;
+pub const GL_TRACK_MATRIX_TRANSFORM_NV: u32 = 34377;
+pub const GL_VERTEX_PROGRAM_BINDING_NV: u32 = 34378;
+pub const GL_PROGRAM_ERROR_POSITION_ARB: u32 = 34379;
+pub const GL_PROGRAM_ERROR_POSITION_NV: u32 = 34379;
+pub const GL_OFFSET_TEXTURE_RECTANGLE_NV: u32 = 34380;
+pub const GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV: u32 = 34381;
+pub const GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV: u32 = 34382;
+pub const GL_DEPTH_CLAMP: u32 = 34383;
+pub const GL_DEPTH_CLAMP_NV: u32 = 34383;
+pub const GL_VERTEX_ATTRIB_ARRAY0_NV: u32 = 34384;
+pub const GL_VERTEX_ATTRIB_ARRAY1_NV: u32 = 34385;
+pub const GL_VERTEX_ATTRIB_ARRAY2_NV: u32 = 34386;
+pub const GL_VERTEX_ATTRIB_ARRAY3_NV: u32 = 34387;
+pub const GL_VERTEX_ATTRIB_ARRAY4_NV: u32 = 34388;
+pub const GL_VERTEX_ATTRIB_ARRAY5_NV: u32 = 34389;
+pub const GL_VERTEX_ATTRIB_ARRAY6_NV: u32 = 34390;
+pub const GL_VERTEX_ATTRIB_ARRAY7_NV: u32 = 34391;
+pub const GL_VERTEX_ATTRIB_ARRAY8_NV: u32 = 34392;
+pub const GL_VERTEX_ATTRIB_ARRAY9_NV: u32 = 34393;
+pub const GL_VERTEX_ATTRIB_ARRAY10_NV: u32 = 34394;
+pub const GL_VERTEX_ATTRIB_ARRAY11_NV: u32 = 34395;
+pub const GL_VERTEX_ATTRIB_ARRAY12_NV: u32 = 34396;
+pub const GL_VERTEX_ATTRIB_ARRAY13_NV: u32 = 34397;
+pub const GL_VERTEX_ATTRIB_ARRAY14_NV: u32 = 34398;
+pub const GL_VERTEX_ATTRIB_ARRAY15_NV: u32 = 34399;
+pub const GL_MAP1_VERTEX_ATTRIB0_4_NV: u32 = 34400;
+pub const GL_MAP1_VERTEX_ATTRIB1_4_NV: u32 = 34401;
+pub const GL_MAP1_VERTEX_ATTRIB2_4_NV: u32 = 34402;
+pub const GL_MAP1_VERTEX_ATTRIB3_4_NV: u32 = 34403;
+pub const GL_MAP1_VERTEX_ATTRIB4_4_NV: u32 = 34404;
+pub const GL_MAP1_VERTEX_ATTRIB5_4_NV: u32 = 34405;
+pub const GL_MAP1_VERTEX_ATTRIB6_4_NV: u32 = 34406;
+pub const GL_MAP1_VERTEX_ATTRIB7_4_NV: u32 = 34407;
+pub const GL_MAP1_VERTEX_ATTRIB8_4_NV: u32 = 34408;
+pub const GL_MAP1_VERTEX_ATTRIB9_4_NV: u32 = 34409;
+pub const GL_MAP1_VERTEX_ATTRIB10_4_NV: u32 = 34410;
+pub const GL_MAP1_VERTEX_ATTRIB11_4_NV: u32 = 34411;
+pub const GL_MAP1_VERTEX_ATTRIB12_4_NV: u32 = 34412;
+pub const GL_MAP1_VERTEX_ATTRIB13_4_NV: u32 = 34413;
+pub const GL_MAP1_VERTEX_ATTRIB14_4_NV: u32 = 34414;
+pub const GL_MAP1_VERTEX_ATTRIB15_4_NV: u32 = 34415;
+pub const GL_MAP2_VERTEX_ATTRIB0_4_NV: u32 = 34416;
+pub const GL_MAP2_VERTEX_ATTRIB1_4_NV: u32 = 34417;
+pub const GL_MAP2_VERTEX_ATTRIB2_4_NV: u32 = 34418;
+pub const GL_MAP2_VERTEX_ATTRIB3_4_NV: u32 = 34419;
+pub const GL_MAP2_VERTEX_ATTRIB4_4_NV: u32 = 34420;
+pub const GL_MAP2_VERTEX_ATTRIB5_4_NV: u32 = 34421;
+pub const GL_MAP2_VERTEX_ATTRIB6_4_NV: u32 = 34422;
+pub const GL_MAP2_VERTEX_ATTRIB7_4_NV: u32 = 34423;
+pub const GL_PROGRAM_BINDING_ARB: u32 = 34423;
+pub const GL_MAP2_VERTEX_ATTRIB8_4_NV: u32 = 34424;
+pub const GL_MAP2_VERTEX_ATTRIB9_4_NV: u32 = 34425;
+pub const GL_MAP2_VERTEX_ATTRIB10_4_NV: u32 = 34426;
+pub const GL_MAP2_VERTEX_ATTRIB11_4_NV: u32 = 34427;
+pub const GL_MAP2_VERTEX_ATTRIB12_4_NV: u32 = 34428;
+pub const GL_MAP2_VERTEX_ATTRIB13_4_NV: u32 = 34429;
+pub const GL_MAP2_VERTEX_ATTRIB14_4_NV: u32 = 34430;
+pub const GL_MAP2_VERTEX_ATTRIB15_4_NV: u32 = 34431;
+pub const GL_TEXTURE_COMPRESSED_IMAGE_SIZE: u32 = 34464;
+pub const GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB: u32 = 34464;
+pub const GL_TEXTURE_COMPRESSED: u32 = 34465;
+pub const GL_TEXTURE_COMPRESSED_ARB: u32 = 34465;
+pub const GL_NUM_COMPRESSED_TEXTURE_FORMATS: u32 = 34466;
+pub const GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB: u32 = 34466;
+pub const GL_COMPRESSED_TEXTURE_FORMATS: u32 = 34467;
+pub const GL_COMPRESSED_TEXTURE_FORMATS_ARB: u32 = 34467;
+pub const GL_MAX_VERTEX_UNITS_ARB: u32 = 34468;
+pub const GL_MAX_VERTEX_UNITS_OES: u32 = 34468;
+pub const GL_ACTIVE_VERTEX_UNITS_ARB: u32 = 34469;
+pub const GL_WEIGHT_SUM_UNITY_ARB: u32 = 34470;
+pub const GL_VERTEX_BLEND_ARB: u32 = 34471;
+pub const GL_CURRENT_WEIGHT_ARB: u32 = 34472;
+pub const GL_WEIGHT_ARRAY_TYPE_ARB: u32 = 34473;
+pub const GL_WEIGHT_ARRAY_TYPE_OES: u32 = 34473;
+pub const GL_WEIGHT_ARRAY_STRIDE_ARB: u32 = 34474;
+pub const GL_WEIGHT_ARRAY_STRIDE_OES: u32 = 34474;
+pub const GL_WEIGHT_ARRAY_SIZE_ARB: u32 = 34475;
+pub const GL_WEIGHT_ARRAY_SIZE_OES: u32 = 34475;
+pub const GL_WEIGHT_ARRAY_POINTER_ARB: u32 = 34476;
+pub const GL_WEIGHT_ARRAY_POINTER_OES: u32 = 34476;
+pub const GL_WEIGHT_ARRAY_ARB: u32 = 34477;
+pub const GL_WEIGHT_ARRAY_OES: u32 = 34477;
+pub const GL_DOT3_RGB: u32 = 34478;
+pub const GL_DOT3_RGB_ARB: u32 = 34478;
+pub const GL_DOT3_RGBA: u32 = 34479;
+pub const GL_DOT3_RGBA_ARB: u32 = 34479;
+pub const GL_DOT3_RGBA_IMG: u32 = 34479;
+pub const GL_COMPRESSED_RGB_FXT1_3DFX: u32 = 34480;
+pub const GL_COMPRESSED_RGBA_FXT1_3DFX: u32 = 34481;
+pub const GL_MULTISAMPLE_3DFX: u32 = 34482;
+pub const GL_SAMPLE_BUFFERS_3DFX: u32 = 34483;
+pub const GL_SAMPLES_3DFX: u32 = 34484;
+pub const GL_EVAL_2D_NV: u32 = 34496;
+pub const GL_EVAL_TRIANGULAR_2D_NV: u32 = 34497;
+pub const GL_MAP_TESSELLATION_NV: u32 = 34498;
+pub const GL_MAP_ATTRIB_U_ORDER_NV: u32 = 34499;
+pub const GL_MAP_ATTRIB_V_ORDER_NV: u32 = 34500;
+pub const GL_EVAL_FRACTIONAL_TESSELLATION_NV: u32 = 34501;
+pub const GL_EVAL_VERTEX_ATTRIB0_NV: u32 = 34502;
+pub const GL_EVAL_VERTEX_ATTRIB1_NV: u32 = 34503;
+pub const GL_EVAL_VERTEX_ATTRIB2_NV: u32 = 34504;
+pub const GL_EVAL_VERTEX_ATTRIB3_NV: u32 = 34505;
+pub const GL_EVAL_VERTEX_ATTRIB4_NV: u32 = 34506;
+pub const GL_EVAL_VERTEX_ATTRIB5_NV: u32 = 34507;
+pub const GL_EVAL_VERTEX_ATTRIB6_NV: u32 = 34508;
+pub const GL_EVAL_VERTEX_ATTRIB7_NV: u32 = 34509;
+pub const GL_EVAL_VERTEX_ATTRIB8_NV: u32 = 34510;
+pub const GL_EVAL_VERTEX_ATTRIB9_NV: u32 = 34511;
+pub const GL_EVAL_VERTEX_ATTRIB10_NV: u32 = 34512;
+pub const GL_EVAL_VERTEX_ATTRIB11_NV: u32 = 34513;
+pub const GL_EVAL_VERTEX_ATTRIB12_NV: u32 = 34514;
+pub const GL_EVAL_VERTEX_ATTRIB13_NV: u32 = 34515;
+pub const GL_EVAL_VERTEX_ATTRIB14_NV: u32 = 34516;
+pub const GL_EVAL_VERTEX_ATTRIB15_NV: u32 = 34517;
+pub const GL_MAX_MAP_TESSELLATION_NV: u32 = 34518;
+pub const GL_MAX_RATIONAL_EVAL_ORDER_NV: u32 = 34519;
+pub const GL_MAX_PROGRAM_PATCH_ATTRIBS_NV: u32 = 34520;
+pub const GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV: u32 = 34521;
+pub const GL_UNSIGNED_INT_S8_S8_8_8_NV: u32 = 34522;
+pub const GL_UNSIGNED_INT_8_8_S8_S8_REV_NV: u32 = 34523;
+pub const GL_DSDT_MAG_INTENSITY_NV: u32 = 34524;
+pub const GL_SHADER_CONSISTENT_NV: u32 = 34525;
+pub const GL_TEXTURE_SHADER_NV: u32 = 34526;
+pub const GL_SHADER_OPERATION_NV: u32 = 34527;
+pub const GL_CULL_MODES_NV: u32 = 34528;
+pub const GL_OFFSET_TEXTURE_2D_MATRIX_NV: u32 = 34529;
+pub const GL_OFFSET_TEXTURE_MATRIX_NV: u32 = 34529;
+pub const GL_OFFSET_TEXTURE_2D_SCALE_NV: u32 = 34530;
+pub const GL_OFFSET_TEXTURE_SCALE_NV: u32 = 34530;
+pub const GL_OFFSET_TEXTURE_2D_BIAS_NV: u32 = 34531;
+pub const GL_OFFSET_TEXTURE_BIAS_NV: u32 = 34531;
+pub const GL_PREVIOUS_TEXTURE_INPUT_NV: u32 = 34532;
+pub const GL_CONST_EYE_NV: u32 = 34533;
+pub const GL_PASS_THROUGH_NV: u32 = 34534;
+pub const GL_CULL_FRAGMENT_NV: u32 = 34535;
+pub const GL_OFFSET_TEXTURE_2D_NV: u32 = 34536;
+pub const GL_DEPENDENT_AR_TEXTURE_2D_NV: u32 = 34537;
+pub const GL_DEPENDENT_GB_TEXTURE_2D_NV: u32 = 34538;
+pub const GL_SURFACE_STATE_NV: u32 = 34539;
+pub const GL_DOT_PRODUCT_NV: u32 = 34540;
+pub const GL_DOT_PRODUCT_DEPTH_REPLACE_NV: u32 = 34541;
+pub const GL_DOT_PRODUCT_TEXTURE_2D_NV: u32 = 34542;
+pub const GL_DOT_PRODUCT_TEXTURE_3D_NV: u32 = 34543;
+pub const GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV: u32 = 34544;
+pub const GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV: u32 = 34545;
+pub const GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV: u32 = 34546;
+pub const GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV: u32 = 34547;
+pub const GL_HILO_NV: u32 = 34548;
+pub const GL_DSDT_NV: u32 = 34549;
+pub const GL_DSDT_MAG_NV: u32 = 34550;
+pub const GL_DSDT_MAG_VIB_NV: u32 = 34551;
+pub const GL_HILO16_NV: u32 = 34552;
+pub const GL_SIGNED_HILO_NV: u32 = 34553;
+pub const GL_SIGNED_HILO16_NV: u32 = 34554;
+pub const GL_SIGNED_RGBA_NV: u32 = 34555;
+pub const GL_SIGNED_RGBA8_NV: u32 = 34556;
+pub const GL_SURFACE_REGISTERED_NV: u32 = 34557;
+pub const GL_SIGNED_RGB_NV: u32 = 34558;
+pub const GL_SIGNED_RGB8_NV: u32 = 34559;
+pub const GL_SURFACE_MAPPED_NV: u32 = 34560;
+pub const GL_SIGNED_LUMINANCE_NV: u32 = 34561;
+pub const GL_SIGNED_LUMINANCE8_NV: u32 = 34562;
+pub const GL_SIGNED_LUMINANCE_ALPHA_NV: u32 = 34563;
+pub const GL_SIGNED_LUMINANCE8_ALPHA8_NV: u32 = 34564;
+pub const GL_SIGNED_ALPHA_NV: u32 = 34565;
+pub const GL_SIGNED_ALPHA8_NV: u32 = 34566;
+pub const GL_SIGNED_INTENSITY_NV: u32 = 34567;
+pub const GL_SIGNED_INTENSITY8_NV: u32 = 34568;
+pub const GL_DSDT8_NV: u32 = 34569;
+pub const GL_DSDT8_MAG8_NV: u32 = 34570;
+pub const GL_DSDT8_MAG8_INTENSITY8_NV: u32 = 34571;
+pub const GL_SIGNED_RGB_UNSIGNED_ALPHA_NV: u32 = 34572;
+pub const GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV: u32 = 34573;
+pub const GL_HI_SCALE_NV: u32 = 34574;
+pub const GL_LO_SCALE_NV: u32 = 34575;
+pub const GL_DS_SCALE_NV: u32 = 34576;
+pub const GL_DT_SCALE_NV: u32 = 34577;
+pub const GL_MAGNITUDE_SCALE_NV: u32 = 34578;
+pub const GL_VIBRANCE_SCALE_NV: u32 = 34579;
+pub const GL_HI_BIAS_NV: u32 = 34580;
+pub const GL_LO_BIAS_NV: u32 = 34581;
+pub const GL_DS_BIAS_NV: u32 = 34582;
+pub const GL_DT_BIAS_NV: u32 = 34583;
+pub const GL_MAGNITUDE_BIAS_NV: u32 = 34584;
+pub const GL_VIBRANCE_BIAS_NV: u32 = 34585;
+pub const GL_TEXTURE_BORDER_VALUES_NV: u32 = 34586;
+pub const GL_TEXTURE_HI_SIZE_NV: u32 = 34587;
+pub const GL_TEXTURE_LO_SIZE_NV: u32 = 34588;
+pub const GL_TEXTURE_DS_SIZE_NV: u32 = 34589;
+pub const GL_TEXTURE_DT_SIZE_NV: u32 = 34590;
+pub const GL_TEXTURE_MAG_SIZE_NV: u32 = 34591;
+pub const GL_MODELVIEW2_ARB: u32 = 34594;
+pub const GL_MODELVIEW3_ARB: u32 = 34595;
+pub const GL_MODELVIEW4_ARB: u32 = 34596;
+pub const GL_MODELVIEW5_ARB: u32 = 34597;
+pub const GL_MODELVIEW6_ARB: u32 = 34598;
+pub const GL_MODELVIEW7_ARB: u32 = 34599;
+pub const GL_MODELVIEW8_ARB: u32 = 34600;
+pub const GL_MODELVIEW9_ARB: u32 = 34601;
+pub const GL_MODELVIEW10_ARB: u32 = 34602;
+pub const GL_MODELVIEW11_ARB: u32 = 34603;
+pub const GL_MODELVIEW12_ARB: u32 = 34604;
+pub const GL_MODELVIEW13_ARB: u32 = 34605;
+pub const GL_MODELVIEW14_ARB: u32 = 34606;
+pub const GL_MODELVIEW15_ARB: u32 = 34607;
+pub const GL_MODELVIEW16_ARB: u32 = 34608;
+pub const GL_MODELVIEW17_ARB: u32 = 34609;
+pub const GL_MODELVIEW18_ARB: u32 = 34610;
+pub const GL_MODELVIEW19_ARB: u32 = 34611;
+pub const GL_MODELVIEW20_ARB: u32 = 34612;
+pub const GL_MODELVIEW21_ARB: u32 = 34613;
+pub const GL_MODELVIEW22_ARB: u32 = 34614;
+pub const GL_MODELVIEW23_ARB: u32 = 34615;
+pub const GL_MODELVIEW24_ARB: u32 = 34616;
+pub const GL_MODELVIEW25_ARB: u32 = 34617;
+pub const GL_MODELVIEW26_ARB: u32 = 34618;
+pub const GL_MODELVIEW27_ARB: u32 = 34619;
+pub const GL_MODELVIEW28_ARB: u32 = 34620;
+pub const GL_MODELVIEW29_ARB: u32 = 34621;
+pub const GL_MODELVIEW30_ARB: u32 = 34622;
+pub const GL_MODELVIEW31_ARB: u32 = 34623;
+pub const GL_DOT3_RGB_EXT: u32 = 34624;
+pub const GL_Z400_BINARY_AMD: u32 = 34624;
+pub const GL_DOT3_RGBA_EXT: u32 = 34625;
+pub const GL_PROGRAM_BINARY_LENGTH: u32 = 34625;
+pub const GL_PROGRAM_BINARY_LENGTH_OES: u32 = 34625;
+pub const GL_MIRROR_CLAMP_ATI: u32 = 34626;
+pub const GL_MIRROR_CLAMP_EXT: u32 = 34626;
+pub const GL_MIRROR_CLAMP_TO_EDGE: u32 = 34627;
+pub const GL_MIRROR_CLAMP_TO_EDGE_ATI: u32 = 34627;
+pub const GL_MIRROR_CLAMP_TO_EDGE_EXT: u32 = 34627;
+pub const GL_MODULATE_ADD_ATI: u32 = 34628;
+pub const GL_MODULATE_SIGNED_ADD_ATI: u32 = 34629;
+pub const GL_MODULATE_SUBTRACT_ATI: u32 = 34630;
+pub const GL_SET_AMD: u32 = 34634;
+pub const GL_REPLACE_VALUE_AMD: u32 = 34635;
+pub const GL_STENCIL_OP_VALUE_AMD: u32 = 34636;
+pub const GL_STENCIL_BACK_OP_VALUE_AMD: u32 = 34637;
+pub const GL_VERTEX_ATTRIB_ARRAY_LONG: u32 = 34638;
+pub const GL_OCCLUSION_QUERY_EVENT_MASK_AMD: u32 = 34639;
+pub const GL_DEPTH_STENCIL_MESA: u32 = 34640;
+pub const GL_UNSIGNED_INT_24_8_MESA: u32 = 34641;
+pub const GL_UNSIGNED_INT_8_24_REV_MESA: u32 = 34642;
+pub const GL_UNSIGNED_SHORT_15_1_MESA: u32 = 34643;
+pub const GL_UNSIGNED_SHORT_1_15_REV_MESA: u32 = 34644;
+pub const GL_TRACE_MASK_MESA: u32 = 34645;
+pub const GL_TRACE_NAME_MESA: u32 = 34646;
+pub const GL_YCBCR_MESA: u32 = 34647;
+pub const GL_PACK_INVERT_MESA: u32 = 34648;
+pub const GL_DEBUG_OBJECT_MESA: u32 = 34649;
+pub const GL_TEXTURE_1D_STACK_MESAX: u32 = 34649;
+pub const GL_DEBUG_PRINT_MESA: u32 = 34650;
+pub const GL_TEXTURE_2D_STACK_MESAX: u32 = 34650;
+pub const GL_DEBUG_ASSERT_MESA: u32 = 34651;
+pub const GL_PROXY_TEXTURE_1D_STACK_MESAX: u32 = 34651;
+pub const GL_PROXY_TEXTURE_2D_STACK_MESAX: u32 = 34652;
+pub const GL_TEXTURE_1D_STACK_BINDING_MESAX: u32 = 34653;
+pub const GL_TEXTURE_2D_STACK_BINDING_MESAX: u32 = 34654;
+pub const GL_STATIC_ATI: u32 = 34656;
+pub const GL_DYNAMIC_ATI: u32 = 34657;
+pub const GL_PRESERVE_ATI: u32 = 34658;
+pub const GL_DISCARD_ATI: u32 = 34659;
+pub const GL_BUFFER_SIZE: u32 = 34660;
+pub const GL_BUFFER_SIZE_ARB: u32 = 34660;
+pub const GL_OBJECT_BUFFER_SIZE_ATI: u32 = 34660;
+pub const GL_BUFFER_USAGE: u32 = 34661;
+pub const GL_BUFFER_USAGE_ARB: u32 = 34661;
+pub const GL_OBJECT_BUFFER_USAGE_ATI: u32 = 34661;
+pub const GL_ARRAY_OBJECT_BUFFER_ATI: u32 = 34662;
+pub const GL_ARRAY_OBJECT_OFFSET_ATI: u32 = 34663;
+pub const GL_ELEMENT_ARRAY_ATI: u32 = 34664;
+pub const GL_ELEMENT_ARRAY_TYPE_ATI: u32 = 34665;
+pub const GL_ELEMENT_ARRAY_POINTER_ATI: u32 = 34666;
+pub const GL_MAX_VERTEX_STREAMS_ATI: u32 = 34667;
+pub const GL_VERTEX_STREAM0_ATI: u32 = 34668;
+pub const GL_VERTEX_STREAM1_ATI: u32 = 34669;
+pub const GL_VERTEX_STREAM2_ATI: u32 = 34670;
+pub const GL_VERTEX_STREAM3_ATI: u32 = 34671;
+pub const GL_VERTEX_STREAM4_ATI: u32 = 34672;
+pub const GL_VERTEX_STREAM5_ATI: u32 = 34673;
+pub const GL_VERTEX_STREAM6_ATI: u32 = 34674;
+pub const GL_VERTEX_STREAM7_ATI: u32 = 34675;
+pub const GL_VERTEX_SOURCE_ATI: u32 = 34676;
+pub const GL_BUMP_ROT_MATRIX_ATI: u32 = 34677;
+pub const GL_BUMP_ROT_MATRIX_SIZE_ATI: u32 = 34678;
+pub const GL_BUMP_NUM_TEX_UNITS_ATI: u32 = 34679;
+pub const GL_BUMP_TEX_UNITS_ATI: u32 = 34680;
+pub const GL_DUDV_ATI: u32 = 34681;
+pub const GL_DU8DV8_ATI: u32 = 34682;
+pub const GL_BUMP_ENVMAP_ATI: u32 = 34683;
+pub const GL_BUMP_TARGET_ATI: u32 = 34684;
+pub const GL_VERTEX_SHADER_EXT: u32 = 34688;
+pub const GL_VERTEX_SHADER_BINDING_EXT: u32 = 34689;
+pub const GL_OP_INDEX_EXT: u32 = 34690;
+pub const GL_OP_NEGATE_EXT: u32 = 34691;
+pub const GL_OP_DOT3_EXT: u32 = 34692;
+pub const GL_OP_DOT4_EXT: u32 = 34693;
+pub const GL_OP_MUL_EXT: u32 = 34694;
+pub const GL_OP_ADD_EXT: u32 = 34695;
+pub const GL_OP_MADD_EXT: u32 = 34696;
+pub const GL_OP_FRAC_EXT: u32 = 34697;
+pub const GL_OP_MAX_EXT: u32 = 34698;
+pub const GL_OP_MIN_EXT: u32 = 34699;
+pub const GL_OP_SET_GE_EXT: u32 = 34700;
+pub const GL_OP_SET_LT_EXT: u32 = 34701;
+pub const GL_OP_CLAMP_EXT: u32 = 34702;
+pub const GL_OP_FLOOR_EXT: u32 = 34703;
+pub const GL_OP_ROUND_EXT: u32 = 34704;
+pub const GL_OP_EXP_BASE_2_EXT: u32 = 34705;
+pub const GL_OP_LOG_BASE_2_EXT: u32 = 34706;
+pub const GL_OP_POWER_EXT: u32 = 34707;
+pub const GL_OP_RECIP_EXT: u32 = 34708;
+pub const GL_OP_RECIP_SQRT_EXT: u32 = 34709;
+pub const GL_OP_SUB_EXT: u32 = 34710;
+pub const GL_OP_CROSS_PRODUCT_EXT: u32 = 34711;
+pub const GL_OP_MULTIPLY_MATRIX_EXT: u32 = 34712;
+pub const GL_OP_MOV_EXT: u32 = 34713;
+pub const GL_OUTPUT_VERTEX_EXT: u32 = 34714;
+pub const GL_OUTPUT_COLOR0_EXT: u32 = 34715;
+pub const GL_OUTPUT_COLOR1_EXT: u32 = 34716;
+pub const GL_OUTPUT_TEXTURE_COORD0_EXT: u32 = 34717;
+pub const GL_OUTPUT_TEXTURE_COORD1_EXT: u32 = 34718;
+pub const GL_OUTPUT_TEXTURE_COORD2_EXT: u32 = 34719;
+pub const GL_OUTPUT_TEXTURE_COORD3_EXT: u32 = 34720;
+pub const GL_OUTPUT_TEXTURE_COORD4_EXT: u32 = 34721;
+pub const GL_OUTPUT_TEXTURE_COORD5_EXT: u32 = 34722;
+pub const GL_OUTPUT_TEXTURE_COORD6_EXT: u32 = 34723;
+pub const GL_OUTPUT_TEXTURE_COORD7_EXT: u32 = 34724;
+pub const GL_OUTPUT_TEXTURE_COORD8_EXT: u32 = 34725;
+pub const GL_OUTPUT_TEXTURE_COORD9_EXT: u32 = 34726;
+pub const GL_OUTPUT_TEXTURE_COORD10_EXT: u32 = 34727;
+pub const GL_OUTPUT_TEXTURE_COORD11_EXT: u32 = 34728;
+pub const GL_OUTPUT_TEXTURE_COORD12_EXT: u32 = 34729;
+pub const GL_OUTPUT_TEXTURE_COORD13_EXT: u32 = 34730;
+pub const GL_OUTPUT_TEXTURE_COORD14_EXT: u32 = 34731;
+pub const GL_OUTPUT_TEXTURE_COORD15_EXT: u32 = 34732;
+pub const GL_OUTPUT_TEXTURE_COORD16_EXT: u32 = 34733;
+pub const GL_OUTPUT_TEXTURE_COORD17_EXT: u32 = 34734;
+pub const GL_OUTPUT_TEXTURE_COORD18_EXT: u32 = 34735;
+pub const GL_OUTPUT_TEXTURE_COORD19_EXT: u32 = 34736;
+pub const GL_OUTPUT_TEXTURE_COORD20_EXT: u32 = 34737;
+pub const GL_OUTPUT_TEXTURE_COORD21_EXT: u32 = 34738;
+pub const GL_OUTPUT_TEXTURE_COORD22_EXT: u32 = 34739;
+pub const GL_OUTPUT_TEXTURE_COORD23_EXT: u32 = 34740;
+pub const GL_OUTPUT_TEXTURE_COORD24_EXT: u32 = 34741;
+pub const GL_OUTPUT_TEXTURE_COORD25_EXT: u32 = 34742;
+pub const GL_OUTPUT_TEXTURE_COORD26_EXT: u32 = 34743;
+pub const GL_OUTPUT_TEXTURE_COORD27_EXT: u32 = 34744;
+pub const GL_OUTPUT_TEXTURE_COORD28_EXT: u32 = 34745;
+pub const GL_OUTPUT_TEXTURE_COORD29_EXT: u32 = 34746;
+pub const GL_OUTPUT_TEXTURE_COORD30_EXT: u32 = 34747;
+pub const GL_OUTPUT_TEXTURE_COORD31_EXT: u32 = 34748;
+pub const GL_OUTPUT_FOG_EXT: u32 = 34749;
+pub const GL_SCALAR_EXT: u32 = 34750;
+pub const GL_VECTOR_EXT: u32 = 34751;
+pub const GL_MATRIX_EXT: u32 = 34752;
+pub const GL_VARIANT_EXT: u32 = 34753;
+pub const GL_INVARIANT_EXT: u32 = 34754;
+pub const GL_LOCAL_CONSTANT_EXT: u32 = 34755;
+pub const GL_LOCAL_EXT: u32 = 34756;
+pub const GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT: u32 = 34757;
+pub const GL_MAX_VERTEX_SHADER_VARIANTS_EXT: u32 = 34758;
+pub const GL_MAX_VERTEX_SHADER_INVARIANTS_EXT: u32 = 34759;
+pub const GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT: u32 = 34760;
+pub const GL_MAX_VERTEX_SHADER_LOCALS_EXT: u32 = 34761;
+pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT: u32 = 34762;
+pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT: u32 = 34763;
+pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT: u32 = 34764;
+pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT: u32 = 34765;
+pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT: u32 = 34766;
+pub const GL_VERTEX_SHADER_INSTRUCTIONS_EXT: u32 = 34767;
+pub const GL_VERTEX_SHADER_VARIANTS_EXT: u32 = 34768;
+pub const GL_VERTEX_SHADER_INVARIANTS_EXT: u32 = 34769;
+pub const GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT: u32 = 34770;
+pub const GL_VERTEX_SHADER_LOCALS_EXT: u32 = 34771;
+pub const GL_VERTEX_SHADER_OPTIMIZED_EXT: u32 = 34772;
+pub const GL_X_EXT: u32 = 34773;
+pub const GL_Y_EXT: u32 = 34774;
+pub const GL_Z_EXT: u32 = 34775;
+pub const GL_W_EXT: u32 = 34776;
+pub const GL_NEGATIVE_X_EXT: u32 = 34777;
+pub const GL_NEGATIVE_Y_EXT: u32 = 34778;
+pub const GL_NEGATIVE_Z_EXT: u32 = 34779;
+pub const GL_NEGATIVE_W_EXT: u32 = 34780;
+pub const GL_ZERO_EXT: u32 = 34781;
+pub const GL_ONE_EXT: u32 = 34782;
+pub const GL_NEGATIVE_ONE_EXT: u32 = 34783;
+pub const GL_NORMALIZED_RANGE_EXT: u32 = 34784;
+pub const GL_FULL_RANGE_EXT: u32 = 34785;
+pub const GL_CURRENT_VERTEX_EXT: u32 = 34786;
+pub const GL_MVP_MATRIX_EXT: u32 = 34787;
+pub const GL_VARIANT_VALUE_EXT: u32 = 34788;
+pub const GL_VARIANT_DATATYPE_EXT: u32 = 34789;
+pub const GL_VARIANT_ARRAY_STRIDE_EXT: u32 = 34790;
+pub const GL_VARIANT_ARRAY_TYPE_EXT: u32 = 34791;
+pub const GL_VARIANT_ARRAY_EXT: u32 = 34792;
+pub const GL_VARIANT_ARRAY_POINTER_EXT: u32 = 34793;
+pub const GL_INVARIANT_VALUE_EXT: u32 = 34794;
+pub const GL_INVARIANT_DATATYPE_EXT: u32 = 34795;
+pub const GL_LOCAL_CONSTANT_VALUE_EXT: u32 = 34796;
+pub const GL_LOCAL_CONSTANT_DATATYPE_EXT: u32 = 34797;
+pub const GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD: u32 = 34798;
+pub const GL_PN_TRIANGLES_ATI: u32 = 34800;
+pub const GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI: u32 = 34801;
+pub const GL_PN_TRIANGLES_POINT_MODE_ATI: u32 = 34802;
+pub const GL_PN_TRIANGLES_NORMAL_MODE_ATI: u32 = 34803;
+pub const GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI: u32 = 34804;
+pub const GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI: u32 = 34805;
+pub const GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI: u32 = 34806;
+pub const GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI: u32 = 34807;
+pub const GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI: u32 = 34808;
+pub const GL_3DC_X_AMD: u32 = 34809;
+pub const GL_3DC_XY_AMD: u32 = 34810;
+pub const GL_VBO_FREE_MEMORY_ATI: u32 = 34811;
+pub const GL_TEXTURE_FREE_MEMORY_ATI: u32 = 34812;
+pub const GL_RENDERBUFFER_FREE_MEMORY_ATI: u32 = 34813;
+pub const GL_NUM_PROGRAM_BINARY_FORMATS: u32 = 34814;
+pub const GL_NUM_PROGRAM_BINARY_FORMATS_OES: u32 = 34814;
+pub const GL_PROGRAM_BINARY_FORMATS: u32 = 34815;
+pub const GL_PROGRAM_BINARY_FORMATS_OES: u32 = 34815;
+pub const GL_STENCIL_BACK_FUNC: u32 = 34816;
+pub const GL_STENCIL_BACK_FUNC_ATI: u32 = 34816;
+pub const GL_STENCIL_BACK_FAIL: u32 = 34817;
+pub const GL_STENCIL_BACK_FAIL_ATI: u32 = 34817;
+pub const GL_STENCIL_BACK_PASS_DEPTH_FAIL: u32 = 34818;
+pub const GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI: u32 = 34818;
+pub const GL_STENCIL_BACK_PASS_DEPTH_PASS: u32 = 34819;
+pub const GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI: u32 = 34819;
+pub const GL_FRAGMENT_PROGRAM_ARB: u32 = 34820;
+pub const GL_PROGRAM_ALU_INSTRUCTIONS_ARB: u32 = 34821;
+pub const GL_PROGRAM_TEX_INSTRUCTIONS_ARB: u32 = 34822;
+pub const GL_PROGRAM_TEX_INDIRECTIONS_ARB: u32 = 34823;
+pub const GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB: u32 = 34824;
+pub const GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB: u32 = 34825;
+pub const GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB: u32 = 34826;
+pub const GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB: u32 = 34827;
+pub const GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB: u32 = 34828;
+pub const GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB: u32 = 34829;
+pub const GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB: u32 = 34830;
+pub const GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB: u32 = 34831;
+pub const GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB: u32 = 34832;
+pub const GL_RGBA32F: u32 = 34836;
+pub const GL_RGBA32F_ARB: u32 = 34836;
+pub const GL_RGBA32F_EXT: u32 = 34836;
+pub const GL_RGBA_FLOAT32_APPLE: u32 = 34836;
+pub const GL_RGBA_FLOAT32_ATI: u32 = 34836;
+pub const GL_RGB32F: u32 = 34837;
+pub const GL_RGB32F_ARB: u32 = 34837;
+pub const GL_RGB32F_EXT: u32 = 34837;
+pub const GL_RGB_FLOAT32_APPLE: u32 = 34837;
+pub const GL_RGB_FLOAT32_ATI: u32 = 34837;
+pub const GL_ALPHA32F_ARB: u32 = 34838;
+pub const GL_ALPHA32F_EXT: u32 = 34838;
+pub const GL_ALPHA_FLOAT32_APPLE: u32 = 34838;
+pub const GL_ALPHA_FLOAT32_ATI: u32 = 34838;
+pub const GL_INTENSITY32F_ARB: u32 = 34839;
+pub const GL_INTENSITY_FLOAT32_APPLE: u32 = 34839;
+pub const GL_INTENSITY_FLOAT32_ATI: u32 = 34839;
+pub const GL_LUMINANCE32F_ARB: u32 = 34840;
+pub const GL_LUMINANCE32F_EXT: u32 = 34840;
+pub const GL_LUMINANCE_FLOAT32_APPLE: u32 = 34840;
+pub const GL_LUMINANCE_FLOAT32_ATI: u32 = 34840;
+pub const GL_LUMINANCE_ALPHA32F_ARB: u32 = 34841;
+pub const GL_LUMINANCE_ALPHA32F_EXT: u32 = 34841;
+pub const GL_LUMINANCE_ALPHA_FLOAT32_APPLE: u32 = 34841;
+pub const GL_LUMINANCE_ALPHA_FLOAT32_ATI: u32 = 34841;
+pub const GL_RGBA16F: u32 = 34842;
+pub const GL_RGBA16F_ARB: u32 = 34842;
+pub const GL_RGBA16F_EXT: u32 = 34842;
+pub const GL_RGBA_FLOAT16_APPLE: u32 = 34842;
+pub const GL_RGBA_FLOAT16_ATI: u32 = 34842;
+pub const GL_RGB16F: u32 = 34843;
+pub const GL_RGB16F_ARB: u32 = 34843;
+pub const GL_RGB16F_EXT: u32 = 34843;
+pub const GL_RGB_FLOAT16_APPLE: u32 = 34843;
+pub const GL_RGB_FLOAT16_ATI: u32 = 34843;
+pub const GL_ALPHA16F_ARB: u32 = 34844;
+pub const GL_ALPHA16F_EXT: u32 = 34844;
+pub const GL_ALPHA_FLOAT16_APPLE: u32 = 34844;
+pub const GL_ALPHA_FLOAT16_ATI: u32 = 34844;
+pub const GL_INTENSITY16F_ARB: u32 = 34845;
+pub const GL_INTENSITY_FLOAT16_APPLE: u32 = 34845;
+pub const GL_INTENSITY_FLOAT16_ATI: u32 = 34845;
+pub const GL_LUMINANCE16F_ARB: u32 = 34846;
+pub const GL_LUMINANCE16F_EXT: u32 = 34846;
+pub const GL_LUMINANCE_FLOAT16_APPLE: u32 = 34846;
+pub const GL_LUMINANCE_FLOAT16_ATI: u32 = 34846;
+pub const GL_LUMINANCE_ALPHA16F_ARB: u32 = 34847;
+pub const GL_LUMINANCE_ALPHA16F_EXT: u32 = 34847;
+pub const GL_LUMINANCE_ALPHA_FLOAT16_APPLE: u32 = 34847;
+pub const GL_LUMINANCE_ALPHA_FLOAT16_ATI: u32 = 34847;
+pub const GL_RGBA_FLOAT_MODE_ARB: u32 = 34848;
+pub const GL_RGBA_FLOAT_MODE_ATI: u32 = 34848;
+pub const GL_WRITEONLY_RENDERING_QCOM: u32 = 34851;
+pub const GL_MAX_DRAW_BUFFERS: u32 = 34852;
+pub const GL_MAX_DRAW_BUFFERS_ARB: u32 = 34852;
+pub const GL_MAX_DRAW_BUFFERS_ATI: u32 = 34852;
+pub const GL_MAX_DRAW_BUFFERS_EXT: u32 = 34852;
+pub const GL_MAX_DRAW_BUFFERS_NV: u32 = 34852;
+pub const GL_DRAW_BUFFER0: u32 = 34853;
+pub const GL_DRAW_BUFFER0_ARB: u32 = 34853;
+pub const GL_DRAW_BUFFER0_ATI: u32 = 34853;
+pub const GL_DRAW_BUFFER0_EXT: u32 = 34853;
+pub const GL_DRAW_BUFFER0_NV: u32 = 34853;
+pub const GL_DRAW_BUFFER1: u32 = 34854;
+pub const GL_DRAW_BUFFER1_ARB: u32 = 34854;
+pub const GL_DRAW_BUFFER1_ATI: u32 = 34854;
+pub const GL_DRAW_BUFFER1_EXT: u32 = 34854;
+pub const GL_DRAW_BUFFER1_NV: u32 = 34854;
+pub const GL_DRAW_BUFFER2: u32 = 34855;
+pub const GL_DRAW_BUFFER2_ARB: u32 = 34855;
+pub const GL_DRAW_BUFFER2_ATI: u32 = 34855;
+pub const GL_DRAW_BUFFER2_EXT: u32 = 34855;
+pub const GL_DRAW_BUFFER2_NV: u32 = 34855;
+pub const GL_DRAW_BUFFER3: u32 = 34856;
+pub const GL_DRAW_BUFFER3_ARB: u32 = 34856;
+pub const GL_DRAW_BUFFER3_ATI: u32 = 34856;
+pub const GL_DRAW_BUFFER3_EXT: u32 = 34856;
+pub const GL_DRAW_BUFFER3_NV: u32 = 34856;
+pub const GL_DRAW_BUFFER4: u32 = 34857;
+pub const GL_DRAW_BUFFER4_ARB: u32 = 34857;
+pub const GL_DRAW_BUFFER4_ATI: u32 = 34857;
+pub const GL_DRAW_BUFFER4_EXT: u32 = 34857;
+pub const GL_DRAW_BUFFER4_NV: u32 = 34857;
+pub const GL_DRAW_BUFFER5: u32 = 34858;
+pub const GL_DRAW_BUFFER5_ARB: u32 = 34858;
+pub const GL_DRAW_BUFFER5_ATI: u32 = 34858;
+pub const GL_DRAW_BUFFER5_EXT: u32 = 34858;
+pub const GL_DRAW_BUFFER5_NV: u32 = 34858;
+pub const GL_DRAW_BUFFER6: u32 = 34859;
+pub const GL_DRAW_BUFFER6_ARB: u32 = 34859;
+pub const GL_DRAW_BUFFER6_ATI: u32 = 34859;
+pub const GL_DRAW_BUFFER6_EXT: u32 = 34859;
+pub const GL_DRAW_BUFFER6_NV: u32 = 34859;
+pub const GL_DRAW_BUFFER7: u32 = 34860;
+pub const GL_DRAW_BUFFER7_ARB: u32 = 34860;
+pub const GL_DRAW_BUFFER7_ATI: u32 = 34860;
+pub const GL_DRAW_BUFFER7_EXT: u32 = 34860;
+pub const GL_DRAW_BUFFER7_NV: u32 = 34860;
+pub const GL_DRAW_BUFFER8: u32 = 34861;
+pub const GL_DRAW_BUFFER8_ARB: u32 = 34861;
+pub const GL_DRAW_BUFFER8_ATI: u32 = 34861;
+pub const GL_DRAW_BUFFER8_EXT: u32 = 34861;
+pub const GL_DRAW_BUFFER8_NV: u32 = 34861;
+pub const GL_DRAW_BUFFER9: u32 = 34862;
+pub const GL_DRAW_BUFFER9_ARB: u32 = 34862;
+pub const GL_DRAW_BUFFER9_ATI: u32 = 34862;
+pub const GL_DRAW_BUFFER9_EXT: u32 = 34862;
+pub const GL_DRAW_BUFFER9_NV: u32 = 34862;
+pub const GL_DRAW_BUFFER10: u32 = 34863;
+pub const GL_DRAW_BUFFER10_ARB: u32 = 34863;
+pub const GL_DRAW_BUFFER10_ATI: u32 = 34863;
+pub const GL_DRAW_BUFFER10_EXT: u32 = 34863;
+pub const GL_DRAW_BUFFER10_NV: u32 = 34863;
+pub const GL_DRAW_BUFFER11: u32 = 34864;
+pub const GL_DRAW_BUFFER11_ARB: u32 = 34864;
+pub const GL_DRAW_BUFFER11_ATI: u32 = 34864;
+pub const GL_DRAW_BUFFER11_EXT: u32 = 34864;
+pub const GL_DRAW_BUFFER11_NV: u32 = 34864;
+pub const GL_DRAW_BUFFER12: u32 = 34865;
+pub const GL_DRAW_BUFFER12_ARB: u32 = 34865;
+pub const GL_DRAW_BUFFER12_ATI: u32 = 34865;
+pub const GL_DRAW_BUFFER12_EXT: u32 = 34865;
+pub const GL_DRAW_BUFFER12_NV: u32 = 34865;
+pub const GL_DRAW_BUFFER13: u32 = 34866;
+pub const GL_DRAW_BUFFER13_ARB: u32 = 34866;
+pub const GL_DRAW_BUFFER13_ATI: u32 = 34866;
+pub const GL_DRAW_BUFFER13_EXT: u32 = 34866;
+pub const GL_DRAW_BUFFER13_NV: u32 = 34866;
+pub const GL_DRAW_BUFFER14: u32 = 34867;
+pub const GL_DRAW_BUFFER14_ARB: u32 = 34867;
+pub const GL_DRAW_BUFFER14_ATI: u32 = 34867;
+pub const GL_DRAW_BUFFER14_EXT: u32 = 34867;
+pub const GL_DRAW_BUFFER14_NV: u32 = 34867;
+pub const GL_DRAW_BUFFER15: u32 = 34868;
+pub const GL_DRAW_BUFFER15_ARB: u32 = 34868;
+pub const GL_DRAW_BUFFER15_ATI: u32 = 34868;
+pub const GL_DRAW_BUFFER15_EXT: u32 = 34868;
+pub const GL_DRAW_BUFFER15_NV: u32 = 34868;
+pub const GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI: u32 = 34869;
+pub const GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI: u32 = 34871;
+pub const GL_BLEND_EQUATION_ALPHA: u32 = 34877;
+pub const GL_BLEND_EQUATION_ALPHA_EXT: u32 = 34877;
+pub const GL_BLEND_EQUATION_ALPHA_OES: u32 = 34877;
+pub const GL_SUBSAMPLE_DISTANCE_AMD: u32 = 34879;
+pub const GL_MATRIX_PALETTE_ARB: u32 = 34880;
+pub const GL_MATRIX_PALETTE_OES: u32 = 34880;
+pub const GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB: u32 = 34881;
+pub const GL_MAX_PALETTE_MATRICES_ARB: u32 = 34882;
+pub const GL_MAX_PALETTE_MATRICES_OES: u32 = 34882;
+pub const GL_CURRENT_PALETTE_MATRIX_ARB: u32 = 34883;
+pub const GL_CURRENT_PALETTE_MATRIX_OES: u32 = 34883;
+pub const GL_MATRIX_INDEX_ARRAY_ARB: u32 = 34884;
+pub const GL_MATRIX_INDEX_ARRAY_OES: u32 = 34884;
+pub const GL_CURRENT_MATRIX_INDEX_ARB: u32 = 34885;
+pub const GL_MATRIX_INDEX_ARRAY_SIZE_ARB: u32 = 34886;
+pub const GL_MATRIX_INDEX_ARRAY_SIZE_OES: u32 = 34886;
+pub const GL_MATRIX_INDEX_ARRAY_TYPE_ARB: u32 = 34887;
+pub const GL_MATRIX_INDEX_ARRAY_TYPE_OES: u32 = 34887;
+pub const GL_MATRIX_INDEX_ARRAY_STRIDE_ARB: u32 = 34888;
+pub const GL_MATRIX_INDEX_ARRAY_STRIDE_OES: u32 = 34888;
+pub const GL_MATRIX_INDEX_ARRAY_POINTER_ARB: u32 = 34889;
+pub const GL_MATRIX_INDEX_ARRAY_POINTER_OES: u32 = 34889;
+pub const GL_TEXTURE_DEPTH_SIZE: u32 = 34890;
+pub const GL_TEXTURE_DEPTH_SIZE_ARB: u32 = 34890;
+pub const GL_DEPTH_TEXTURE_MODE: u32 = 34891;
+pub const GL_DEPTH_TEXTURE_MODE_ARB: u32 = 34891;
+pub const GL_TEXTURE_COMPARE_MODE: u32 = 34892;
+pub const GL_TEXTURE_COMPARE_MODE_ARB: u32 = 34892;
+pub const GL_TEXTURE_COMPARE_MODE_EXT: u32 = 34892;
+pub const GL_TEXTURE_COMPARE_FUNC: u32 = 34893;
+pub const GL_TEXTURE_COMPARE_FUNC_ARB: u32 = 34893;
+pub const GL_TEXTURE_COMPARE_FUNC_EXT: u32 = 34893;
+pub const GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT: u32 = 34894;
+pub const GL_COMPARE_REF_TO_TEXTURE: u32 = 34894;
+pub const GL_COMPARE_REF_TO_TEXTURE_EXT: u32 = 34894;
+pub const GL_COMPARE_R_TO_TEXTURE: u32 = 34894;
+pub const GL_COMPARE_R_TO_TEXTURE_ARB: u32 = 34894;
+pub const GL_TEXTURE_CUBE_MAP_SEAMLESS: u32 = 34895;
+pub const GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV: u32 = 34896;
+pub const GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV: u32 = 34897;
+pub const GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV: u32 = 34898;
+pub const GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV: u32 = 34899;
+pub const GL_OFFSET_HILO_TEXTURE_2D_NV: u32 = 34900;
+pub const GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV: u32 = 34901;
+pub const GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV: u32 = 34902;
+pub const GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV: u32 = 34903;
+pub const GL_DEPENDENT_HILO_TEXTURE_2D_NV: u32 = 34904;
+pub const GL_DEPENDENT_RGB_TEXTURE_3D_NV: u32 = 34905;
+pub const GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV: u32 = 34906;
+pub const GL_DOT_PRODUCT_PASS_THROUGH_NV: u32 = 34907;
+pub const GL_DOT_PRODUCT_TEXTURE_1D_NV: u32 = 34908;
+pub const GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV: u32 = 34909;
+pub const GL_HILO8_NV: u32 = 34910;
+pub const GL_SIGNED_HILO8_NV: u32 = 34911;
+pub const GL_FORCE_BLUE_TO_ONE_NV: u32 = 34912;
+pub const GL_POINT_SPRITE: u32 = 34913;
+pub const GL_POINT_SPRITE_ARB: u32 = 34913;
+pub const GL_POINT_SPRITE_NV: u32 = 34913;
+pub const GL_POINT_SPRITE_OES: u32 = 34913;
+pub const GL_COORD_REPLACE: u32 = 34914;
+pub const GL_COORD_REPLACE_ARB: u32 = 34914;
+pub const GL_COORD_REPLACE_NV: u32 = 34914;
+pub const GL_COORD_REPLACE_OES: u32 = 34914;
+pub const GL_POINT_SPRITE_R_MODE_NV: u32 = 34915;
+pub const GL_PIXEL_COUNTER_BITS_NV: u32 = 34916;
+pub const GL_QUERY_COUNTER_BITS: u32 = 34916;
+pub const GL_QUERY_COUNTER_BITS_ARB: u32 = 34916;
+pub const GL_QUERY_COUNTER_BITS_EXT: u32 = 34916;
+pub const GL_CURRENT_OCCLUSION_QUERY_ID_NV: u32 = 34917;
+pub const GL_CURRENT_QUERY: u32 = 34917;
+pub const GL_CURRENT_QUERY_ARB: u32 = 34917;
+pub const GL_CURRENT_QUERY_EXT: u32 = 34917;
+pub const GL_PIXEL_COUNT_NV: u32 = 34918;
+pub const GL_QUERY_RESULT: u32 = 34918;
+pub const GL_QUERY_RESULT_ARB: u32 = 34918;
+pub const GL_QUERY_RESULT_EXT: u32 = 34918;
+pub const GL_PIXEL_COUNT_AVAILABLE_NV: u32 = 34919;
+pub const GL_QUERY_RESULT_AVAILABLE: u32 = 34919;
+pub const GL_QUERY_RESULT_AVAILABLE_ARB: u32 = 34919;
+pub const GL_QUERY_RESULT_AVAILABLE_EXT: u32 = 34919;
+pub const GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV: u32 = 34920;
+pub const GL_MAX_VERTEX_ATTRIBS: u32 = 34921;
+pub const GL_MAX_VERTEX_ATTRIBS_ARB: u32 = 34921;
+pub const GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: u32 = 34922;
+pub const GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB: u32 = 34922;
+pub const GL_MAX_TESS_CONTROL_INPUT_COMPONENTS: u32 = 34924;
+pub const GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT: u32 = 34924;
+pub const GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES: u32 = 34924;
+pub const GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS: u32 = 34925;
+pub const GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT: u32 = 34925;
+pub const GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES: u32 = 34925;
+pub const GL_DEPTH_STENCIL_TO_RGBA_NV: u32 = 34926;
+pub const GL_DEPTH_STENCIL_TO_BGRA_NV: u32 = 34927;
+pub const GL_FRAGMENT_PROGRAM_NV: u32 = 34928;
+pub const GL_MAX_TEXTURE_COORDS: u32 = 34929;
+pub const GL_MAX_TEXTURE_COORDS_ARB: u32 = 34929;
+pub const GL_MAX_TEXTURE_COORDS_NV: u32 = 34929;
+pub const GL_MAX_TEXTURE_IMAGE_UNITS: u32 = 34930;
+pub const GL_MAX_TEXTURE_IMAGE_UNITS_ARB: u32 = 34930;
+pub const GL_MAX_TEXTURE_IMAGE_UNITS_NV: u32 = 34930;
+pub const GL_FRAGMENT_PROGRAM_BINDING_NV: u32 = 34931;
+pub const GL_PROGRAM_ERROR_STRING_ARB: u32 = 34932;
+pub const GL_PROGRAM_ERROR_STRING_NV: u32 = 34932;
+pub const GL_PROGRAM_FORMAT_ASCII_ARB: u32 = 34933;
+pub const GL_PROGRAM_FORMAT_ARB: u32 = 34934;
+pub const GL_WRITE_PIXEL_DATA_RANGE_NV: u32 = 34936;
+pub const GL_READ_PIXEL_DATA_RANGE_NV: u32 = 34937;
+pub const GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV: u32 = 34938;
+pub const GL_READ_PIXEL_DATA_RANGE_LENGTH_NV: u32 = 34939;
+pub const GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV: u32 = 34940;
+pub const GL_READ_PIXEL_DATA_RANGE_POINTER_NV: u32 = 34941;
+pub const GL_GEOMETRY_SHADER_INVOCATIONS: u32 = 34943;
+pub const GL_GEOMETRY_SHADER_INVOCATIONS_EXT: u32 = 34943;
+pub const GL_GEOMETRY_SHADER_INVOCATIONS_OES: u32 = 34943;
+pub const GL_FLOAT_R_NV: u32 = 34944;
+pub const GL_FLOAT_RG_NV: u32 = 34945;
+pub const GL_FLOAT_RGB_NV: u32 = 34946;
+pub const GL_FLOAT_RGBA_NV: u32 = 34947;
+pub const GL_FLOAT_R16_NV: u32 = 34948;
+pub const GL_FLOAT_R32_NV: u32 = 34949;
+pub const GL_FLOAT_RG16_NV: u32 = 34950;
+pub const GL_FLOAT_RG32_NV: u32 = 34951;
+pub const GL_FLOAT_RGB16_NV: u32 = 34952;
+pub const GL_FLOAT_RGB32_NV: u32 = 34953;
+pub const GL_FLOAT_RGBA16_NV: u32 = 34954;
+pub const GL_FLOAT_RGBA32_NV: u32 = 34955;
+pub const GL_TEXTURE_FLOAT_COMPONENTS_NV: u32 = 34956;
+pub const GL_FLOAT_CLEAR_COLOR_VALUE_NV: u32 = 34957;
+pub const GL_FLOAT_RGBA_MODE_NV: u32 = 34958;
+pub const GL_TEXTURE_UNSIGNED_REMAP_MODE_NV: u32 = 34959;
+pub const GL_DEPTH_BOUNDS_TEST_EXT: u32 = 34960;
+pub const GL_DEPTH_BOUNDS_EXT: u32 = 34961;
+pub const GL_ARRAY_BUFFER: u32 = 34962;
+pub const GL_ARRAY_BUFFER_ARB: u32 = 34962;
+pub const GL_ELEMENT_ARRAY_BUFFER: u32 = 34963;
+pub const GL_ELEMENT_ARRAY_BUFFER_ARB: u32 = 34963;
+pub const GL_ARRAY_BUFFER_BINDING: u32 = 34964;
+pub const GL_ARRAY_BUFFER_BINDING_ARB: u32 = 34964;
+pub const GL_ELEMENT_ARRAY_BUFFER_BINDING: u32 = 34965;
+pub const GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB: u32 = 34965;
+pub const GL_VERTEX_ARRAY_BUFFER_BINDING: u32 = 34966;
+pub const GL_VERTEX_ARRAY_BUFFER_BINDING_ARB: u32 = 34966;
+pub const GL_NORMAL_ARRAY_BUFFER_BINDING: u32 = 34967;
+pub const GL_NORMAL_ARRAY_BUFFER_BINDING_ARB: u32 = 34967;
+pub const GL_COLOR_ARRAY_BUFFER_BINDING: u32 = 34968;
+pub const GL_COLOR_ARRAY_BUFFER_BINDING_ARB: u32 = 34968;
+pub const GL_INDEX_ARRAY_BUFFER_BINDING: u32 = 34969;
+pub const GL_INDEX_ARRAY_BUFFER_BINDING_ARB: u32 = 34969;
+pub const GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: u32 = 34970;
+pub const GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB: u32 = 34970;
+pub const GL_EDGE_FLAG_ARRAY_BUFFER_BINDING: u32 = 34971;
+pub const GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB: u32 = 34971;
+pub const GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING: u32 = 34972;
+pub const GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB: u32 = 34972;
+pub const GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING: u32 = 34973;
+pub const GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB: u32 = 34973;
+pub const GL_FOG_COORD_ARRAY_BUFFER_BINDING: u32 = 34973;
+pub const GL_WEIGHT_ARRAY_BUFFER_BINDING: u32 = 34974;
+pub const GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB: u32 = 34974;
+pub const GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: u32 = 34974;
+pub const GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: u32 = 34975;
+pub const GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB: u32 = 34975;
+pub const GL_PROGRAM_INSTRUCTIONS_ARB: u32 = 34976;
+pub const GL_MAX_PROGRAM_INSTRUCTIONS_ARB: u32 = 34977;
+pub const GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB: u32 = 34978;
+pub const GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB: u32 = 34979;
+pub const GL_PROGRAM_TEMPORARIES_ARB: u32 = 34980;
+pub const GL_MAX_PROGRAM_TEMPORARIES_ARB: u32 = 34981;
+pub const GL_PROGRAM_NATIVE_TEMPORARIES_ARB: u32 = 34982;
+pub const GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB: u32 = 34983;
+pub const GL_PROGRAM_PARAMETERS_ARB: u32 = 34984;
+pub const GL_MAX_PROGRAM_PARAMETERS_ARB: u32 = 34985;
+pub const GL_PROGRAM_NATIVE_PARAMETERS_ARB: u32 = 34986;
+pub const GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB: u32 = 34987;
+pub const GL_PROGRAM_ATTRIBS_ARB: u32 = 34988;
+pub const GL_MAX_PROGRAM_ATTRIBS_ARB: u32 = 34989;
+pub const GL_PROGRAM_NATIVE_ATTRIBS_ARB: u32 = 34990;
+pub const GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB: u32 = 34991;
+pub const GL_PROGRAM_ADDRESS_REGISTERS_ARB: u32 = 34992;
+pub const GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB: u32 = 34993;
+pub const GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB: u32 = 34994;
+pub const GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB: u32 = 34995;
+pub const GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB: u32 = 34996;
+pub const GL_MAX_PROGRAM_ENV_PARAMETERS_ARB: u32 = 34997;
+pub const GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB: u32 = 34998;
+pub const GL_TRANSPOSE_CURRENT_MATRIX_ARB: u32 = 34999;
+pub const GL_READ_ONLY: u32 = 35000;
+pub const GL_READ_ONLY_ARB: u32 = 35000;
+pub const GL_WRITE_ONLY: u32 = 35001;
+pub const GL_WRITE_ONLY_ARB: u32 = 35001;
+pub const GL_WRITE_ONLY_OES: u32 = 35001;
+pub const GL_READ_WRITE: u32 = 35002;
+pub const GL_READ_WRITE_ARB: u32 = 35002;
+pub const GL_BUFFER_ACCESS: u32 = 35003;
+pub const GL_BUFFER_ACCESS_ARB: u32 = 35003;
+pub const GL_BUFFER_ACCESS_OES: u32 = 35003;
+pub const GL_BUFFER_MAPPED: u32 = 35004;
+pub const GL_BUFFER_MAPPED_ARB: u32 = 35004;
+pub const GL_BUFFER_MAPPED_OES: u32 = 35004;
+pub const GL_BUFFER_MAP_POINTER: u32 = 35005;
+pub const GL_BUFFER_MAP_POINTER_ARB: u32 = 35005;
+pub const GL_BUFFER_MAP_POINTER_OES: u32 = 35005;
+pub const GL_WRITE_DISCARD_NV: u32 = 35006;
+pub const GL_TIME_ELAPSED: u32 = 35007;
+pub const GL_TIME_ELAPSED_EXT: u32 = 35007;
+pub const GL_MATRIX0_ARB: u32 = 35008;
+pub const GL_MATRIX1_ARB: u32 = 35009;
+pub const GL_MATRIX2_ARB: u32 = 35010;
+pub const GL_MATRIX3_ARB: u32 = 35011;
+pub const GL_MATRIX4_ARB: u32 = 35012;
+pub const GL_MATRIX5_ARB: u32 = 35013;
+pub const GL_MATRIX6_ARB: u32 = 35014;
+pub const GL_MATRIX7_ARB: u32 = 35015;
+pub const GL_MATRIX8_ARB: u32 = 35016;
+pub const GL_MATRIX9_ARB: u32 = 35017;
+pub const GL_MATRIX10_ARB: u32 = 35018;
+pub const GL_MATRIX11_ARB: u32 = 35019;
+pub const GL_MATRIX12_ARB: u32 = 35020;
+pub const GL_MATRIX13_ARB: u32 = 35021;
+pub const GL_MATRIX14_ARB: u32 = 35022;
+pub const GL_MATRIX15_ARB: u32 = 35023;
+pub const GL_MATRIX16_ARB: u32 = 35024;
+pub const GL_MATRIX17_ARB: u32 = 35025;
+pub const GL_MATRIX18_ARB: u32 = 35026;
+pub const GL_MATRIX19_ARB: u32 = 35027;
+pub const GL_MATRIX20_ARB: u32 = 35028;
+pub const GL_MATRIX21_ARB: u32 = 35029;
+pub const GL_MATRIX22_ARB: u32 = 35030;
+pub const GL_MATRIX23_ARB: u32 = 35031;
+pub const GL_MATRIX24_ARB: u32 = 35032;
+pub const GL_MATRIX25_ARB: u32 = 35033;
+pub const GL_MATRIX26_ARB: u32 = 35034;
+pub const GL_MATRIX27_ARB: u32 = 35035;
+pub const GL_MATRIX28_ARB: u32 = 35036;
+pub const GL_MATRIX29_ARB: u32 = 35037;
+pub const GL_MATRIX30_ARB: u32 = 35038;
+pub const GL_MATRIX31_ARB: u32 = 35039;
+pub const GL_STREAM_DRAW: u32 = 35040;
+pub const GL_STREAM_DRAW_ARB: u32 = 35040;
+pub const GL_STREAM_READ: u32 = 35041;
+pub const GL_STREAM_READ_ARB: u32 = 35041;
+pub const GL_STREAM_COPY: u32 = 35042;
+pub const GL_STREAM_COPY_ARB: u32 = 35042;
+pub const GL_STATIC_DRAW: u32 = 35044;
+pub const GL_STATIC_DRAW_ARB: u32 = 35044;
+pub const GL_STATIC_READ: u32 = 35045;
+pub const GL_STATIC_READ_ARB: u32 = 35045;
+pub const GL_STATIC_COPY: u32 = 35046;
+pub const GL_STATIC_COPY_ARB: u32 = 35046;
+pub const GL_DYNAMIC_DRAW: u32 = 35048;
+pub const GL_DYNAMIC_DRAW_ARB: u32 = 35048;
+pub const GL_DYNAMIC_READ: u32 = 35049;
+pub const GL_DYNAMIC_READ_ARB: u32 = 35049;
+pub const GL_DYNAMIC_COPY: u32 = 35050;
+pub const GL_DYNAMIC_COPY_ARB: u32 = 35050;
+pub const GL_PIXEL_PACK_BUFFER: u32 = 35051;
+pub const GL_PIXEL_PACK_BUFFER_ARB: u32 = 35051;
+pub const GL_PIXEL_PACK_BUFFER_EXT: u32 = 35051;
+pub const GL_PIXEL_UNPACK_BUFFER: u32 = 35052;
+pub const GL_PIXEL_UNPACK_BUFFER_ARB: u32 = 35052;
+pub const GL_PIXEL_UNPACK_BUFFER_EXT: u32 = 35052;
+pub const GL_PIXEL_PACK_BUFFER_BINDING: u32 = 35053;
+pub const GL_PIXEL_PACK_BUFFER_BINDING_ARB: u32 = 35053;
+pub const GL_PIXEL_PACK_BUFFER_BINDING_EXT: u32 = 35053;
+pub const GL_ETC1_SRGB8_NV: u32 = 35054;
+pub const GL_PIXEL_UNPACK_BUFFER_BINDING: u32 = 35055;
+pub const GL_PIXEL_UNPACK_BUFFER_BINDING_ARB: u32 = 35055;
+pub const GL_PIXEL_UNPACK_BUFFER_BINDING_EXT: u32 = 35055;
+pub const GL_DEPTH24_STENCIL8: u32 = 35056;
+pub const GL_DEPTH24_STENCIL8_EXT: u32 = 35056;
+pub const GL_DEPTH24_STENCIL8_OES: u32 = 35056;
+pub const GL_TEXTURE_STENCIL_SIZE: u32 = 35057;
+pub const GL_TEXTURE_STENCIL_SIZE_EXT: u32 = 35057;
+pub const GL_STENCIL_TAG_BITS_EXT: u32 = 35058;
+pub const GL_STENCIL_CLEAR_TAG_VALUE_EXT: u32 = 35059;
+pub const GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV: u32 = 35060;
+pub const GL_MAX_PROGRAM_CALL_DEPTH_NV: u32 = 35061;
+pub const GL_MAX_PROGRAM_IF_DEPTH_NV: u32 = 35062;
+pub const GL_MAX_PROGRAM_LOOP_DEPTH_NV: u32 = 35063;
+pub const GL_MAX_PROGRAM_LOOP_COUNT_NV: u32 = 35064;
+pub const GL_SRC1_COLOR: u32 = 35065;
+pub const GL_SRC1_COLOR_EXT: u32 = 35065;
+pub const GL_ONE_MINUS_SRC1_COLOR: u32 = 35066;
+pub const GL_ONE_MINUS_SRC1_COLOR_EXT: u32 = 35066;
+pub const GL_ONE_MINUS_SRC1_ALPHA: u32 = 35067;
+pub const GL_ONE_MINUS_SRC1_ALPHA_EXT: u32 = 35067;
+pub const GL_MAX_DUAL_SOURCE_DRAW_BUFFERS: u32 = 35068;
+pub const GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT: u32 = 35068;
+pub const GL_VERTEX_ATTRIB_ARRAY_INTEGER: u32 = 35069;
+pub const GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT: u32 = 35069;
+pub const GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV: u32 = 35069;
+pub const GL_VERTEX_ATTRIB_ARRAY_DIVISOR: u32 = 35070;
+pub const GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: u32 = 35070;
+pub const GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB: u32 = 35070;
+pub const GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT: u32 = 35070;
+pub const GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV: u32 = 35070;
+pub const GL_MAX_ARRAY_TEXTURE_LAYERS: u32 = 35071;
+pub const GL_MAX_ARRAY_TEXTURE_LAYERS_EXT: u32 = 35071;
+pub const GL_MIN_PROGRAM_TEXEL_OFFSET: u32 = 35076;
+pub const GL_MIN_PROGRAM_TEXEL_OFFSET_EXT: u32 = 35076;
+pub const GL_MIN_PROGRAM_TEXEL_OFFSET_NV: u32 = 35076;
+pub const GL_MAX_PROGRAM_TEXEL_OFFSET: u32 = 35077;
+pub const GL_MAX_PROGRAM_TEXEL_OFFSET_EXT: u32 = 35077;
+pub const GL_MAX_PROGRAM_TEXEL_OFFSET_NV: u32 = 35077;
+pub const GL_PROGRAM_ATTRIB_COMPONENTS_NV: u32 = 35078;
+pub const GL_PROGRAM_RESULT_COMPONENTS_NV: u32 = 35079;
+pub const GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV: u32 = 35080;
+pub const GL_MAX_PROGRAM_RESULT_COMPONENTS_NV: u32 = 35081;
+pub const GL_STENCIL_TEST_TWO_SIDE_EXT: u32 = 35088;
+pub const GL_ACTIVE_STENCIL_FACE_EXT: u32 = 35089;
+pub const GL_MIRROR_CLAMP_TO_BORDER_EXT: u32 = 35090;
+pub const GL_SAMPLES_PASSED: u32 = 35092;
+pub const GL_SAMPLES_PASSED_ARB: u32 = 35092;
+pub const GL_GEOMETRY_LINKED_VERTICES_OUT_EXT: u32 = 35094;
+pub const GL_GEOMETRY_LINKED_VERTICES_OUT_OES: u32 = 35094;
+pub const GL_GEOMETRY_VERTICES_OUT: u32 = 35094;
+pub const GL_GEOMETRY_INPUT_TYPE: u32 = 35095;
+pub const GL_GEOMETRY_LINKED_INPUT_TYPE_EXT: u32 = 35095;
+pub const GL_GEOMETRY_LINKED_INPUT_TYPE_OES: u32 = 35095;
+pub const GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT: u32 = 35096;
+pub const GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES: u32 = 35096;
+pub const GL_GEOMETRY_OUTPUT_TYPE: u32 = 35096;
+pub const GL_SAMPLER_BINDING: u32 = 35097;
+pub const GL_CLAMP_VERTEX_COLOR: u32 = 35098;
+pub const GL_CLAMP_VERTEX_COLOR_ARB: u32 = 35098;
+pub const GL_CLAMP_FRAGMENT_COLOR: u32 = 35099;
+pub const GL_CLAMP_FRAGMENT_COLOR_ARB: u32 = 35099;
+pub const GL_CLAMP_READ_COLOR: u32 = 35100;
+pub const GL_CLAMP_READ_COLOR_ARB: u32 = 35100;
+pub const GL_FIXED_ONLY: u32 = 35101;
+pub const GL_FIXED_ONLY_ARB: u32 = 35101;
+pub const GL_TESS_CONTROL_PROGRAM_NV: u32 = 35102;
+pub const GL_TESS_EVALUATION_PROGRAM_NV: u32 = 35103;
+pub const GL_FRAGMENT_SHADER_ATI: u32 = 35104;
+pub const GL_REG_0_ATI: u32 = 35105;
+pub const GL_REG_1_ATI: u32 = 35106;
+pub const GL_REG_2_ATI: u32 = 35107;
+pub const GL_REG_3_ATI: u32 = 35108;
+pub const GL_REG_4_ATI: u32 = 35109;
+pub const GL_REG_5_ATI: u32 = 35110;
+pub const GL_REG_6_ATI: u32 = 35111;
+pub const GL_REG_7_ATI: u32 = 35112;
+pub const GL_REG_8_ATI: u32 = 35113;
+pub const GL_REG_9_ATI: u32 = 35114;
+pub const GL_REG_10_ATI: u32 = 35115;
+pub const GL_REG_11_ATI: u32 = 35116;
+pub const GL_REG_12_ATI: u32 = 35117;
+pub const GL_REG_13_ATI: u32 = 35118;
+pub const GL_REG_14_ATI: u32 = 35119;
+pub const GL_REG_15_ATI: u32 = 35120;
+pub const GL_REG_16_ATI: u32 = 35121;
+pub const GL_REG_17_ATI: u32 = 35122;
+pub const GL_REG_18_ATI: u32 = 35123;
+pub const GL_REG_19_ATI: u32 = 35124;
+pub const GL_REG_20_ATI: u32 = 35125;
+pub const GL_REG_21_ATI: u32 = 35126;
+pub const GL_REG_22_ATI: u32 = 35127;
+pub const GL_REG_23_ATI: u32 = 35128;
+pub const GL_REG_24_ATI: u32 = 35129;
+pub const GL_REG_25_ATI: u32 = 35130;
+pub const GL_REG_26_ATI: u32 = 35131;
+pub const GL_REG_27_ATI: u32 = 35132;
+pub const GL_REG_28_ATI: u32 = 35133;
+pub const GL_REG_29_ATI: u32 = 35134;
+pub const GL_REG_30_ATI: u32 = 35135;
+pub const GL_REG_31_ATI: u32 = 35136;
+pub const GL_CON_0_ATI: u32 = 35137;
+pub const GL_CON_1_ATI: u32 = 35138;
+pub const GL_CON_2_ATI: u32 = 35139;
+pub const GL_CON_3_ATI: u32 = 35140;
+pub const GL_CON_4_ATI: u32 = 35141;
+pub const GL_CON_5_ATI: u32 = 35142;
+pub const GL_CON_6_ATI: u32 = 35143;
+pub const GL_CON_7_ATI: u32 = 35144;
+pub const GL_CON_8_ATI: u32 = 35145;
+pub const GL_CON_9_ATI: u32 = 35146;
+pub const GL_CON_10_ATI: u32 = 35147;
+pub const GL_CON_11_ATI: u32 = 35148;
+pub const GL_CON_12_ATI: u32 = 35149;
+pub const GL_CON_13_ATI: u32 = 35150;
+pub const GL_CON_14_ATI: u32 = 35151;
+pub const GL_CON_15_ATI: u32 = 35152;
+pub const GL_CON_16_ATI: u32 = 35153;
+pub const GL_CON_17_ATI: u32 = 35154;
+pub const GL_CON_18_ATI: u32 = 35155;
+pub const GL_CON_19_ATI: u32 = 35156;
+pub const GL_CON_20_ATI: u32 = 35157;
+pub const GL_CON_21_ATI: u32 = 35158;
+pub const GL_CON_22_ATI: u32 = 35159;
+pub const GL_CON_23_ATI: u32 = 35160;
+pub const GL_CON_24_ATI: u32 = 35161;
+pub const GL_CON_25_ATI: u32 = 35162;
+pub const GL_CON_26_ATI: u32 = 35163;
+pub const GL_CON_27_ATI: u32 = 35164;
+pub const GL_CON_28_ATI: u32 = 35165;
+pub const GL_CON_29_ATI: u32 = 35166;
+pub const GL_CON_30_ATI: u32 = 35167;
+pub const GL_CON_31_ATI: u32 = 35168;
+pub const GL_MOV_ATI: u32 = 35169;
+pub const GL_ADD_ATI: u32 = 35171;
+pub const GL_MUL_ATI: u32 = 35172;
+pub const GL_SUB_ATI: u32 = 35173;
+pub const GL_DOT3_ATI: u32 = 35174;
+pub const GL_DOT4_ATI: u32 = 35175;
+pub const GL_MAD_ATI: u32 = 35176;
+pub const GL_LERP_ATI: u32 = 35177;
+pub const GL_CND_ATI: u32 = 35178;
+pub const GL_CND0_ATI: u32 = 35179;
+pub const GL_DOT2_ADD_ATI: u32 = 35180;
+pub const GL_SECONDARY_INTERPOLATOR_ATI: u32 = 35181;
+pub const GL_NUM_FRAGMENT_REGISTERS_ATI: u32 = 35182;
+pub const GL_NUM_FRAGMENT_CONSTANTS_ATI: u32 = 35183;
+pub const GL_NUM_PASSES_ATI: u32 = 35184;
+pub const GL_NUM_INSTRUCTIONS_PER_PASS_ATI: u32 = 35185;
+pub const GL_NUM_INSTRUCTIONS_TOTAL_ATI: u32 = 35186;
+pub const GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI: u32 = 35187;
+pub const GL_NUM_LOOPBACK_COMPONENTS_ATI: u32 = 35188;
+pub const GL_COLOR_ALPHA_PAIRING_ATI: u32 = 35189;
+pub const GL_SWIZZLE_STR_ATI: u32 = 35190;
+pub const GL_SWIZZLE_STQ_ATI: u32 = 35191;
+pub const GL_SWIZZLE_STR_DR_ATI: u32 = 35192;
+pub const GL_SWIZZLE_STQ_DQ_ATI: u32 = 35193;
+pub const GL_SWIZZLE_STRQ_ATI: u32 = 35194;
+pub const GL_SWIZZLE_STRQ_DQ_ATI: u32 = 35195;
+pub const GL_INTERLACE_OML: u32 = 35200;
+pub const GL_INTERLACE_READ_OML: u32 = 35201;
+pub const GL_FORMAT_SUBSAMPLE_24_24_OML: u32 = 35202;
+pub const GL_FORMAT_SUBSAMPLE_244_244_OML: u32 = 35203;
+pub const GL_PACK_RESAMPLE_OML: u32 = 35204;
+pub const GL_UNPACK_RESAMPLE_OML: u32 = 35205;
+pub const GL_RESAMPLE_REPLICATE_OML: u32 = 35206;
+pub const GL_RESAMPLE_ZERO_FILL_OML: u32 = 35207;
+pub const GL_RESAMPLE_AVERAGE_OML: u32 = 35208;
+pub const GL_RESAMPLE_DECIMATE_OML: u32 = 35209;
+pub const GL_POINT_SIZE_ARRAY_TYPE_OES: u32 = 35210;
+pub const GL_POINT_SIZE_ARRAY_STRIDE_OES: u32 = 35211;
+pub const GL_POINT_SIZE_ARRAY_POINTER_OES: u32 = 35212;
+pub const GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: u32 = 35213;
+pub const GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: u32 = 35214;
+pub const GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: u32 = 35215;
+pub const GL_VERTEX_ATTRIB_MAP1_APPLE: u32 = 35328;
+pub const GL_VERTEX_ATTRIB_MAP2_APPLE: u32 = 35329;
+pub const GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE: u32 = 35330;
+pub const GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE: u32 = 35331;
+pub const GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE: u32 = 35332;
+pub const GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE: u32 = 35333;
+pub const GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE: u32 = 35334;
+pub const GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE: u32 = 35335;
+pub const GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE: u32 = 35336;
+pub const GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE: u32 = 35337;
+pub const GL_DRAW_PIXELS_APPLE: u32 = 35338;
+pub const GL_FENCE_APPLE: u32 = 35339;
+pub const GL_ELEMENT_ARRAY_APPLE: u32 = 35340;
+pub const GL_ELEMENT_ARRAY_TYPE_APPLE: u32 = 35341;
+pub const GL_ELEMENT_ARRAY_POINTER_APPLE: u32 = 35342;
+pub const GL_COLOR_FLOAT_APPLE: u32 = 35343;
+pub const GL_UNIFORM_BUFFER: u32 = 35345;
+pub const GL_BUFFER_SERIALIZED_MODIFY_APPLE: u32 = 35346;
+pub const GL_BUFFER_FLUSHING_UNMAP_APPLE: u32 = 35347;
+pub const GL_AUX_DEPTH_STENCIL_APPLE: u32 = 35348;
+pub const GL_PACK_ROW_BYTES_APPLE: u32 = 35349;
+pub const GL_UNPACK_ROW_BYTES_APPLE: u32 = 35350;
+pub const GL_RELEASED_APPLE: u32 = 35353;
+pub const GL_VOLATILE_APPLE: u32 = 35354;
+pub const GL_RETAINED_APPLE: u32 = 35355;
+pub const GL_UNDEFINED_APPLE: u32 = 35356;
+pub const GL_PURGEABLE_APPLE: u32 = 35357;
+pub const GL_RGB_422_APPLE: u32 = 35359;
+pub const GL_UNIFORM_BUFFER_BINDING: u32 = 35368;
+pub const GL_UNIFORM_BUFFER_START: u32 = 35369;
+pub const GL_UNIFORM_BUFFER_SIZE: u32 = 35370;
+pub const GL_MAX_VERTEX_UNIFORM_BLOCKS: u32 = 35371;
+pub const GL_MAX_GEOMETRY_UNIFORM_BLOCKS: u32 = 35372;
+pub const GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT: u32 = 35372;
+pub const GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES: u32 = 35372;
+pub const GL_MAX_FRAGMENT_UNIFORM_BLOCKS: u32 = 35373;
+pub const GL_MAX_COMBINED_UNIFORM_BLOCKS: u32 = 35374;
+pub const GL_MAX_UNIFORM_BUFFER_BINDINGS: u32 = 35375;
+pub const GL_MAX_UNIFORM_BLOCK_SIZE: u32 = 35376;
+pub const GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: u32 = 35377;
+pub const GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS: u32 = 35378;
+pub const GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT: u32 = 35378;
+pub const GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES: u32 = 35378;
+pub const GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: u32 = 35379;
+pub const GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: u32 = 35380;
+pub const GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH: u32 = 35381;
+pub const GL_ACTIVE_UNIFORM_BLOCKS: u32 = 35382;
+pub const GL_UNIFORM_TYPE: u32 = 35383;
+pub const GL_UNIFORM_SIZE: u32 = 35384;
+pub const GL_UNIFORM_NAME_LENGTH: u32 = 35385;
+pub const GL_UNIFORM_BLOCK_INDEX: u32 = 35386;
+pub const GL_UNIFORM_OFFSET: u32 = 35387;
+pub const GL_UNIFORM_ARRAY_STRIDE: u32 = 35388;
+pub const GL_UNIFORM_MATRIX_STRIDE: u32 = 35389;
+pub const GL_UNIFORM_IS_ROW_MAJOR: u32 = 35390;
+pub const GL_UNIFORM_BLOCK_BINDING: u32 = 35391;
+pub const GL_UNIFORM_BLOCK_DATA_SIZE: u32 = 35392;
+pub const GL_UNIFORM_BLOCK_NAME_LENGTH: u32 = 35393;
+pub const GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS: u32 = 35394;
+pub const GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: u32 = 35395;
+pub const GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: u32 = 35396;
+pub const GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER: u32 = 35397;
+pub const GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: u32 = 35398;
+pub const GL_TEXTURE_SRGB_DECODE_EXT: u32 = 35400;
+pub const GL_DECODE_EXT: u32 = 35401;
+pub const GL_SKIP_DECODE_EXT: u32 = 35402;
+pub const GL_PROGRAM_PIPELINE_OBJECT_EXT: u32 = 35407;
+pub const GL_RGB_RAW_422_APPLE: u32 = 35409;
+pub const GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT: u32 = 35410;
+pub const GL_SYNC_OBJECT_APPLE: u32 = 35411;
+pub const GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT: u32 = 35412;
+pub const GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT: u32 = 35413;
+pub const GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT: u32 = 35414;
+pub const GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT: u32 = 35415;
+pub const GL_FRAGMENT_SHADER: u32 = 35632;
+pub const GL_FRAGMENT_SHADER_ARB: u32 = 35632;
+pub const GL_VERTEX_SHADER: u32 = 35633;
+pub const GL_VERTEX_SHADER_ARB: u32 = 35633;
+pub const GL_PROGRAM_OBJECT_ARB: u32 = 35648;
+pub const GL_PROGRAM_OBJECT_EXT: u32 = 35648;
+pub const GL_SHADER_OBJECT_ARB: u32 = 35656;
+pub const GL_SHADER_OBJECT_EXT: u32 = 35656;
+pub const GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: u32 = 35657;
+pub const GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB: u32 = 35657;
+pub const GL_MAX_VERTEX_UNIFORM_COMPONENTS: u32 = 35658;
+pub const GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB: u32 = 35658;
+pub const GL_MAX_VARYING_COMPONENTS: u32 = 35659;
+pub const GL_MAX_VARYING_COMPONENTS_EXT: u32 = 35659;
+pub const GL_MAX_VARYING_FLOATS: u32 = 35659;
+pub const GL_MAX_VARYING_FLOATS_ARB: u32 = 35659;
+pub const GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: u32 = 35660;
+pub const GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB: u32 = 35660;
+pub const GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: u32 = 35661;
+pub const GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB: u32 = 35661;
+pub const GL_OBJECT_TYPE_ARB: u32 = 35662;
+pub const GL_OBJECT_SUBTYPE_ARB: u32 = 35663;
+pub const GL_SHADER_TYPE: u32 = 35663;
+pub const GL_FLOAT_VEC2: u32 = 35664;
+pub const GL_FLOAT_VEC2_ARB: u32 = 35664;
+pub const GL_FLOAT_VEC3: u32 = 35665;
+pub const GL_FLOAT_VEC3_ARB: u32 = 35665;
+pub const GL_FLOAT_VEC4: u32 = 35666;
+pub const GL_FLOAT_VEC4_ARB: u32 = 35666;
+pub const GL_INT_VEC2: u32 = 35667;
+pub const GL_INT_VEC2_ARB: u32 = 35667;
+pub const GL_INT_VEC3: u32 = 35668;
+pub const GL_INT_VEC3_ARB: u32 = 35668;
+pub const GL_INT_VEC4: u32 = 35669;
+pub const GL_INT_VEC4_ARB: u32 = 35669;
+pub const GL_BOOL: u32 = 35670;
+pub const GL_BOOL_ARB: u32 = 35670;
+pub const GL_BOOL_VEC2: u32 = 35671;
+pub const GL_BOOL_VEC2_ARB: u32 = 35671;
+pub const GL_BOOL_VEC3: u32 = 35672;
+pub const GL_BOOL_VEC3_ARB: u32 = 35672;
+pub const GL_BOOL_VEC4: u32 = 35673;
+pub const GL_BOOL_VEC4_ARB: u32 = 35673;
+pub const GL_FLOAT_MAT2: u32 = 35674;
+pub const GL_FLOAT_MAT2_ARB: u32 = 35674;
+pub const GL_FLOAT_MAT3: u32 = 35675;
+pub const GL_FLOAT_MAT3_ARB: u32 = 35675;
+pub const GL_FLOAT_MAT4: u32 = 35676;
+pub const GL_FLOAT_MAT4_ARB: u32 = 35676;
+pub const GL_SAMPLER_1D: u32 = 35677;
+pub const GL_SAMPLER_1D_ARB: u32 = 35677;
+pub const GL_SAMPLER_2D: u32 = 35678;
+pub const GL_SAMPLER_2D_ARB: u32 = 35678;
+pub const GL_SAMPLER_3D: u32 = 35679;
+pub const GL_SAMPLER_3D_ARB: u32 = 35679;
+pub const GL_SAMPLER_3D_OES: u32 = 35679;
+pub const GL_SAMPLER_CUBE: u32 = 35680;
+pub const GL_SAMPLER_CUBE_ARB: u32 = 35680;
+pub const GL_SAMPLER_1D_SHADOW: u32 = 35681;
+pub const GL_SAMPLER_1D_SHADOW_ARB: u32 = 35681;
+pub const GL_SAMPLER_2D_SHADOW: u32 = 35682;
+pub const GL_SAMPLER_2D_SHADOW_ARB: u32 = 35682;
+pub const GL_SAMPLER_2D_SHADOW_EXT: u32 = 35682;
+pub const GL_SAMPLER_2D_RECT: u32 = 35683;
+pub const GL_SAMPLER_2D_RECT_ARB: u32 = 35683;
+pub const GL_SAMPLER_2D_RECT_SHADOW: u32 = 35684;
+pub const GL_SAMPLER_2D_RECT_SHADOW_ARB: u32 = 35684;
+pub const GL_FLOAT_MAT2x3: u32 = 35685;
+pub const GL_FLOAT_MAT2x3_NV: u32 = 35685;
+pub const GL_FLOAT_MAT2x4: u32 = 35686;
+pub const GL_FLOAT_MAT2x4_NV: u32 = 35686;
+pub const GL_FLOAT_MAT3x2: u32 = 35687;
+pub const GL_FLOAT_MAT3x2_NV: u32 = 35687;
+pub const GL_FLOAT_MAT3x4: u32 = 35688;
+pub const GL_FLOAT_MAT3x4_NV: u32 = 35688;
+pub const GL_FLOAT_MAT4x2: u32 = 35689;
+pub const GL_FLOAT_MAT4x2_NV: u32 = 35689;
+pub const GL_FLOAT_MAT4x3: u32 = 35690;
+pub const GL_FLOAT_MAT4x3_NV: u32 = 35690;
+pub const GL_DELETE_STATUS: u32 = 35712;
+pub const GL_OBJECT_DELETE_STATUS_ARB: u32 = 35712;
+pub const GL_COMPILE_STATUS: u32 = 35713;
+pub const GL_OBJECT_COMPILE_STATUS_ARB: u32 = 35713;
+pub const GL_LINK_STATUS: u32 = 35714;
+pub const GL_OBJECT_LINK_STATUS_ARB: u32 = 35714;
+pub const GL_OBJECT_VALIDATE_STATUS_ARB: u32 = 35715;
+pub const GL_VALIDATE_STATUS: u32 = 35715;
+pub const GL_INFO_LOG_LENGTH: u32 = 35716;
+pub const GL_OBJECT_INFO_LOG_LENGTH_ARB: u32 = 35716;
+pub const GL_ATTACHED_SHADERS: u32 = 35717;
+pub const GL_OBJECT_ATTACHED_OBJECTS_ARB: u32 = 35717;
+pub const GL_ACTIVE_UNIFORMS: u32 = 35718;
+pub const GL_OBJECT_ACTIVE_UNIFORMS_ARB: u32 = 35718;
+pub const GL_ACTIVE_UNIFORM_MAX_LENGTH: u32 = 35719;
+pub const GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB: u32 = 35719;
+pub const GL_OBJECT_SHADER_SOURCE_LENGTH_ARB: u32 = 35720;
+pub const GL_SHADER_SOURCE_LENGTH: u32 = 35720;
+pub const GL_ACTIVE_ATTRIBUTES: u32 = 35721;
+pub const GL_OBJECT_ACTIVE_ATTRIBUTES_ARB: u32 = 35721;
+pub const GL_ACTIVE_ATTRIBUTE_MAX_LENGTH: u32 = 35722;
+pub const GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB: u32 = 35722;
+pub const GL_FRAGMENT_SHADER_DERIVATIVE_HINT: u32 = 35723;
+pub const GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB: u32 = 35723;
+pub const GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES: u32 = 35723;
+pub const GL_SHADING_LANGUAGE_VERSION: u32 = 35724;
+pub const GL_SHADING_LANGUAGE_VERSION_ARB: u32 = 35724;
+pub const GL_ACTIVE_PROGRAM_EXT: u32 = 35725;
+pub const GL_CURRENT_PROGRAM: u32 = 35725;
+pub const GL_PALETTE4_RGB8_OES: u32 = 35728;
+pub const GL_PALETTE4_RGBA8_OES: u32 = 35729;
+pub const GL_PALETTE4_R5_G6_B5_OES: u32 = 35730;
+pub const GL_PALETTE4_RGBA4_OES: u32 = 35731;
+pub const GL_PALETTE4_RGB5_A1_OES: u32 = 35732;
+pub const GL_PALETTE8_RGB8_OES: u32 = 35733;
+pub const GL_PALETTE8_RGBA8_OES: u32 = 35734;
+pub const GL_PALETTE8_R5_G6_B5_OES: u32 = 35735;
+pub const GL_PALETTE8_RGBA4_OES: u32 = 35736;
+pub const GL_PALETTE8_RGB5_A1_OES: u32 = 35737;
+pub const GL_IMPLEMENTATION_COLOR_READ_TYPE: u32 = 35738;
+pub const GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: u32 = 35738;
+pub const GL_IMPLEMENTATION_COLOR_READ_FORMAT: u32 = 35739;
+pub const GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: u32 = 35739;
+pub const GL_POINT_SIZE_ARRAY_OES: u32 = 35740;
+pub const GL_TEXTURE_CROP_RECT_OES: u32 = 35741;
+pub const GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: u32 = 35742;
+pub const GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: u32 = 35743;
+pub const GL_FRAGMENT_PROGRAM_POSITION_MESA: u32 = 35760;
+pub const GL_FRAGMENT_PROGRAM_CALLBACK_MESA: u32 = 35761;
+pub const GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA: u32 = 35762;
+pub const GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA: u32 = 35763;
+pub const GL_VERTEX_PROGRAM_POSITION_MESA: u32 = 35764;
+pub const GL_VERTEX_PROGRAM_CALLBACK_MESA: u32 = 35765;
+pub const GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA: u32 = 35766;
+pub const GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA: u32 = 35767;
+pub const GL_COUNTER_TYPE_AMD: u32 = 35776;
+pub const GL_COUNTER_RANGE_AMD: u32 = 35777;
+pub const GL_UNSIGNED_INT64_AMD: u32 = 35778;
+pub const GL_PERCENTAGE_AMD: u32 = 35779;
+pub const GL_PERFMON_RESULT_AVAILABLE_AMD: u32 = 35780;
+pub const GL_PERFMON_RESULT_SIZE_AMD: u32 = 35781;
+pub const GL_PERFMON_RESULT_AMD: u32 = 35782;
+pub const GL_TEXTURE_WIDTH_QCOM: u32 = 35794;
+pub const GL_TEXTURE_HEIGHT_QCOM: u32 = 35795;
+pub const GL_TEXTURE_DEPTH_QCOM: u32 = 35796;
+pub const GL_TEXTURE_INTERNAL_FORMAT_QCOM: u32 = 35797;
+pub const GL_TEXTURE_FORMAT_QCOM: u32 = 35798;
+pub const GL_TEXTURE_TYPE_QCOM: u32 = 35799;
+pub const GL_TEXTURE_IMAGE_VALID_QCOM: u32 = 35800;
+pub const GL_TEXTURE_NUM_LEVELS_QCOM: u32 = 35801;
+pub const GL_TEXTURE_TARGET_QCOM: u32 = 35802;
+pub const GL_TEXTURE_OBJECT_VALID_QCOM: u32 = 35803;
+pub const GL_STATE_RESTORE: u32 = 35804;
+pub const GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT: u32 = 35815;
+pub const GL_TEXTURE_PROTECTED_EXT: u32 = 35834;
+pub const GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG: u32 = 35840;
+pub const GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG: u32 = 35841;
+pub const GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: u32 = 35842;
+pub const GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: u32 = 35843;
+pub const GL_MODULATE_COLOR_IMG: u32 = 35844;
+pub const GL_RECIP_ADD_SIGNED_ALPHA_IMG: u32 = 35845;
+pub const GL_TEXTURE_ALPHA_MODULATE_IMG: u32 = 35846;
+pub const GL_FACTOR_ALPHA_MODULATE_IMG: u32 = 35847;
+pub const GL_FRAGMENT_ALPHA_MODULATE_IMG: u32 = 35848;
+pub const GL_ADD_BLEND_IMG: u32 = 35849;
+pub const GL_SGX_BINARY_IMG: u32 = 35850;
+pub const GL_TEXTURE_RED_TYPE: u32 = 35856;
+pub const GL_TEXTURE_RED_TYPE_ARB: u32 = 35856;
+pub const GL_TEXTURE_GREEN_TYPE: u32 = 35857;
+pub const GL_TEXTURE_GREEN_TYPE_ARB: u32 = 35857;
+pub const GL_TEXTURE_BLUE_TYPE: u32 = 35858;
+pub const GL_TEXTURE_BLUE_TYPE_ARB: u32 = 35858;
+pub const GL_TEXTURE_ALPHA_TYPE: u32 = 35859;
+pub const GL_TEXTURE_ALPHA_TYPE_ARB: u32 = 35859;
+pub const GL_TEXTURE_LUMINANCE_TYPE: u32 = 35860;
+pub const GL_TEXTURE_LUMINANCE_TYPE_ARB: u32 = 35860;
+pub const GL_TEXTURE_INTENSITY_TYPE: u32 = 35861;
+pub const GL_TEXTURE_INTENSITY_TYPE_ARB: u32 = 35861;
+pub const GL_TEXTURE_DEPTH_TYPE: u32 = 35862;
+pub const GL_TEXTURE_DEPTH_TYPE_ARB: u32 = 35862;
+pub const GL_UNSIGNED_NORMALIZED: u32 = 35863;
+pub const GL_UNSIGNED_NORMALIZED_ARB: u32 = 35863;
+pub const GL_UNSIGNED_NORMALIZED_EXT: u32 = 35863;
+pub const GL_TEXTURE_1D_ARRAY: u32 = 35864;
+pub const GL_TEXTURE_1D_ARRAY_EXT: u32 = 35864;
+pub const GL_PROXY_TEXTURE_1D_ARRAY: u32 = 35865;
+pub const GL_PROXY_TEXTURE_1D_ARRAY_EXT: u32 = 35865;
+pub const GL_TEXTURE_2D_ARRAY: u32 = 35866;
+pub const GL_TEXTURE_2D_ARRAY_EXT: u32 = 35866;
+pub const GL_PROXY_TEXTURE_2D_ARRAY: u32 = 35867;
+pub const GL_PROXY_TEXTURE_2D_ARRAY_EXT: u32 = 35867;
+pub const GL_TEXTURE_BINDING_1D_ARRAY: u32 = 35868;
+pub const GL_TEXTURE_BINDING_1D_ARRAY_EXT: u32 = 35868;
+pub const GL_TEXTURE_BINDING_2D_ARRAY: u32 = 35869;
+pub const GL_TEXTURE_BINDING_2D_ARRAY_EXT: u32 = 35869;
+pub const GL_GEOMETRY_PROGRAM_NV: u32 = 35878;
+pub const GL_MAX_PROGRAM_OUTPUT_VERTICES_NV: u32 = 35879;
+pub const GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV: u32 = 35880;
+pub const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS: u32 = 35881;
+pub const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB: u32 = 35881;
+pub const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT: u32 = 35881;
+pub const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES: u32 = 35881;
+pub const GL_TEXTURE_BUFFER: u32 = 35882;
+pub const GL_TEXTURE_BUFFER_ARB: u32 = 35882;
+pub const GL_TEXTURE_BUFFER_BINDING: u32 = 35882;
+pub const GL_TEXTURE_BUFFER_BINDING_EXT: u32 = 35882;
+pub const GL_TEXTURE_BUFFER_BINDING_OES: u32 = 35882;
+pub const GL_TEXTURE_BUFFER_EXT: u32 = 35882;
+pub const GL_TEXTURE_BUFFER_OES: u32 = 35882;
+pub const GL_MAX_TEXTURE_BUFFER_SIZE: u32 = 35883;
+pub const GL_MAX_TEXTURE_BUFFER_SIZE_ARB: u32 = 35883;
+pub const GL_MAX_TEXTURE_BUFFER_SIZE_EXT: u32 = 35883;
+pub const GL_MAX_TEXTURE_BUFFER_SIZE_OES: u32 = 35883;
+pub const GL_TEXTURE_BINDING_BUFFER: u32 = 35884;
+pub const GL_TEXTURE_BINDING_BUFFER_ARB: u32 = 35884;
+pub const GL_TEXTURE_BINDING_BUFFER_EXT: u32 = 35884;
+pub const GL_TEXTURE_BINDING_BUFFER_OES: u32 = 35884;
+pub const GL_TEXTURE_BUFFER_DATA_STORE_BINDING: u32 = 35885;
+pub const GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB: u32 = 35885;
+pub const GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT: u32 = 35885;
+pub const GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES: u32 = 35885;
+pub const GL_TEXTURE_BUFFER_FORMAT_ARB: u32 = 35886;
+pub const GL_TEXTURE_BUFFER_FORMAT_EXT: u32 = 35886;
+pub const GL_ANY_SAMPLES_PASSED: u32 = 35887;
+pub const GL_ANY_SAMPLES_PASSED_EXT: u32 = 35887;
+pub const GL_SAMPLE_SHADING: u32 = 35894;
+pub const GL_SAMPLE_SHADING_ARB: u32 = 35894;
+pub const GL_SAMPLE_SHADING_OES: u32 = 35894;
+pub const GL_MIN_SAMPLE_SHADING_VALUE: u32 = 35895;
+pub const GL_MIN_SAMPLE_SHADING_VALUE_ARB: u32 = 35895;
+pub const GL_MIN_SAMPLE_SHADING_VALUE_OES: u32 = 35895;
+pub const GL_R11F_G11F_B10F: u32 = 35898;
+pub const GL_R11F_G11F_B10F_APPLE: u32 = 35898;
+pub const GL_R11F_G11F_B10F_EXT: u32 = 35898;
+pub const GL_UNSIGNED_INT_10F_11F_11F_REV: u32 = 35899;
+pub const GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE: u32 = 35899;
+pub const GL_UNSIGNED_INT_10F_11F_11F_REV_EXT: u32 = 35899;
+pub const GL_RGBA_SIGNED_COMPONENTS_EXT: u32 = 35900;
+pub const GL_RGB9_E5: u32 = 35901;
+pub const GL_RGB9_E5_APPLE: u32 = 35901;
+pub const GL_RGB9_E5_EXT: u32 = 35901;
+pub const GL_UNSIGNED_INT_5_9_9_9_REV: u32 = 35902;
+pub const GL_UNSIGNED_INT_5_9_9_9_REV_APPLE: u32 = 35902;
+pub const GL_UNSIGNED_INT_5_9_9_9_REV_EXT: u32 = 35902;
+pub const GL_TEXTURE_SHARED_SIZE: u32 = 35903;
+pub const GL_TEXTURE_SHARED_SIZE_EXT: u32 = 35903;
+pub const GL_SRGB: u32 = 35904;
+pub const GL_SRGB_EXT: u32 = 35904;
+pub const GL_SRGB8: u32 = 35905;
+pub const GL_SRGB8_EXT: u32 = 35905;
+pub const GL_SRGB8_NV: u32 = 35905;
+pub const GL_SRGB_ALPHA: u32 = 35906;
+pub const GL_SRGB_ALPHA_EXT: u32 = 35906;
+pub const GL_SRGB8_ALPHA8: u32 = 35907;
+pub const GL_SRGB8_ALPHA8_EXT: u32 = 35907;
+pub const GL_SLUMINANCE_ALPHA: u32 = 35908;
+pub const GL_SLUMINANCE_ALPHA_EXT: u32 = 35908;
+pub const GL_SLUMINANCE_ALPHA_NV: u32 = 35908;
+pub const GL_SLUMINANCE8_ALPHA8: u32 = 35909;
+pub const GL_SLUMINANCE8_ALPHA8_EXT: u32 = 35909;
+pub const GL_SLUMINANCE8_ALPHA8_NV: u32 = 35909;
+pub const GL_SLUMINANCE: u32 = 35910;
+pub const GL_SLUMINANCE_EXT: u32 = 35910;
+pub const GL_SLUMINANCE_NV: u32 = 35910;
+pub const GL_SLUMINANCE8: u32 = 35911;
+pub const GL_SLUMINANCE8_EXT: u32 = 35911;
+pub const GL_SLUMINANCE8_NV: u32 = 35911;
+pub const GL_COMPRESSED_SRGB: u32 = 35912;
+pub const GL_COMPRESSED_SRGB_EXT: u32 = 35912;
+pub const GL_COMPRESSED_SRGB_ALPHA: u32 = 35913;
+pub const GL_COMPRESSED_SRGB_ALPHA_EXT: u32 = 35913;
+pub const GL_COMPRESSED_SLUMINANCE: u32 = 35914;
+pub const GL_COMPRESSED_SLUMINANCE_EXT: u32 = 35914;
+pub const GL_COMPRESSED_SLUMINANCE_ALPHA: u32 = 35915;
+pub const GL_COMPRESSED_SLUMINANCE_ALPHA_EXT: u32 = 35915;
+pub const GL_COMPRESSED_SRGB_S3TC_DXT1_EXT: u32 = 35916;
+pub const GL_COMPRESSED_SRGB_S3TC_DXT1_NV: u32 = 35916;
+pub const GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: u32 = 35917;
+pub const GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV: u32 = 35917;
+pub const GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: u32 = 35918;
+pub const GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV: u32 = 35918;
+pub const GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: u32 = 35919;
+pub const GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV: u32 = 35919;
+pub const GL_COMPRESSED_LUMINANCE_LATC1_EXT: u32 = 35952;
+pub const GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT: u32 = 35953;
+pub const GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT: u32 = 35954;
+pub const GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT: u32 = 35955;
+pub const GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV: u32 = 35956;
+pub const GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV: u32 = 35957;
+pub const GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH: u32 = 35958;
+pub const GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT: u32 = 35958;
+pub const GL_BACK_PRIMARY_COLOR_NV: u32 = 35959;
+pub const GL_BACK_SECONDARY_COLOR_NV: u32 = 35960;
+pub const GL_TEXTURE_COORD_NV: u32 = 35961;
+pub const GL_CLIP_DISTANCE_NV: u32 = 35962;
+pub const GL_VERTEX_ID_NV: u32 = 35963;
+pub const GL_PRIMITIVE_ID_NV: u32 = 35964;
+pub const GL_GENERIC_ATTRIB_NV: u32 = 35965;
+pub const GL_TRANSFORM_FEEDBACK_ATTRIBS_NV: u32 = 35966;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_MODE: u32 = 35967;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT: u32 = 35967;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV: u32 = 35967;
+pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: u32 = 35968;
+pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT: u32 = 35968;
+pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV: u32 = 35968;
+pub const GL_ACTIVE_VARYINGS_NV: u32 = 35969;
+pub const GL_ACTIVE_VARYING_MAX_LENGTH_NV: u32 = 35970;
+pub const GL_TRANSFORM_FEEDBACK_VARYINGS: u32 = 35971;
+pub const GL_TRANSFORM_FEEDBACK_VARYINGS_EXT: u32 = 35971;
+pub const GL_TRANSFORM_FEEDBACK_VARYINGS_NV: u32 = 35971;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_START: u32 = 35972;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT: u32 = 35972;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_START_NV: u32 = 35972;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: u32 = 35973;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT: u32 = 35973;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV: u32 = 35973;
+pub const GL_TRANSFORM_FEEDBACK_RECORD_NV: u32 = 35974;
+pub const GL_PRIMITIVES_GENERATED: u32 = 35975;
+pub const GL_PRIMITIVES_GENERATED_EXT: u32 = 35975;
+pub const GL_PRIMITIVES_GENERATED_NV: u32 = 35975;
+pub const GL_PRIMITIVES_GENERATED_OES: u32 = 35975;
+pub const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: u32 = 35976;
+pub const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT: u32 = 35976;
+pub const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV: u32 = 35976;
+pub const GL_RASTERIZER_DISCARD: u32 = 35977;
+pub const GL_RASTERIZER_DISCARD_EXT: u32 = 35977;
+pub const GL_RASTERIZER_DISCARD_NV: u32 = 35977;
+pub const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: u32 = 35978;
+pub const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT: u32 = 35978;
+pub const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV: u32 = 35978;
+pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: u32 = 35979;
+pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT: u32 = 35979;
+pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV: u32 = 35979;
+pub const GL_INTERLEAVED_ATTRIBS: u32 = 35980;
+pub const GL_INTERLEAVED_ATTRIBS_EXT: u32 = 35980;
+pub const GL_INTERLEAVED_ATTRIBS_NV: u32 = 35980;
+pub const GL_SEPARATE_ATTRIBS: u32 = 35981;
+pub const GL_SEPARATE_ATTRIBS_EXT: u32 = 35981;
+pub const GL_SEPARATE_ATTRIBS_NV: u32 = 35981;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER: u32 = 35982;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_EXT: u32 = 35982;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_NV: u32 = 35982;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: u32 = 35983;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT: u32 = 35983;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV: u32 = 35983;
+pub const GL_ATC_RGB_AMD: u32 = 35986;
+pub const GL_ATC_RGBA_EXPLICIT_ALPHA_AMD: u32 = 35987;
+pub const GL_POINT_SPRITE_COORD_ORIGIN: u32 = 36000;
+pub const GL_LOWER_LEFT: u32 = 36001;
+pub const GL_UPPER_LEFT: u32 = 36002;
+pub const GL_STENCIL_BACK_REF: u32 = 36003;
+pub const GL_STENCIL_BACK_VALUE_MASK: u32 = 36004;
+pub const GL_STENCIL_BACK_WRITEMASK: u32 = 36005;
+pub const GL_DRAW_FRAMEBUFFER_BINDING: u32 = 36006;
+pub const GL_DRAW_FRAMEBUFFER_BINDING_ANGLE: u32 = 36006;
+pub const GL_DRAW_FRAMEBUFFER_BINDING_APPLE: u32 = 36006;
+pub const GL_DRAW_FRAMEBUFFER_BINDING_EXT: u32 = 36006;
+pub const GL_DRAW_FRAMEBUFFER_BINDING_NV: u32 = 36006;
+pub const GL_FRAMEBUFFER_BINDING: u32 = 36006;
+pub const GL_FRAMEBUFFER_BINDING_ANGLE: u32 = 36006;
+pub const GL_FRAMEBUFFER_BINDING_EXT: u32 = 36006;
+pub const GL_FRAMEBUFFER_BINDING_OES: u32 = 36006;
+pub const GL_RENDERBUFFER_BINDING: u32 = 36007;
+pub const GL_RENDERBUFFER_BINDING_ANGLE: u32 = 36007;
+pub const GL_RENDERBUFFER_BINDING_EXT: u32 = 36007;
+pub const GL_RENDERBUFFER_BINDING_OES: u32 = 36007;
+pub const GL_READ_FRAMEBUFFER: u32 = 36008;
+pub const GL_READ_FRAMEBUFFER_ANGLE: u32 = 36008;
+pub const GL_READ_FRAMEBUFFER_APPLE: u32 = 36008;
+pub const GL_READ_FRAMEBUFFER_EXT: u32 = 36008;
+pub const GL_READ_FRAMEBUFFER_NV: u32 = 36008;
+pub const GL_DRAW_FRAMEBUFFER: u32 = 36009;
+pub const GL_DRAW_FRAMEBUFFER_ANGLE: u32 = 36009;
+pub const GL_DRAW_FRAMEBUFFER_APPLE: u32 = 36009;
+pub const GL_DRAW_FRAMEBUFFER_EXT: u32 = 36009;
+pub const GL_DRAW_FRAMEBUFFER_NV: u32 = 36009;
+pub const GL_READ_FRAMEBUFFER_BINDING: u32 = 36010;
+pub const GL_READ_FRAMEBUFFER_BINDING_ANGLE: u32 = 36010;
+pub const GL_READ_FRAMEBUFFER_BINDING_APPLE: u32 = 36010;
+pub const GL_READ_FRAMEBUFFER_BINDING_EXT: u32 = 36010;
+pub const GL_READ_FRAMEBUFFER_BINDING_NV: u32 = 36010;
+pub const GL_RENDERBUFFER_COVERAGE_SAMPLES_NV: u32 = 36011;
+pub const GL_RENDERBUFFER_SAMPLES: u32 = 36011;
+pub const GL_RENDERBUFFER_SAMPLES_ANGLE: u32 = 36011;
+pub const GL_RENDERBUFFER_SAMPLES_APPLE: u32 = 36011;
+pub const GL_RENDERBUFFER_SAMPLES_EXT: u32 = 36011;
+pub const GL_RENDERBUFFER_SAMPLES_NV: u32 = 36011;
+pub const GL_DEPTH_COMPONENT32F: u32 = 36012;
+pub const GL_DEPTH32F_STENCIL8: u32 = 36013;
+pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: u32 = 36048;
+pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT: u32 = 36048;
+pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES: u32 = 36048;
+pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: u32 = 36049;
+pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT: u32 = 36049;
+pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES: u32 = 36049;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: u32 = 36050;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT: u32 = 36050;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES: u32 = 36050;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: u32 = 36051;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT: u32 = 36051;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES: u32 = 36051;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT: u32 = 36052;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES: u32 = 36052;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: u32 = 36052;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT: u32 = 36052;
+pub const GL_FRAMEBUFFER_COMPLETE: u32 = 36053;
+pub const GL_FRAMEBUFFER_COMPLETE_EXT: u32 = 36053;
+pub const GL_FRAMEBUFFER_COMPLETE_OES: u32 = 36053;
+pub const GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: u32 = 36054;
+pub const GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT: u32 = 36054;
+pub const GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES: u32 = 36054;
+pub const GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: u32 = 36055;
+pub const GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT: u32 = 36055;
+pub const GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES: u32 = 36055;
+pub const GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS: u32 = 36057;
+pub const GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT: u32 = 36057;
+pub const GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES: u32 = 36057;
+pub const GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT: u32 = 36058;
+pub const GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES: u32 = 36058;
+pub const GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER: u32 = 36059;
+pub const GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT: u32 = 36059;
+pub const GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES: u32 = 36059;
+pub const GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER: u32 = 36060;
+pub const GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT: u32 = 36060;
+pub const GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES: u32 = 36060;
+pub const GL_FRAMEBUFFER_UNSUPPORTED: u32 = 36061;
+pub const GL_FRAMEBUFFER_UNSUPPORTED_EXT: u32 = 36061;
+pub const GL_FRAMEBUFFER_UNSUPPORTED_OES: u32 = 36061;
+pub const GL_MAX_COLOR_ATTACHMENTS: u32 = 36063;
+pub const GL_MAX_COLOR_ATTACHMENTS_EXT: u32 = 36063;
+pub const GL_MAX_COLOR_ATTACHMENTS_NV: u32 = 36063;
+pub const GL_COLOR_ATTACHMENT0: u32 = 36064;
+pub const GL_COLOR_ATTACHMENT0_EXT: u32 = 36064;
+pub const GL_COLOR_ATTACHMENT0_NV: u32 = 36064;
+pub const GL_COLOR_ATTACHMENT0_OES: u32 = 36064;
+pub const GL_COLOR_ATTACHMENT1: u32 = 36065;
+pub const GL_COLOR_ATTACHMENT1_EXT: u32 = 36065;
+pub const GL_COLOR_ATTACHMENT1_NV: u32 = 36065;
+pub const GL_COLOR_ATTACHMENT2: u32 = 36066;
+pub const GL_COLOR_ATTACHMENT2_EXT: u32 = 36066;
+pub const GL_COLOR_ATTACHMENT2_NV: u32 = 36066;
+pub const GL_COLOR_ATTACHMENT3: u32 = 36067;
+pub const GL_COLOR_ATTACHMENT3_EXT: u32 = 36067;
+pub const GL_COLOR_ATTACHMENT3_NV: u32 = 36067;
+pub const GL_COLOR_ATTACHMENT4: u32 = 36068;
+pub const GL_COLOR_ATTACHMENT4_EXT: u32 = 36068;
+pub const GL_COLOR_ATTACHMENT4_NV: u32 = 36068;
+pub const GL_COLOR_ATTACHMENT5: u32 = 36069;
+pub const GL_COLOR_ATTACHMENT5_EXT: u32 = 36069;
+pub const GL_COLOR_ATTACHMENT5_NV: u32 = 36069;
+pub const GL_COLOR_ATTACHMENT6: u32 = 36070;
+pub const GL_COLOR_ATTACHMENT6_EXT: u32 = 36070;
+pub const GL_COLOR_ATTACHMENT6_NV: u32 = 36070;
+pub const GL_COLOR_ATTACHMENT7: u32 = 36071;
+pub const GL_COLOR_ATTACHMENT7_EXT: u32 = 36071;
+pub const GL_COLOR_ATTACHMENT7_NV: u32 = 36071;
+pub const GL_COLOR_ATTACHMENT8: u32 = 36072;
+pub const GL_COLOR_ATTACHMENT8_EXT: u32 = 36072;
+pub const GL_COLOR_ATTACHMENT8_NV: u32 = 36072;
+pub const GL_COLOR_ATTACHMENT9: u32 = 36073;
+pub const GL_COLOR_ATTACHMENT9_EXT: u32 = 36073;
+pub const GL_COLOR_ATTACHMENT9_NV: u32 = 36073;
+pub const GL_COLOR_ATTACHMENT10: u32 = 36074;
+pub const GL_COLOR_ATTACHMENT10_EXT: u32 = 36074;
+pub const GL_COLOR_ATTACHMENT10_NV: u32 = 36074;
+pub const GL_COLOR_ATTACHMENT11: u32 = 36075;
+pub const GL_COLOR_ATTACHMENT11_EXT: u32 = 36075;
+pub const GL_COLOR_ATTACHMENT11_NV: u32 = 36075;
+pub const GL_COLOR_ATTACHMENT12: u32 = 36076;
+pub const GL_COLOR_ATTACHMENT12_EXT: u32 = 36076;
+pub const GL_COLOR_ATTACHMENT12_NV: u32 = 36076;
+pub const GL_COLOR_ATTACHMENT13: u32 = 36077;
+pub const GL_COLOR_ATTACHMENT13_EXT: u32 = 36077;
+pub const GL_COLOR_ATTACHMENT13_NV: u32 = 36077;
+pub const GL_COLOR_ATTACHMENT14: u32 = 36078;
+pub const GL_COLOR_ATTACHMENT14_EXT: u32 = 36078;
+pub const GL_COLOR_ATTACHMENT14_NV: u32 = 36078;
+pub const GL_COLOR_ATTACHMENT15: u32 = 36079;
+pub const GL_COLOR_ATTACHMENT15_EXT: u32 = 36079;
+pub const GL_COLOR_ATTACHMENT15_NV: u32 = 36079;
+pub const GL_COLOR_ATTACHMENT16: u32 = 36080;
+pub const GL_COLOR_ATTACHMENT17: u32 = 36081;
+pub const GL_COLOR_ATTACHMENT18: u32 = 36082;
+pub const GL_COLOR_ATTACHMENT19: u32 = 36083;
+pub const GL_COLOR_ATTACHMENT20: u32 = 36084;
+pub const GL_COLOR_ATTACHMENT21: u32 = 36085;
+pub const GL_COLOR_ATTACHMENT22: u32 = 36086;
+pub const GL_COLOR_ATTACHMENT23: u32 = 36087;
+pub const GL_COLOR_ATTACHMENT24: u32 = 36088;
+pub const GL_COLOR_ATTACHMENT25: u32 = 36089;
+pub const GL_COLOR_ATTACHMENT26: u32 = 36090;
+pub const GL_COLOR_ATTACHMENT27: u32 = 36091;
+pub const GL_COLOR_ATTACHMENT28: u32 = 36092;
+pub const GL_COLOR_ATTACHMENT29: u32 = 36093;
+pub const GL_COLOR_ATTACHMENT30: u32 = 36094;
+pub const GL_COLOR_ATTACHMENT31: u32 = 36095;
+pub const GL_DEPTH_ATTACHMENT: u32 = 36096;
+pub const GL_DEPTH_ATTACHMENT_EXT: u32 = 36096;
+pub const GL_DEPTH_ATTACHMENT_OES: u32 = 36096;
+pub const GL_STENCIL_ATTACHMENT: u32 = 36128;
+pub const GL_STENCIL_ATTACHMENT_EXT: u32 = 36128;
+pub const GL_STENCIL_ATTACHMENT_OES: u32 = 36128;
+pub const GL_FRAMEBUFFER: u32 = 36160;
+pub const GL_FRAMEBUFFER_EXT: u32 = 36160;
+pub const GL_FRAMEBUFFER_OES: u32 = 36160;
+pub const GL_RENDERBUFFER: u32 = 36161;
+pub const GL_RENDERBUFFER_EXT: u32 = 36161;
+pub const GL_RENDERBUFFER_OES: u32 = 36161;
+pub const GL_RENDERBUFFER_WIDTH: u32 = 36162;
+pub const GL_RENDERBUFFER_WIDTH_EXT: u32 = 36162;
+pub const GL_RENDERBUFFER_WIDTH_OES: u32 = 36162;
+pub const GL_RENDERBUFFER_HEIGHT: u32 = 36163;
+pub const GL_RENDERBUFFER_HEIGHT_EXT: u32 = 36163;
+pub const GL_RENDERBUFFER_HEIGHT_OES: u32 = 36163;
+pub const GL_RENDERBUFFER_INTERNAL_FORMAT: u32 = 36164;
+pub const GL_RENDERBUFFER_INTERNAL_FORMAT_EXT: u32 = 36164;
+pub const GL_RENDERBUFFER_INTERNAL_FORMAT_OES: u32 = 36164;
+pub const GL_STENCIL_INDEX1: u32 = 36166;
+pub const GL_STENCIL_INDEX1_EXT: u32 = 36166;
+pub const GL_STENCIL_INDEX1_OES: u32 = 36166;
+pub const GL_STENCIL_INDEX4: u32 = 36167;
+pub const GL_STENCIL_INDEX4_EXT: u32 = 36167;
+pub const GL_STENCIL_INDEX4_OES: u32 = 36167;
+pub const GL_STENCIL_INDEX8: u32 = 36168;
+pub const GL_STENCIL_INDEX8_EXT: u32 = 36168;
+pub const GL_STENCIL_INDEX8_OES: u32 = 36168;
+pub const GL_STENCIL_INDEX16: u32 = 36169;
+pub const GL_STENCIL_INDEX16_EXT: u32 = 36169;
+pub const GL_RENDERBUFFER_RED_SIZE: u32 = 36176;
+pub const GL_RENDERBUFFER_RED_SIZE_EXT: u32 = 36176;
+pub const GL_RENDERBUFFER_RED_SIZE_OES: u32 = 36176;
+pub const GL_RENDERBUFFER_GREEN_SIZE: u32 = 36177;
+pub const GL_RENDERBUFFER_GREEN_SIZE_EXT: u32 = 36177;
+pub const GL_RENDERBUFFER_GREEN_SIZE_OES: u32 = 36177;
+pub const GL_RENDERBUFFER_BLUE_SIZE: u32 = 36178;
+pub const GL_RENDERBUFFER_BLUE_SIZE_EXT: u32 = 36178;
+pub const GL_RENDERBUFFER_BLUE_SIZE_OES: u32 = 36178;
+pub const GL_RENDERBUFFER_ALPHA_SIZE: u32 = 36179;
+pub const GL_RENDERBUFFER_ALPHA_SIZE_EXT: u32 = 36179;
+pub const GL_RENDERBUFFER_ALPHA_SIZE_OES: u32 = 36179;
+pub const GL_RENDERBUFFER_DEPTH_SIZE: u32 = 36180;
+pub const GL_RENDERBUFFER_DEPTH_SIZE_EXT: u32 = 36180;
+pub const GL_RENDERBUFFER_DEPTH_SIZE_OES: u32 = 36180;
+pub const GL_RENDERBUFFER_STENCIL_SIZE: u32 = 36181;
+pub const GL_RENDERBUFFER_STENCIL_SIZE_EXT: u32 = 36181;
+pub const GL_RENDERBUFFER_STENCIL_SIZE_OES: u32 = 36181;
+pub const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: u32 = 36182;
+pub const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE: u32 = 36182;
+pub const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE: u32 = 36182;
+pub const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT: u32 = 36182;
+pub const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV: u32 = 36182;
+pub const GL_MAX_SAMPLES: u32 = 36183;
+pub const GL_MAX_SAMPLES_ANGLE: u32 = 36183;
+pub const GL_MAX_SAMPLES_APPLE: u32 = 36183;
+pub const GL_MAX_SAMPLES_EXT: u32 = 36183;
+pub const GL_MAX_SAMPLES_NV: u32 = 36183;
+pub const GL_TEXTURE_GEN_STR_OES: u32 = 36192;
+pub const GL_HALF_FLOAT_OES: u32 = 36193;
+pub const GL_RGB565: u32 = 36194;
+pub const GL_RGB565_OES: u32 = 36194;
+pub const GL_ETC1_RGB8_OES: u32 = 36196;
+pub const GL_TEXTURE_EXTERNAL_OES: u32 = 36197;
+pub const GL_SAMPLER_EXTERNAL_OES: u32 = 36198;
+pub const GL_TEXTURE_BINDING_EXTERNAL_OES: u32 = 36199;
+pub const GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES: u32 = 36200;
+pub const GL_PRIMITIVE_RESTART_FIXED_INDEX: u32 = 36201;
+pub const GL_ANY_SAMPLES_PASSED_CONSERVATIVE: u32 = 36202;
+pub const GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT: u32 = 36202;
+pub const GL_MAX_ELEMENT_INDEX: u32 = 36203;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT: u32 = 36204;
+pub const GL_RGBA32UI: u32 = 36208;
+pub const GL_RGBA32UI_EXT: u32 = 36208;
+pub const GL_RGB32UI: u32 = 36209;
+pub const GL_RGB32UI_EXT: u32 = 36209;
+pub const GL_ALPHA32UI_EXT: u32 = 36210;
+pub const GL_INTENSITY32UI_EXT: u32 = 36211;
+pub const GL_LUMINANCE32UI_EXT: u32 = 36212;
+pub const GL_LUMINANCE_ALPHA32UI_EXT: u32 = 36213;
+pub const GL_RGBA16UI: u32 = 36214;
+pub const GL_RGBA16UI_EXT: u32 = 36214;
+pub const GL_RGB16UI: u32 = 36215;
+pub const GL_RGB16UI_EXT: u32 = 36215;
+pub const GL_ALPHA16UI_EXT: u32 = 36216;
+pub const GL_INTENSITY16UI_EXT: u32 = 36217;
+pub const GL_LUMINANCE16UI_EXT: u32 = 36218;
+pub const GL_LUMINANCE_ALPHA16UI_EXT: u32 = 36219;
+pub const GL_RGBA8UI: u32 = 36220;
+pub const GL_RGBA8UI_EXT: u32 = 36220;
+pub const GL_RGB8UI: u32 = 36221;
+pub const GL_RGB8UI_EXT: u32 = 36221;
+pub const GL_ALPHA8UI_EXT: u32 = 36222;
+pub const GL_INTENSITY8UI_EXT: u32 = 36223;
+pub const GL_LUMINANCE8UI_EXT: u32 = 36224;
+pub const GL_LUMINANCE_ALPHA8UI_EXT: u32 = 36225;
+pub const GL_RGBA32I: u32 = 36226;
+pub const GL_RGBA32I_EXT: u32 = 36226;
+pub const GL_RGB32I: u32 = 36227;
+pub const GL_RGB32I_EXT: u32 = 36227;
+pub const GL_ALPHA32I_EXT: u32 = 36228;
+pub const GL_INTENSITY32I_EXT: u32 = 36229;
+pub const GL_LUMINANCE32I_EXT: u32 = 36230;
+pub const GL_LUMINANCE_ALPHA32I_EXT: u32 = 36231;
+pub const GL_RGBA16I: u32 = 36232;
+pub const GL_RGBA16I_EXT: u32 = 36232;
+pub const GL_RGB16I: u32 = 36233;
+pub const GL_RGB16I_EXT: u32 = 36233;
+pub const GL_ALPHA16I_EXT: u32 = 36234;
+pub const GL_INTENSITY16I_EXT: u32 = 36235;
+pub const GL_LUMINANCE16I_EXT: u32 = 36236;
+pub const GL_LUMINANCE_ALPHA16I_EXT: u32 = 36237;
+pub const GL_RGBA8I: u32 = 36238;
+pub const GL_RGBA8I_EXT: u32 = 36238;
+pub const GL_RGB8I: u32 = 36239;
+pub const GL_RGB8I_EXT: u32 = 36239;
+pub const GL_ALPHA8I_EXT: u32 = 36240;
+pub const GL_INTENSITY8I_EXT: u32 = 36241;
+pub const GL_LUMINANCE8I_EXT: u32 = 36242;
+pub const GL_LUMINANCE_ALPHA8I_EXT: u32 = 36243;
+pub const GL_RED_INTEGER: u32 = 36244;
+pub const GL_RED_INTEGER_EXT: u32 = 36244;
+pub const GL_GREEN_INTEGER: u32 = 36245;
+pub const GL_GREEN_INTEGER_EXT: u32 = 36245;
+pub const GL_BLUE_INTEGER: u32 = 36246;
+pub const GL_BLUE_INTEGER_EXT: u32 = 36246;
+pub const GL_ALPHA_INTEGER: u32 = 36247;
+pub const GL_ALPHA_INTEGER_EXT: u32 = 36247;
+pub const GL_RGB_INTEGER: u32 = 36248;
+pub const GL_RGB_INTEGER_EXT: u32 = 36248;
+pub const GL_RGBA_INTEGER: u32 = 36249;
+pub const GL_RGBA_INTEGER_EXT: u32 = 36249;
+pub const GL_BGR_INTEGER: u32 = 36250;
+pub const GL_BGR_INTEGER_EXT: u32 = 36250;
+pub const GL_BGRA_INTEGER: u32 = 36251;
+pub const GL_BGRA_INTEGER_EXT: u32 = 36251;
+pub const GL_LUMINANCE_INTEGER_EXT: u32 = 36252;
+pub const GL_LUMINANCE_ALPHA_INTEGER_EXT: u32 = 36253;
+pub const GL_RGBA_INTEGER_MODE_EXT: u32 = 36254;
+pub const GL_INT_2_10_10_10_REV: u32 = 36255;
+pub const GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV: u32 = 36256;
+pub const GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV: u32 = 36257;
+pub const GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV: u32 = 36258;
+pub const GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV: u32 = 36259;
+pub const GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV: u32 = 36260;
+pub const GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV: u32 = 36261;
+pub const GL_MAX_PROGRAM_GENERIC_RESULTS_NV: u32 = 36262;
+pub const GL_FRAMEBUFFER_ATTACHMENT_LAYERED: u32 = 36263;
+pub const GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB: u32 = 36263;
+pub const GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT: u32 = 36263;
+pub const GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES: u32 = 36263;
+pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS: u32 = 36264;
+pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB: u32 = 36264;
+pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT: u32 = 36264;
+pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES: u32 = 36264;
+pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB: u32 = 36265;
+pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT: u32 = 36265;
+pub const GL_LAYER_NV: u32 = 36266;
+pub const GL_DEPTH_COMPONENT32F_NV: u32 = 36267;
+pub const GL_DEPTH32F_STENCIL8_NV: u32 = 36268;
+pub const GL_FLOAT_32_UNSIGNED_INT_24_8_REV: u32 = 36269;
+pub const GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV: u32 = 36269;
+pub const GL_SHADER_INCLUDE_ARB: u32 = 36270;
+pub const GL_DEPTH_BUFFER_FLOAT_MODE_NV: u32 = 36271;
+pub const GL_FRAMEBUFFER_SRGB: u32 = 36281;
+pub const GL_FRAMEBUFFER_SRGB_EXT: u32 = 36281;
+pub const GL_FRAMEBUFFER_SRGB_CAPABLE_EXT: u32 = 36282;
+pub const GL_COMPRESSED_RED_RGTC1: u32 = 36283;
+pub const GL_COMPRESSED_RED_RGTC1_EXT: u32 = 36283;
+pub const GL_COMPRESSED_SIGNED_RED_RGTC1: u32 = 36284;
+pub const GL_COMPRESSED_SIGNED_RED_RGTC1_EXT: u32 = 36284;
+pub const GL_COMPRESSED_RED_GREEN_RGTC2_EXT: u32 = 36285;
+pub const GL_COMPRESSED_RG_RGTC2: u32 = 36285;
+pub const GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: u32 = 36286;
+pub const GL_COMPRESSED_SIGNED_RG_RGTC2: u32 = 36286;
+pub const GL_SAMPLER_1D_ARRAY: u32 = 36288;
+pub const GL_SAMPLER_1D_ARRAY_EXT: u32 = 36288;
+pub const GL_SAMPLER_2D_ARRAY: u32 = 36289;
+pub const GL_SAMPLER_2D_ARRAY_EXT: u32 = 36289;
+pub const GL_SAMPLER_BUFFER: u32 = 36290;
+pub const GL_SAMPLER_BUFFER_EXT: u32 = 36290;
+pub const GL_SAMPLER_BUFFER_OES: u32 = 36290;
+pub const GL_SAMPLER_1D_ARRAY_SHADOW: u32 = 36291;
+pub const GL_SAMPLER_1D_ARRAY_SHADOW_EXT: u32 = 36291;
+pub const GL_SAMPLER_2D_ARRAY_SHADOW: u32 = 36292;
+pub const GL_SAMPLER_2D_ARRAY_SHADOW_EXT: u32 = 36292;
+pub const GL_SAMPLER_2D_ARRAY_SHADOW_NV: u32 = 36292;
+pub const GL_SAMPLER_CUBE_SHADOW: u32 = 36293;
+pub const GL_SAMPLER_CUBE_SHADOW_EXT: u32 = 36293;
+pub const GL_SAMPLER_CUBE_SHADOW_NV: u32 = 36293;
+pub const GL_UNSIGNED_INT_VEC2: u32 = 36294;
+pub const GL_UNSIGNED_INT_VEC2_EXT: u32 = 36294;
+pub const GL_UNSIGNED_INT_VEC3: u32 = 36295;
+pub const GL_UNSIGNED_INT_VEC3_EXT: u32 = 36295;
+pub const GL_UNSIGNED_INT_VEC4: u32 = 36296;
+pub const GL_UNSIGNED_INT_VEC4_EXT: u32 = 36296;
+pub const GL_INT_SAMPLER_1D: u32 = 36297;
+pub const GL_INT_SAMPLER_1D_EXT: u32 = 36297;
+pub const GL_INT_SAMPLER_2D: u32 = 36298;
+pub const GL_INT_SAMPLER_2D_EXT: u32 = 36298;
+pub const GL_INT_SAMPLER_3D: u32 = 36299;
+pub const GL_INT_SAMPLER_3D_EXT: u32 = 36299;
+pub const GL_INT_SAMPLER_CUBE: u32 = 36300;
+pub const GL_INT_SAMPLER_CUBE_EXT: u32 = 36300;
+pub const GL_INT_SAMPLER_2D_RECT: u32 = 36301;
+pub const GL_INT_SAMPLER_2D_RECT_EXT: u32 = 36301;
+pub const GL_INT_SAMPLER_1D_ARRAY: u32 = 36302;
+pub const GL_INT_SAMPLER_1D_ARRAY_EXT: u32 = 36302;
+pub const GL_INT_SAMPLER_2D_ARRAY: u32 = 36303;
+pub const GL_INT_SAMPLER_2D_ARRAY_EXT: u32 = 36303;
+pub const GL_INT_SAMPLER_BUFFER: u32 = 36304;
+pub const GL_INT_SAMPLER_BUFFER_EXT: u32 = 36304;
+pub const GL_INT_SAMPLER_BUFFER_OES: u32 = 36304;
+pub const GL_UNSIGNED_INT_SAMPLER_1D: u32 = 36305;
+pub const GL_UNSIGNED_INT_SAMPLER_1D_EXT: u32 = 36305;
+pub const GL_UNSIGNED_INT_SAMPLER_2D: u32 = 36306;
+pub const GL_UNSIGNED_INT_SAMPLER_2D_EXT: u32 = 36306;
+pub const GL_UNSIGNED_INT_SAMPLER_3D: u32 = 36307;
+pub const GL_UNSIGNED_INT_SAMPLER_3D_EXT: u32 = 36307;
+pub const GL_UNSIGNED_INT_SAMPLER_CUBE: u32 = 36308;
+pub const GL_UNSIGNED_INT_SAMPLER_CUBE_EXT: u32 = 36308;
+pub const GL_UNSIGNED_INT_SAMPLER_2D_RECT: u32 = 36309;
+pub const GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT: u32 = 36309;
+pub const GL_UNSIGNED_INT_SAMPLER_1D_ARRAY: u32 = 36310;
+pub const GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT: u32 = 36310;
+pub const GL_UNSIGNED_INT_SAMPLER_2D_ARRAY: u32 = 36311;
+pub const GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT: u32 = 36311;
+pub const GL_UNSIGNED_INT_SAMPLER_BUFFER: u32 = 36312;
+pub const GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT: u32 = 36312;
+pub const GL_UNSIGNED_INT_SAMPLER_BUFFER_OES: u32 = 36312;
+pub const GL_GEOMETRY_SHADER: u32 = 36313;
+pub const GL_GEOMETRY_SHADER_ARB: u32 = 36313;
+pub const GL_GEOMETRY_SHADER_EXT: u32 = 36313;
+pub const GL_GEOMETRY_SHADER_OES: u32 = 36313;
+pub const GL_GEOMETRY_VERTICES_OUT_ARB: u32 = 36314;
+pub const GL_GEOMETRY_VERTICES_OUT_EXT: u32 = 36314;
+pub const GL_GEOMETRY_INPUT_TYPE_ARB: u32 = 36315;
+pub const GL_GEOMETRY_INPUT_TYPE_EXT: u32 = 36315;
+pub const GL_GEOMETRY_OUTPUT_TYPE_ARB: u32 = 36316;
+pub const GL_GEOMETRY_OUTPUT_TYPE_EXT: u32 = 36316;
+pub const GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB: u32 = 36317;
+pub const GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT: u32 = 36317;
+pub const GL_MAX_VERTEX_VARYING_COMPONENTS_ARB: u32 = 36318;
+pub const GL_MAX_VERTEX_VARYING_COMPONENTS_EXT: u32 = 36318;
+pub const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS: u32 = 36319;
+pub const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB: u32 = 36319;
+pub const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT: u32 = 36319;
+pub const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES: u32 = 36319;
+pub const GL_MAX_GEOMETRY_OUTPUT_VERTICES: u32 = 36320;
+pub const GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB: u32 = 36320;
+pub const GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT: u32 = 36320;
+pub const GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES: u32 = 36320;
+pub const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: u32 = 36321;
+pub const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB: u32 = 36321;
+pub const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT: u32 = 36321;
+pub const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES: u32 = 36321;
+pub const GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT: u32 = 36322;
+pub const GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT: u32 = 36323;
+pub const GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT: u32 = 36324;
+pub const GL_ACTIVE_SUBROUTINES: u32 = 36325;
+pub const GL_ACTIVE_SUBROUTINE_UNIFORMS: u32 = 36326;
+pub const GL_MAX_SUBROUTINES: u32 = 36327;
+pub const GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS: u32 = 36328;
+pub const GL_NAMED_STRING_LENGTH_ARB: u32 = 36329;
+pub const GL_NAMED_STRING_TYPE_ARB: u32 = 36330;
+pub const GL_MAX_BINDABLE_UNIFORM_SIZE_EXT: u32 = 36333;
+pub const GL_UNIFORM_BUFFER_EXT: u32 = 36334;
+pub const GL_UNIFORM_BUFFER_BINDING_EXT: u32 = 36335;
+pub const GL_LOW_FLOAT: u32 = 36336;
+pub const GL_MEDIUM_FLOAT: u32 = 36337;
+pub const GL_HIGH_FLOAT: u32 = 36338;
+pub const GL_LOW_INT: u32 = 36339;
+pub const GL_MEDIUM_INT: u32 = 36340;
+pub const GL_HIGH_INT: u32 = 36341;
+pub const GL_UNSIGNED_INT_10_10_10_2_OES: u32 = 36342;
+pub const GL_INT_10_10_10_2_OES: u32 = 36343;
+pub const GL_SHADER_BINARY_FORMATS: u32 = 36344;
+pub const GL_NUM_SHADER_BINARY_FORMATS: u32 = 36345;
+pub const GL_SHADER_COMPILER: u32 = 36346;
+pub const GL_MAX_VERTEX_UNIFORM_VECTORS: u32 = 36347;
+pub const GL_MAX_VARYING_VECTORS: u32 = 36348;
+pub const GL_MAX_FRAGMENT_UNIFORM_VECTORS: u32 = 36349;
+pub const GL_RENDERBUFFER_COLOR_SAMPLES_NV: u32 = 36368;
+pub const GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV: u32 = 36369;
+pub const GL_MULTISAMPLE_COVERAGE_MODES_NV: u32 = 36370;
+pub const GL_QUERY_WAIT: u32 = 36371;
+pub const GL_QUERY_WAIT_NV: u32 = 36371;
+pub const GL_QUERY_NO_WAIT: u32 = 36372;
+pub const GL_QUERY_NO_WAIT_NV: u32 = 36372;
+pub const GL_QUERY_BY_REGION_WAIT: u32 = 36373;
+pub const GL_QUERY_BY_REGION_WAIT_NV: u32 = 36373;
+pub const GL_QUERY_BY_REGION_NO_WAIT: u32 = 36374;
+pub const GL_QUERY_BY_REGION_NO_WAIT_NV: u32 = 36374;
+pub const GL_QUERY_WAIT_INVERTED: u32 = 36375;
+pub const GL_QUERY_NO_WAIT_INVERTED: u32 = 36376;
+pub const GL_QUERY_BY_REGION_WAIT_INVERTED: u32 = 36377;
+pub const GL_QUERY_BY_REGION_NO_WAIT_INVERTED: u32 = 36378;
+pub const GL_POLYGON_OFFSET_CLAMP_EXT: u32 = 36379;
+pub const GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS: u32 = 36382;
+pub const GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT: u32 = 36382;
+pub const GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES: u32 = 36382;
+pub const GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS: u32 = 36383;
+pub const GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT: u32 = 36383;
+pub const GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES: u32 = 36383;
+pub const GL_COLOR_SAMPLES_NV: u32 = 36384;
+pub const GL_TRANSFORM_FEEDBACK: u32 = 36386;
+pub const GL_TRANSFORM_FEEDBACK_NV: u32 = 36386;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED: u32 = 36387;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV: u32 = 36387;
+pub const GL_TRANSFORM_FEEDBACK_PAUSED: u32 = 36387;
+pub const GL_TRANSFORM_FEEDBACK_ACTIVE: u32 = 36388;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE: u32 = 36388;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV: u32 = 36388;
+pub const GL_TRANSFORM_FEEDBACK_BINDING: u32 = 36389;
+pub const GL_TRANSFORM_FEEDBACK_BINDING_NV: u32 = 36389;
+pub const GL_FRAME_NV: u32 = 36390;
+pub const GL_FIELDS_NV: u32 = 36391;
+pub const GL_CURRENT_TIME_NV: u32 = 36392;
+pub const GL_TIMESTAMP: u32 = 36392;
+pub const GL_TIMESTAMP_EXT: u32 = 36392;
+pub const GL_NUM_FILL_STREAMS_NV: u32 = 36393;
+pub const GL_PRESENT_TIME_NV: u32 = 36394;
+pub const GL_PRESENT_DURATION_NV: u32 = 36395;
+pub const GL_DEPTH_COMPONENT16_NONLINEAR_NV: u32 = 36396;
+pub const GL_PROGRAM_MATRIX_EXT: u32 = 36397;
+pub const GL_TRANSPOSE_PROGRAM_MATRIX_EXT: u32 = 36398;
+pub const GL_PROGRAM_MATRIX_STACK_DEPTH_EXT: u32 = 36399;
+pub const GL_TEXTURE_SWIZZLE_R: u32 = 36418;
+pub const GL_TEXTURE_SWIZZLE_R_EXT: u32 = 36418;
+pub const GL_TEXTURE_SWIZZLE_G: u32 = 36419;
+pub const GL_TEXTURE_SWIZZLE_G_EXT: u32 = 36419;
+pub const GL_TEXTURE_SWIZZLE_B: u32 = 36420;
+pub const GL_TEXTURE_SWIZZLE_B_EXT: u32 = 36420;
+pub const GL_TEXTURE_SWIZZLE_A: u32 = 36421;
+pub const GL_TEXTURE_SWIZZLE_A_EXT: u32 = 36421;
+pub const GL_TEXTURE_SWIZZLE_RGBA: u32 = 36422;
+pub const GL_TEXTURE_SWIZZLE_RGBA_EXT: u32 = 36422;
+pub const GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS: u32 = 36423;
+pub const GL_ACTIVE_SUBROUTINE_MAX_LENGTH: u32 = 36424;
+pub const GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH: u32 = 36425;
+pub const GL_NUM_COMPATIBLE_SUBROUTINES: u32 = 36426;
+pub const GL_COMPATIBLE_SUBROUTINES: u32 = 36427;
+pub const GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION: u32 = 36428;
+pub const GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT: u32 = 36428;
+pub const GL_FIRST_VERTEX_CONVENTION: u32 = 36429;
+pub const GL_FIRST_VERTEX_CONVENTION_EXT: u32 = 36429;
+pub const GL_FIRST_VERTEX_CONVENTION_OES: u32 = 36429;
+pub const GL_LAST_VERTEX_CONVENTION: u32 = 36430;
+pub const GL_LAST_VERTEX_CONVENTION_EXT: u32 = 36430;
+pub const GL_LAST_VERTEX_CONVENTION_OES: u32 = 36430;
+pub const GL_PROVOKING_VERTEX: u32 = 36431;
+pub const GL_PROVOKING_VERTEX_EXT: u32 = 36431;
+pub const GL_SAMPLE_LOCATION_ARB: u32 = 36432;
+pub const GL_SAMPLE_LOCATION_NV: u32 = 36432;
+pub const GL_SAMPLE_POSITION: u32 = 36432;
+pub const GL_SAMPLE_POSITION_NV: u32 = 36432;
+pub const GL_SAMPLE_MASK: u32 = 36433;
+pub const GL_SAMPLE_MASK_NV: u32 = 36433;
+pub const GL_SAMPLE_MASK_VALUE: u32 = 36434;
+pub const GL_SAMPLE_MASK_VALUE_NV: u32 = 36434;
+pub const GL_TEXTURE_BINDING_RENDERBUFFER_NV: u32 = 36435;
+pub const GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV: u32 = 36436;
+pub const GL_TEXTURE_RENDERBUFFER_NV: u32 = 36437;
+pub const GL_SAMPLER_RENDERBUFFER_NV: u32 = 36438;
+pub const GL_INT_SAMPLER_RENDERBUFFER_NV: u32 = 36439;
+pub const GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV: u32 = 36440;
+pub const GL_MAX_SAMPLE_MASK_WORDS: u32 = 36441;
+pub const GL_MAX_SAMPLE_MASK_WORDS_NV: u32 = 36441;
+pub const GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV: u32 = 36442;
+pub const GL_MAX_GEOMETRY_SHADER_INVOCATIONS: u32 = 36442;
+pub const GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT: u32 = 36442;
+pub const GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES: u32 = 36442;
+pub const GL_MIN_FRAGMENT_INTERPOLATION_OFFSET: u32 = 36443;
+pub const GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV: u32 = 36443;
+pub const GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES: u32 = 36443;
+pub const GL_MAX_FRAGMENT_INTERPOLATION_OFFSET: u32 = 36444;
+pub const GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV: u32 = 36444;
+pub const GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES: u32 = 36444;
+pub const GL_FRAGMENT_INTERPOLATION_OFFSET_BITS: u32 = 36445;
+pub const GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES: u32 = 36445;
+pub const GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV: u32 = 36445;
+pub const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET: u32 = 36446;
+pub const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB: u32 = 36446;
+pub const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV: u32 = 36446;
+pub const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET: u32 = 36447;
+pub const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB: u32 = 36447;
+pub const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV: u32 = 36447;
+pub const GL_MAX_TRANSFORM_FEEDBACK_BUFFERS: u32 = 36464;
+pub const GL_MAX_VERTEX_STREAMS: u32 = 36465;
+pub const GL_PATCH_VERTICES: u32 = 36466;
+pub const GL_PATCH_VERTICES_EXT: u32 = 36466;
+pub const GL_PATCH_VERTICES_OES: u32 = 36466;
+pub const GL_PATCH_DEFAULT_INNER_LEVEL: u32 = 36467;
+pub const GL_PATCH_DEFAULT_INNER_LEVEL_EXT: u32 = 36467;
+pub const GL_PATCH_DEFAULT_OUTER_LEVEL: u32 = 36468;
+pub const GL_PATCH_DEFAULT_OUTER_LEVEL_EXT: u32 = 36468;
+pub const GL_TESS_CONTROL_OUTPUT_VERTICES: u32 = 36469;
+pub const GL_TESS_CONTROL_OUTPUT_VERTICES_EXT: u32 = 36469;
+pub const GL_TESS_CONTROL_OUTPUT_VERTICES_OES: u32 = 36469;
+pub const GL_TESS_GEN_MODE: u32 = 36470;
+pub const GL_TESS_GEN_MODE_EXT: u32 = 36470;
+pub const GL_TESS_GEN_MODE_OES: u32 = 36470;
+pub const GL_TESS_GEN_SPACING: u32 = 36471;
+pub const GL_TESS_GEN_SPACING_EXT: u32 = 36471;
+pub const GL_TESS_GEN_SPACING_OES: u32 = 36471;
+pub const GL_TESS_GEN_VERTEX_ORDER: u32 = 36472;
+pub const GL_TESS_GEN_VERTEX_ORDER_EXT: u32 = 36472;
+pub const GL_TESS_GEN_VERTEX_ORDER_OES: u32 = 36472;
+pub const GL_TESS_GEN_POINT_MODE: u32 = 36473;
+pub const GL_TESS_GEN_POINT_MODE_EXT: u32 = 36473;
+pub const GL_TESS_GEN_POINT_MODE_OES: u32 = 36473;
+pub const GL_ISOLINES: u32 = 36474;
+pub const GL_ISOLINES_EXT: u32 = 36474;
+pub const GL_ISOLINES_OES: u32 = 36474;
+pub const GL_FRACTIONAL_ODD: u32 = 36475;
+pub const GL_FRACTIONAL_ODD_EXT: u32 = 36475;
+pub const GL_FRACTIONAL_ODD_OES: u32 = 36475;
+pub const GL_FRACTIONAL_EVEN: u32 = 36476;
+pub const GL_FRACTIONAL_EVEN_EXT: u32 = 36476;
+pub const GL_FRACTIONAL_EVEN_OES: u32 = 36476;
+pub const GL_MAX_PATCH_VERTICES: u32 = 36477;
+pub const GL_MAX_PATCH_VERTICES_EXT: u32 = 36477;
+pub const GL_MAX_PATCH_VERTICES_OES: u32 = 36477;
+pub const GL_MAX_TESS_GEN_LEVEL: u32 = 36478;
+pub const GL_MAX_TESS_GEN_LEVEL_EXT: u32 = 36478;
+pub const GL_MAX_TESS_GEN_LEVEL_OES: u32 = 36478;
+pub const GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS: u32 = 36479;
+pub const GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT: u32 = 36479;
+pub const GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES: u32 = 36479;
+pub const GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS: u32 = 36480;
+pub const GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT: u32 = 36480;
+pub const GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES: u32 = 36480;
+pub const GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS: u32 = 36481;
+pub const GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT: u32 = 36481;
+pub const GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES: u32 = 36481;
+pub const GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS: u32 = 36482;
+pub const GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT: u32 = 36482;
+pub const GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES: u32 = 36482;
+pub const GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS: u32 = 36483;
+pub const GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT: u32 = 36483;
+pub const GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES: u32 = 36483;
+pub const GL_MAX_TESS_PATCH_COMPONENTS: u32 = 36484;
+pub const GL_MAX_TESS_PATCH_COMPONENTS_EXT: u32 = 36484;
+pub const GL_MAX_TESS_PATCH_COMPONENTS_OES: u32 = 36484;
+pub const GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS: u32 = 36485;
+pub const GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT: u32 = 36485;
+pub const GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES: u32 = 36485;
+pub const GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS: u32 = 36486;
+pub const GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT: u32 = 36486;
+pub const GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES: u32 = 36486;
+pub const GL_TESS_EVALUATION_SHADER: u32 = 36487;
+pub const GL_TESS_EVALUATION_SHADER_EXT: u32 = 36487;
+pub const GL_TESS_EVALUATION_SHADER_OES: u32 = 36487;
+pub const GL_TESS_CONTROL_SHADER: u32 = 36488;
+pub const GL_TESS_CONTROL_SHADER_EXT: u32 = 36488;
+pub const GL_TESS_CONTROL_SHADER_OES: u32 = 36488;
+pub const GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS: u32 = 36489;
+pub const GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT: u32 = 36489;
+pub const GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES: u32 = 36489;
+pub const GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS: u32 = 36490;
+pub const GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT: u32 = 36490;
+pub const GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES: u32 = 36490;
+pub const GL_COMPRESSED_RGBA_BPTC_UNORM: u32 = 36492;
+pub const GL_COMPRESSED_RGBA_BPTC_UNORM_ARB: u32 = 36492;
+pub const GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM: u32 = 36493;
+pub const GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB: u32 = 36493;
+pub const GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT: u32 = 36494;
+pub const GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB: u32 = 36494;
+pub const GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT: u32 = 36495;
+pub const GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB: u32 = 36495;
+pub const GL_COVERAGE_COMPONENT_NV: u32 = 36560;
+pub const GL_COVERAGE_COMPONENT4_NV: u32 = 36561;
+pub const GL_COVERAGE_ATTACHMENT_NV: u32 = 36562;
+pub const GL_COVERAGE_BUFFERS_NV: u32 = 36563;
+pub const GL_COVERAGE_SAMPLES_NV: u32 = 36564;
+pub const GL_COVERAGE_ALL_FRAGMENTS_NV: u32 = 36565;
+pub const GL_COVERAGE_EDGE_FRAGMENTS_NV: u32 = 36566;
+pub const GL_COVERAGE_AUTOMATIC_NV: u32 = 36567;
+pub const GL_INCLUSIVE_EXT: u32 = 36624;
+pub const GL_EXCLUSIVE_EXT: u32 = 36625;
+pub const GL_WINDOW_RECTANGLE_EXT: u32 = 36626;
+pub const GL_WINDOW_RECTANGLE_MODE_EXT: u32 = 36627;
+pub const GL_MAX_WINDOW_RECTANGLES_EXT: u32 = 36628;
+pub const GL_NUM_WINDOW_RECTANGLES_EXT: u32 = 36629;
+pub const GL_BUFFER_GPU_ADDRESS_NV: u32 = 36637;
+pub const GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV: u32 = 36638;
+pub const GL_ELEMENT_ARRAY_UNIFIED_NV: u32 = 36639;
+pub const GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV: u32 = 36640;
+pub const GL_VERTEX_ARRAY_ADDRESS_NV: u32 = 36641;
+pub const GL_NORMAL_ARRAY_ADDRESS_NV: u32 = 36642;
+pub const GL_COLOR_ARRAY_ADDRESS_NV: u32 = 36643;
+pub const GL_INDEX_ARRAY_ADDRESS_NV: u32 = 36644;
+pub const GL_TEXTURE_COORD_ARRAY_ADDRESS_NV: u32 = 36645;
+pub const GL_EDGE_FLAG_ARRAY_ADDRESS_NV: u32 = 36646;
+pub const GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV: u32 = 36647;
+pub const GL_FOG_COORD_ARRAY_ADDRESS_NV: u32 = 36648;
+pub const GL_ELEMENT_ARRAY_ADDRESS_NV: u32 = 36649;
+pub const GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV: u32 = 36650;
+pub const GL_VERTEX_ARRAY_LENGTH_NV: u32 = 36651;
+pub const GL_NORMAL_ARRAY_LENGTH_NV: u32 = 36652;
+pub const GL_COLOR_ARRAY_LENGTH_NV: u32 = 36653;
+pub const GL_INDEX_ARRAY_LENGTH_NV: u32 = 36654;
+pub const GL_TEXTURE_COORD_ARRAY_LENGTH_NV: u32 = 36655;
+pub const GL_EDGE_FLAG_ARRAY_LENGTH_NV: u32 = 36656;
+pub const GL_SECONDARY_COLOR_ARRAY_LENGTH_NV: u32 = 36657;
+pub const GL_FOG_COORD_ARRAY_LENGTH_NV: u32 = 36658;
+pub const GL_ELEMENT_ARRAY_LENGTH_NV: u32 = 36659;
+pub const GL_GPU_ADDRESS_NV: u32 = 36660;
+pub const GL_MAX_SHADER_BUFFER_ADDRESS_NV: u32 = 36661;
+pub const GL_COPY_READ_BUFFER: u32 = 36662;
+pub const GL_COPY_READ_BUFFER_BINDING: u32 = 36662;
+pub const GL_COPY_READ_BUFFER_NV: u32 = 36662;
+pub const GL_COPY_WRITE_BUFFER: u32 = 36663;
+pub const GL_COPY_WRITE_BUFFER_BINDING: u32 = 36663;
+pub const GL_COPY_WRITE_BUFFER_NV: u32 = 36663;
+pub const GL_MAX_IMAGE_UNITS: u32 = 36664;
+pub const GL_MAX_IMAGE_UNITS_EXT: u32 = 36664;
+pub const GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS: u32 = 36665;
+pub const GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT: u32 = 36665;
+pub const GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES: u32 = 36665;
+pub const GL_IMAGE_BINDING_NAME: u32 = 36666;
+pub const GL_IMAGE_BINDING_NAME_EXT: u32 = 36666;
+pub const GL_IMAGE_BINDING_LEVEL: u32 = 36667;
+pub const GL_IMAGE_BINDING_LEVEL_EXT: u32 = 36667;
+pub const GL_IMAGE_BINDING_LAYERED: u32 = 36668;
+pub const GL_IMAGE_BINDING_LAYERED_EXT: u32 = 36668;
+pub const GL_IMAGE_BINDING_LAYER: u32 = 36669;
+pub const GL_IMAGE_BINDING_LAYER_EXT: u32 = 36669;
+pub const GL_IMAGE_BINDING_ACCESS: u32 = 36670;
+pub const GL_IMAGE_BINDING_ACCESS_EXT: u32 = 36670;
+pub const GL_DRAW_INDIRECT_BUFFER: u32 = 36671;
+pub const GL_DRAW_INDIRECT_UNIFIED_NV: u32 = 36672;
+pub const GL_DRAW_INDIRECT_ADDRESS_NV: u32 = 36673;
+pub const GL_DRAW_INDIRECT_LENGTH_NV: u32 = 36674;
+pub const GL_DRAW_INDIRECT_BUFFER_BINDING: u32 = 36675;
+pub const GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV: u32 = 36676;
+pub const GL_MAX_PROGRAM_SUBROUTINE_NUM_NV: u32 = 36677;
+pub const GL_DOUBLE_MAT2: u32 = 36678;
+pub const GL_DOUBLE_MAT2_EXT: u32 = 36678;
+pub const GL_DOUBLE_MAT3: u32 = 36679;
+pub const GL_DOUBLE_MAT3_EXT: u32 = 36679;
+pub const GL_DOUBLE_MAT4: u32 = 36680;
+pub const GL_DOUBLE_MAT4_EXT: u32 = 36680;
+pub const GL_DOUBLE_MAT2x3: u32 = 36681;
+pub const GL_DOUBLE_MAT2x3_EXT: u32 = 36681;
+pub const GL_DOUBLE_MAT2x4: u32 = 36682;
+pub const GL_DOUBLE_MAT2x4_EXT: u32 = 36682;
+pub const GL_DOUBLE_MAT3x2: u32 = 36683;
+pub const GL_DOUBLE_MAT3x2_EXT: u32 = 36683;
+pub const GL_DOUBLE_MAT3x4: u32 = 36684;
+pub const GL_DOUBLE_MAT3x4_EXT: u32 = 36684;
+pub const GL_DOUBLE_MAT4x2: u32 = 36685;
+pub const GL_DOUBLE_MAT4x2_EXT: u32 = 36685;
+pub const GL_DOUBLE_MAT4x3: u32 = 36686;
+pub const GL_DOUBLE_MAT4x3_EXT: u32 = 36686;
+pub const GL_VERTEX_BINDING_BUFFER: u32 = 36687;
+pub const GL_MALI_SHADER_BINARY_ARM: u32 = 36704;
+pub const GL_MALI_PROGRAM_BINARY_ARM: u32 = 36705;
+pub const GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT: u32 = 36707;
+pub const GL_SHADER_PIXEL_LOCAL_STORAGE_EXT: u32 = 36708;
+pub const GL_FETCH_PER_SAMPLE_ARM: u32 = 36709;
+pub const GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM: u32 = 36710;
+pub const GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT: u32 = 36711;
+pub const GL_RED_SNORM: u32 = 36752;
+pub const GL_RG_SNORM: u32 = 36753;
+pub const GL_RGB_SNORM: u32 = 36754;
+pub const GL_RGBA_SNORM: u32 = 36755;
+pub const GL_R8_SNORM: u32 = 36756;
+pub const GL_RG8_SNORM: u32 = 36757;
+pub const GL_RGB8_SNORM: u32 = 36758;
+pub const GL_RGBA8_SNORM: u32 = 36759;
+pub const GL_R16_SNORM: u32 = 36760;
+pub const GL_R16_SNORM_EXT: u32 = 36760;
+pub const GL_RG16_SNORM: u32 = 36761;
+pub const GL_RG16_SNORM_EXT: u32 = 36761;
+pub const GL_RGB16_SNORM: u32 = 36762;
+pub const GL_RGB16_SNORM_EXT: u32 = 36762;
+pub const GL_RGBA16_SNORM: u32 = 36763;
+pub const GL_RGBA16_SNORM_EXT: u32 = 36763;
+pub const GL_SIGNED_NORMALIZED: u32 = 36764;
+pub const GL_PRIMITIVE_RESTART: u32 = 36765;
+pub const GL_PRIMITIVE_RESTART_INDEX: u32 = 36766;
+pub const GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB: u32 = 36767;
+pub const GL_PERFMON_GLOBAL_MODE_QCOM: u32 = 36768;
+pub const GL_BINNING_CONTROL_HINT_QCOM: u32 = 36784;
+pub const GL_CPU_OPTIMIZED_QCOM: u32 = 36785;
+pub const GL_GPU_OPTIMIZED_QCOM: u32 = 36786;
+pub const GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM: u32 = 36787;
+pub const GL_GPU_DISJOINT_EXT: u32 = 36795;
+pub const GL_SR8_EXT: u32 = 36797;
+pub const GL_SRG8_EXT: u32 = 36798;
+pub const GL_SHADER_BINARY_VIV: u32 = 36804;
+pub const GL_INT8_NV: u32 = 36832;
+pub const GL_INT8_VEC2_NV: u32 = 36833;
+pub const GL_INT8_VEC3_NV: u32 = 36834;
+pub const GL_INT8_VEC4_NV: u32 = 36835;
+pub const GL_INT16_NV: u32 = 36836;
+pub const GL_INT16_VEC2_NV: u32 = 36837;
+pub const GL_INT16_VEC3_NV: u32 = 36838;
+pub const GL_INT16_VEC4_NV: u32 = 36839;
+pub const GL_INT64_VEC2_ARB: u32 = 36841;
+pub const GL_INT64_VEC2_NV: u32 = 36841;
+pub const GL_INT64_VEC3_ARB: u32 = 36842;
+pub const GL_INT64_VEC3_NV: u32 = 36842;
+pub const GL_INT64_VEC4_ARB: u32 = 36843;
+pub const GL_INT64_VEC4_NV: u32 = 36843;
+pub const GL_UNSIGNED_INT8_NV: u32 = 36844;
+pub const GL_UNSIGNED_INT8_VEC2_NV: u32 = 36845;
+pub const GL_UNSIGNED_INT8_VEC3_NV: u32 = 36846;
+pub const GL_UNSIGNED_INT8_VEC4_NV: u32 = 36847;
+pub const GL_UNSIGNED_INT16_NV: u32 = 36848;
+pub const GL_UNSIGNED_INT16_VEC2_NV: u32 = 36849;
+pub const GL_UNSIGNED_INT16_VEC3_NV: u32 = 36850;
+pub const GL_UNSIGNED_INT16_VEC4_NV: u32 = 36851;
+pub const GL_UNSIGNED_INT64_VEC2_ARB: u32 = 36853;
+pub const GL_UNSIGNED_INT64_VEC2_NV: u32 = 36853;
+pub const GL_UNSIGNED_INT64_VEC3_ARB: u32 = 36854;
+pub const GL_UNSIGNED_INT64_VEC3_NV: u32 = 36854;
+pub const GL_UNSIGNED_INT64_VEC4_ARB: u32 = 36855;
+pub const GL_UNSIGNED_INT64_VEC4_NV: u32 = 36855;
+pub const GL_FLOAT16_NV: u32 = 36856;
+pub const GL_FLOAT16_VEC2_NV: u32 = 36857;
+pub const GL_FLOAT16_VEC3_NV: u32 = 36858;
+pub const GL_FLOAT16_VEC4_NV: u32 = 36859;
+pub const GL_DOUBLE_VEC2: u32 = 36860;
+pub const GL_DOUBLE_VEC2_EXT: u32 = 36860;
+pub const GL_DOUBLE_VEC3: u32 = 36861;
+pub const GL_DOUBLE_VEC3_EXT: u32 = 36861;
+pub const GL_DOUBLE_VEC4: u32 = 36862;
+pub const GL_DOUBLE_VEC4_EXT: u32 = 36862;
+pub const GL_SAMPLER_BUFFER_AMD: u32 = 36865;
+pub const GL_INT_SAMPLER_BUFFER_AMD: u32 = 36866;
+pub const GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD: u32 = 36867;
+pub const GL_TESSELLATION_MODE_AMD: u32 = 36868;
+pub const GL_TESSELLATION_FACTOR_AMD: u32 = 36869;
+pub const GL_DISCRETE_AMD: u32 = 36870;
+pub const GL_CONTINUOUS_AMD: u32 = 36871;
+pub const GL_TEXTURE_CUBE_MAP_ARRAY: u32 = 36873;
+pub const GL_TEXTURE_CUBE_MAP_ARRAY_ARB: u32 = 36873;
+pub const GL_TEXTURE_CUBE_MAP_ARRAY_EXT: u32 = 36873;
+pub const GL_TEXTURE_CUBE_MAP_ARRAY_OES: u32 = 36873;
+pub const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY: u32 = 36874;
+pub const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB: u32 = 36874;
+pub const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT: u32 = 36874;
+pub const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES: u32 = 36874;
+pub const GL_PROXY_TEXTURE_CUBE_MAP_ARRAY: u32 = 36875;
+pub const GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB: u32 = 36875;
+pub const GL_SAMPLER_CUBE_MAP_ARRAY: u32 = 36876;
+pub const GL_SAMPLER_CUBE_MAP_ARRAY_ARB: u32 = 36876;
+pub const GL_SAMPLER_CUBE_MAP_ARRAY_EXT: u32 = 36876;
+pub const GL_SAMPLER_CUBE_MAP_ARRAY_OES: u32 = 36876;
+pub const GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW: u32 = 36877;
+pub const GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB: u32 = 36877;
+pub const GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT: u32 = 36877;
+pub const GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES: u32 = 36877;
+pub const GL_INT_SAMPLER_CUBE_MAP_ARRAY: u32 = 36878;
+pub const GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB: u32 = 36878;
+pub const GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT: u32 = 36878;
+pub const GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES: u32 = 36878;
+pub const GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY: u32 = 36879;
+pub const GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB: u32 = 36879;
+pub const GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT: u32 = 36879;
+pub const GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES: u32 = 36879;
+pub const GL_ALPHA_SNORM: u32 = 36880;
+pub const GL_LUMINANCE_SNORM: u32 = 36881;
+pub const GL_LUMINANCE_ALPHA_SNORM: u32 = 36882;
+pub const GL_INTENSITY_SNORM: u32 = 36883;
+pub const GL_ALPHA8_SNORM: u32 = 36884;
+pub const GL_LUMINANCE8_SNORM: u32 = 36885;
+pub const GL_LUMINANCE8_ALPHA8_SNORM: u32 = 36886;
+pub const GL_INTENSITY8_SNORM: u32 = 36887;
+pub const GL_ALPHA16_SNORM: u32 = 36888;
+pub const GL_LUMINANCE16_SNORM: u32 = 36889;
+pub const GL_LUMINANCE16_ALPHA16_SNORM: u32 = 36890;
+pub const GL_INTENSITY16_SNORM: u32 = 36891;
+pub const GL_FACTOR_MIN_AMD: u32 = 36892;
+pub const GL_FACTOR_MAX_AMD: u32 = 36893;
+pub const GL_DEPTH_CLAMP_NEAR_AMD: u32 = 36894;
+pub const GL_DEPTH_CLAMP_FAR_AMD: u32 = 36895;
+pub const GL_VIDEO_BUFFER_NV: u32 = 36896;
+pub const GL_VIDEO_BUFFER_BINDING_NV: u32 = 36897;
+pub const GL_FIELD_UPPER_NV: u32 = 36898;
+pub const GL_FIELD_LOWER_NV: u32 = 36899;
+pub const GL_NUM_VIDEO_CAPTURE_STREAMS_NV: u32 = 36900;
+pub const GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV: u32 = 36901;
+pub const GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV: u32 = 36902;
+pub const GL_LAST_VIDEO_CAPTURE_STATUS_NV: u32 = 36903;
+pub const GL_VIDEO_BUFFER_PITCH_NV: u32 = 36904;
+pub const GL_VIDEO_COLOR_CONVERSION_MATRIX_NV: u32 = 36905;
+pub const GL_VIDEO_COLOR_CONVERSION_MAX_NV: u32 = 36906;
+pub const GL_VIDEO_COLOR_CONVERSION_MIN_NV: u32 = 36907;
+pub const GL_VIDEO_COLOR_CONVERSION_OFFSET_NV: u32 = 36908;
+pub const GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV: u32 = 36909;
+pub const GL_PARTIAL_SUCCESS_NV: u32 = 36910;
+pub const GL_SUCCESS_NV: u32 = 36911;
+pub const GL_FAILURE_NV: u32 = 36912;
+pub const GL_YCBYCR8_422_NV: u32 = 36913;
+pub const GL_YCBAYCR8A_4224_NV: u32 = 36914;
+pub const GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV: u32 = 36915;
+pub const GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV: u32 = 36916;
+pub const GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV: u32 = 36917;
+pub const GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV: u32 = 36918;
+pub const GL_Z4Y12Z4CB12Z4CR12_444_NV: u32 = 36919;
+pub const GL_VIDEO_CAPTURE_FRAME_WIDTH_NV: u32 = 36920;
+pub const GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV: u32 = 36921;
+pub const GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV: u32 = 36922;
+pub const GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV: u32 = 36923;
+pub const GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV: u32 = 36924;
+pub const GL_TEXTURE_COVERAGE_SAMPLES_NV: u32 = 36933;
+pub const GL_TEXTURE_COLOR_SAMPLES_NV: u32 = 36934;
+pub const GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX: u32 = 36935;
+pub const GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX: u32 = 36936;
+pub const GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX: u32 = 36937;
+pub const GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX: u32 = 36938;
+pub const GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX: u32 = 36939;
+pub const GL_IMAGE_1D: u32 = 36940;
+pub const GL_IMAGE_1D_EXT: u32 = 36940;
+pub const GL_IMAGE_2D: u32 = 36941;
+pub const GL_IMAGE_2D_EXT: u32 = 36941;
+pub const GL_IMAGE_3D: u32 = 36942;
+pub const GL_IMAGE_3D_EXT: u32 = 36942;
+pub const GL_IMAGE_2D_RECT: u32 = 36943;
+pub const GL_IMAGE_2D_RECT_EXT: u32 = 36943;
+pub const GL_IMAGE_CUBE: u32 = 36944;
+pub const GL_IMAGE_CUBE_EXT: u32 = 36944;
+pub const GL_IMAGE_BUFFER: u32 = 36945;
+pub const GL_IMAGE_BUFFER_EXT: u32 = 36945;
+pub const GL_IMAGE_BUFFER_OES: u32 = 36945;
+pub const GL_IMAGE_1D_ARRAY: u32 = 36946;
+pub const GL_IMAGE_1D_ARRAY_EXT: u32 = 36946;
+pub const GL_IMAGE_2D_ARRAY: u32 = 36947;
+pub const GL_IMAGE_2D_ARRAY_EXT: u32 = 36947;
+pub const GL_IMAGE_CUBE_MAP_ARRAY: u32 = 36948;
+pub const GL_IMAGE_CUBE_MAP_ARRAY_EXT: u32 = 36948;
+pub const GL_IMAGE_CUBE_MAP_ARRAY_OES: u32 = 36948;
+pub const GL_IMAGE_2D_MULTISAMPLE: u32 = 36949;
+pub const GL_IMAGE_2D_MULTISAMPLE_EXT: u32 = 36949;
+pub const GL_IMAGE_2D_MULTISAMPLE_ARRAY: u32 = 36950;
+pub const GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT: u32 = 36950;
+pub const GL_INT_IMAGE_1D: u32 = 36951;
+pub const GL_INT_IMAGE_1D_EXT: u32 = 36951;
+pub const GL_INT_IMAGE_2D: u32 = 36952;
+pub const GL_INT_IMAGE_2D_EXT: u32 = 36952;
+pub const GL_INT_IMAGE_3D: u32 = 36953;
+pub const GL_INT_IMAGE_3D_EXT: u32 = 36953;
+pub const GL_INT_IMAGE_2D_RECT: u32 = 36954;
+pub const GL_INT_IMAGE_2D_RECT_EXT: u32 = 36954;
+pub const GL_INT_IMAGE_CUBE: u32 = 36955;
+pub const GL_INT_IMAGE_CUBE_EXT: u32 = 36955;
+pub const GL_INT_IMAGE_BUFFER: u32 = 36956;
+pub const GL_INT_IMAGE_BUFFER_EXT: u32 = 36956;
+pub const GL_INT_IMAGE_BUFFER_OES: u32 = 36956;
+pub const GL_INT_IMAGE_1D_ARRAY: u32 = 36957;
+pub const GL_INT_IMAGE_1D_ARRAY_EXT: u32 = 36957;
+pub const GL_INT_IMAGE_2D_ARRAY: u32 = 36958;
+pub const GL_INT_IMAGE_2D_ARRAY_EXT: u32 = 36958;
+pub const GL_INT_IMAGE_CUBE_MAP_ARRAY: u32 = 36959;
+pub const GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT: u32 = 36959;
+pub const GL_INT_IMAGE_CUBE_MAP_ARRAY_OES: u32 = 36959;
+pub const GL_INT_IMAGE_2D_MULTISAMPLE: u32 = 36960;
+pub const GL_INT_IMAGE_2D_MULTISAMPLE_EXT: u32 = 36960;
+pub const GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY: u32 = 36961;
+pub const GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT: u32 = 36961;
+pub const GL_UNSIGNED_INT_IMAGE_1D: u32 = 36962;
+pub const GL_UNSIGNED_INT_IMAGE_1D_EXT: u32 = 36962;
+pub const GL_UNSIGNED_INT_IMAGE_2D: u32 = 36963;
+pub const GL_UNSIGNED_INT_IMAGE_2D_EXT: u32 = 36963;
+pub const GL_UNSIGNED_INT_IMAGE_3D: u32 = 36964;
+pub const GL_UNSIGNED_INT_IMAGE_3D_EXT: u32 = 36964;
+pub const GL_UNSIGNED_INT_IMAGE_2D_RECT: u32 = 36965;
+pub const GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT: u32 = 36965;
+pub const GL_UNSIGNED_INT_IMAGE_CUBE: u32 = 36966;
+pub const GL_UNSIGNED_INT_IMAGE_CUBE_EXT: u32 = 36966;
+pub const GL_UNSIGNED_INT_IMAGE_BUFFER: u32 = 36967;
+pub const GL_UNSIGNED_INT_IMAGE_BUFFER_EXT: u32 = 36967;
+pub const GL_UNSIGNED_INT_IMAGE_BUFFER_OES: u32 = 36967;
+pub const GL_UNSIGNED_INT_IMAGE_1D_ARRAY: u32 = 36968;
+pub const GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT: u32 = 36968;
+pub const GL_UNSIGNED_INT_IMAGE_2D_ARRAY: u32 = 36969;
+pub const GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT: u32 = 36969;
+pub const GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY: u32 = 36970;
+pub const GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT: u32 = 36970;
+pub const GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES: u32 = 36970;
+pub const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE: u32 = 36971;
+pub const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT: u32 = 36971;
+pub const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY: u32 = 36972;
+pub const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT: u32 = 36972;
+pub const GL_MAX_IMAGE_SAMPLES: u32 = 36973;
+pub const GL_MAX_IMAGE_SAMPLES_EXT: u32 = 36973;
+pub const GL_IMAGE_BINDING_FORMAT: u32 = 36974;
+pub const GL_IMAGE_BINDING_FORMAT_EXT: u32 = 36974;
+pub const GL_RGB10_A2UI: u32 = 36975;
+pub const GL_PATH_FORMAT_SVG_NV: u32 = 36976;
+pub const GL_PATH_FORMAT_PS_NV: u32 = 36977;
+pub const GL_STANDARD_FONT_NAME_NV: u32 = 36978;
+pub const GL_SYSTEM_FONT_NAME_NV: u32 = 36979;
+pub const GL_FILE_NAME_NV: u32 = 36980;
+pub const GL_PATH_STROKE_WIDTH_NV: u32 = 36981;
+pub const GL_PATH_END_CAPS_NV: u32 = 36982;
+pub const GL_PATH_INITIAL_END_CAP_NV: u32 = 36983;
+pub const GL_PATH_TERMINAL_END_CAP_NV: u32 = 36984;
+pub const GL_PATH_JOIN_STYLE_NV: u32 = 36985;
+pub const GL_PATH_MITER_LIMIT_NV: u32 = 36986;
+pub const GL_PATH_DASH_CAPS_NV: u32 = 36987;
+pub const GL_PATH_INITIAL_DASH_CAP_NV: u32 = 36988;
+pub const GL_PATH_TERMINAL_DASH_CAP_NV: u32 = 36989;
+pub const GL_PATH_DASH_OFFSET_NV: u32 = 36990;
+pub const GL_PATH_CLIENT_LENGTH_NV: u32 = 36991;
+pub const GL_PATH_FILL_MODE_NV: u32 = 36992;
+pub const GL_PATH_FILL_MASK_NV: u32 = 36993;
+pub const GL_PATH_FILL_COVER_MODE_NV: u32 = 36994;
+pub const GL_PATH_STROKE_COVER_MODE_NV: u32 = 36995;
+pub const GL_PATH_STROKE_MASK_NV: u32 = 36996;
+pub const GL_COUNT_UP_NV: u32 = 37000;
+pub const GL_COUNT_DOWN_NV: u32 = 37001;
+pub const GL_PATH_OBJECT_BOUNDING_BOX_NV: u32 = 37002;
+pub const GL_CONVEX_HULL_NV: u32 = 37003;
+pub const GL_BOUNDING_BOX_NV: u32 = 37005;
+pub const GL_TRANSLATE_X_NV: u32 = 37006;
+pub const GL_TRANSLATE_Y_NV: u32 = 37007;
+pub const GL_TRANSLATE_2D_NV: u32 = 37008;
+pub const GL_TRANSLATE_3D_NV: u32 = 37009;
+pub const GL_AFFINE_2D_NV: u32 = 37010;
+pub const GL_AFFINE_3D_NV: u32 = 37012;
+pub const GL_TRANSPOSE_AFFINE_2D_NV: u32 = 37014;
+pub const GL_TRANSPOSE_AFFINE_3D_NV: u32 = 37016;
+pub const GL_UTF8_NV: u32 = 37018;
+pub const GL_UTF16_NV: u32 = 37019;
+pub const GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV: u32 = 37020;
+pub const GL_PATH_COMMAND_COUNT_NV: u32 = 37021;
+pub const GL_PATH_COORD_COUNT_NV: u32 = 37022;
+pub const GL_PATH_DASH_ARRAY_COUNT_NV: u32 = 37023;
+pub const GL_PATH_COMPUTED_LENGTH_NV: u32 = 37024;
+pub const GL_PATH_FILL_BOUNDING_BOX_NV: u32 = 37025;
+pub const GL_PATH_STROKE_BOUNDING_BOX_NV: u32 = 37026;
+pub const GL_SQUARE_NV: u32 = 37027;
+pub const GL_ROUND_NV: u32 = 37028;
+pub const GL_TRIANGULAR_NV: u32 = 37029;
+pub const GL_BEVEL_NV: u32 = 37030;
+pub const GL_MITER_REVERT_NV: u32 = 37031;
+pub const GL_MITER_TRUNCATE_NV: u32 = 37032;
+pub const GL_SKIP_MISSING_GLYPH_NV: u32 = 37033;
+pub const GL_USE_MISSING_GLYPH_NV: u32 = 37034;
+pub const GL_PATH_ERROR_POSITION_NV: u32 = 37035;
+pub const GL_PATH_FOG_GEN_MODE_NV: u32 = 37036;
+pub const GL_ACCUM_ADJACENT_PAIRS_NV: u32 = 37037;
+pub const GL_ADJACENT_PAIRS_NV: u32 = 37038;
+pub const GL_FIRST_TO_REST_NV: u32 = 37039;
+pub const GL_PATH_GEN_MODE_NV: u32 = 37040;
+pub const GL_PATH_GEN_COEFF_NV: u32 = 37041;
+pub const GL_PATH_GEN_COLOR_FORMAT_NV: u32 = 37042;
+pub const GL_PATH_GEN_COMPONENTS_NV: u32 = 37043;
+pub const GL_PATH_DASH_OFFSET_RESET_NV: u32 = 37044;
+pub const GL_MOVE_TO_RESETS_NV: u32 = 37045;
+pub const GL_MOVE_TO_CONTINUES_NV: u32 = 37046;
+pub const GL_PATH_STENCIL_FUNC_NV: u32 = 37047;
+pub const GL_PATH_STENCIL_REF_NV: u32 = 37048;
+pub const GL_PATH_STENCIL_VALUE_MASK_NV: u32 = 37049;
+pub const GL_SCALED_RESOLVE_FASTEST_EXT: u32 = 37050;
+pub const GL_SCALED_RESOLVE_NICEST_EXT: u32 = 37051;
+pub const GL_MIN_MAP_BUFFER_ALIGNMENT: u32 = 37052;
+pub const GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV: u32 = 37053;
+pub const GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV: u32 = 37054;
+pub const GL_PATH_COVER_DEPTH_FUNC_NV: u32 = 37055;
+pub const GL_IMAGE_FORMAT_COMPATIBILITY_TYPE: u32 = 37063;
+pub const GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE: u32 = 37064;
+pub const GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS: u32 = 37065;
+pub const GL_MAX_VERTEX_IMAGE_UNIFORMS: u32 = 37066;
+pub const GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS: u32 = 37067;
+pub const GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT: u32 = 37067;
+pub const GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES: u32 = 37067;
+pub const GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS: u32 = 37068;
+pub const GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT: u32 = 37068;
+pub const GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES: u32 = 37068;
+pub const GL_MAX_GEOMETRY_IMAGE_UNIFORMS: u32 = 37069;
+pub const GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT: u32 = 37069;
+pub const GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES: u32 = 37069;
+pub const GL_MAX_FRAGMENT_IMAGE_UNIFORMS: u32 = 37070;
+pub const GL_MAX_COMBINED_IMAGE_UNIFORMS: u32 = 37071;
+pub const GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV: u32 = 37072;
+pub const GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV: u32 = 37073;
+pub const GL_SHADER_STORAGE_BUFFER: u32 = 37074;
+pub const GL_SHADER_STORAGE_BUFFER_BINDING: u32 = 37075;
+pub const GL_SHADER_STORAGE_BUFFER_START: u32 = 37076;
+pub const GL_SHADER_STORAGE_BUFFER_SIZE: u32 = 37077;
+pub const GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: u32 = 37078;
+pub const GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS: u32 = 37079;
+pub const GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT: u32 = 37079;
+pub const GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES: u32 = 37079;
+pub const GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS: u32 = 37080;
+pub const GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT: u32 = 37080;
+pub const GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES: u32 = 37080;
+pub const GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS: u32 = 37081;
+pub const GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT: u32 = 37081;
+pub const GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES: u32 = 37081;
+pub const GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: u32 = 37082;
+pub const GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: u32 = 37083;
+pub const GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: u32 = 37084;
+pub const GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: u32 = 37085;
+pub const GL_MAX_SHADER_STORAGE_BLOCK_SIZE: u32 = 37086;
+pub const GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: u32 = 37087;
+pub const GL_SYNC_X11_FENCE_EXT: u32 = 37089;
+pub const GL_DEPTH_STENCIL_TEXTURE_MODE: u32 = 37098;
+pub const GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB: u32 = 37099;
+pub const GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: u32 = 37099;
+pub const GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER: u32 = 37100;
+pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER: u32 = 37101;
+pub const GL_DISPATCH_INDIRECT_BUFFER: u32 = 37102;
+pub const GL_DISPATCH_INDIRECT_BUFFER_BINDING: u32 = 37103;
+pub const GL_COLOR_ATTACHMENT_EXT: u32 = 37104;
+pub const GL_MULTIVIEW_EXT: u32 = 37105;
+pub const GL_MAX_MULTIVIEW_BUFFERS_EXT: u32 = 37106;
+pub const GL_CONTEXT_ROBUST_ACCESS: u32 = 37107;
+pub const GL_CONTEXT_ROBUST_ACCESS_EXT: u32 = 37107;
+pub const GL_CONTEXT_ROBUST_ACCESS_KHR: u32 = 37107;
+pub const GL_COMPUTE_PROGRAM_NV: u32 = 37115;
+pub const GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV: u32 = 37116;
+pub const GL_TEXTURE_2D_MULTISAMPLE: u32 = 37120;
+pub const GL_PROXY_TEXTURE_2D_MULTISAMPLE: u32 = 37121;
+pub const GL_TEXTURE_2D_MULTISAMPLE_ARRAY: u32 = 37122;
+pub const GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES: u32 = 37122;
+pub const GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY: u32 = 37123;
+pub const GL_TEXTURE_BINDING_2D_MULTISAMPLE: u32 = 37124;
+pub const GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY: u32 = 37125;
+pub const GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES: u32 = 37125;
+pub const GL_TEXTURE_SAMPLES: u32 = 37126;
+pub const GL_TEXTURE_FIXED_SAMPLE_LOCATIONS: u32 = 37127;
+pub const GL_SAMPLER_2D_MULTISAMPLE: u32 = 37128;
+pub const GL_INT_SAMPLER_2D_MULTISAMPLE: u32 = 37129;
+pub const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE: u32 = 37130;
+pub const GL_SAMPLER_2D_MULTISAMPLE_ARRAY: u32 = 37131;
+pub const GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES: u32 = 37131;
+pub const GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: u32 = 37132;
+pub const GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES: u32 = 37132;
+pub const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: u32 = 37133;
+pub const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES: u32 = 37133;
+pub const GL_MAX_COLOR_TEXTURE_SAMPLES: u32 = 37134;
+pub const GL_MAX_DEPTH_TEXTURE_SAMPLES: u32 = 37135;
+pub const GL_MAX_INTEGER_SAMPLES: u32 = 37136;
+pub const GL_MAX_SERVER_WAIT_TIMEOUT: u32 = 37137;
+pub const GL_MAX_SERVER_WAIT_TIMEOUT_APPLE: u32 = 37137;
+pub const GL_OBJECT_TYPE: u32 = 37138;
+pub const GL_OBJECT_TYPE_APPLE: u32 = 37138;
+pub const GL_SYNC_CONDITION: u32 = 37139;
+pub const GL_SYNC_CONDITION_APPLE: u32 = 37139;
+pub const GL_SYNC_STATUS: u32 = 37140;
+pub const GL_SYNC_STATUS_APPLE: u32 = 37140;
+pub const GL_SYNC_FLAGS: u32 = 37141;
+pub const GL_SYNC_FLAGS_APPLE: u32 = 37141;
+pub const GL_SYNC_FENCE: u32 = 37142;
+pub const GL_SYNC_FENCE_APPLE: u32 = 37142;
+pub const GL_SYNC_GPU_COMMANDS_COMPLETE: u32 = 37143;
+pub const GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE: u32 = 37143;
+pub const GL_UNSIGNALED: u32 = 37144;
+pub const GL_UNSIGNALED_APPLE: u32 = 37144;
+pub const GL_SIGNALED: u32 = 37145;
+pub const GL_SIGNALED_APPLE: u32 = 37145;
+pub const GL_ALREADY_SIGNALED: u32 = 37146;
+pub const GL_ALREADY_SIGNALED_APPLE: u32 = 37146;
+pub const GL_TIMEOUT_EXPIRED: u32 = 37147;
+pub const GL_TIMEOUT_EXPIRED_APPLE: u32 = 37147;
+pub const GL_CONDITION_SATISFIED: u32 = 37148;
+pub const GL_CONDITION_SATISFIED_APPLE: u32 = 37148;
+pub const GL_WAIT_FAILED: u32 = 37149;
+pub const GL_WAIT_FAILED_APPLE: u32 = 37149;
+pub const GL_BUFFER_ACCESS_FLAGS: u32 = 37151;
+pub const GL_BUFFER_MAP_LENGTH: u32 = 37152;
+pub const GL_BUFFER_MAP_OFFSET: u32 = 37153;
+pub const GL_MAX_VERTEX_OUTPUT_COMPONENTS: u32 = 37154;
+pub const GL_MAX_GEOMETRY_INPUT_COMPONENTS: u32 = 37155;
+pub const GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT: u32 = 37155;
+pub const GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES: u32 = 37155;
+pub const GL_MAX_GEOMETRY_OUTPUT_COMPONENTS: u32 = 37156;
+pub const GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT: u32 = 37156;
+pub const GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES: u32 = 37156;
+pub const GL_MAX_FRAGMENT_INPUT_COMPONENTS: u32 = 37157;
+pub const GL_CONTEXT_PROFILE_MASK: u32 = 37158;
+pub const GL_UNPACK_COMPRESSED_BLOCK_WIDTH: u32 = 37159;
+pub const GL_UNPACK_COMPRESSED_BLOCK_HEIGHT: u32 = 37160;
+pub const GL_UNPACK_COMPRESSED_BLOCK_DEPTH: u32 = 37161;
+pub const GL_UNPACK_COMPRESSED_BLOCK_SIZE: u32 = 37162;
+pub const GL_PACK_COMPRESSED_BLOCK_WIDTH: u32 = 37163;
+pub const GL_PACK_COMPRESSED_BLOCK_HEIGHT: u32 = 37164;
+pub const GL_PACK_COMPRESSED_BLOCK_DEPTH: u32 = 37165;
+pub const GL_PACK_COMPRESSED_BLOCK_SIZE: u32 = 37166;
+pub const GL_TEXTURE_IMMUTABLE_FORMAT: u32 = 37167;
+pub const GL_TEXTURE_IMMUTABLE_FORMAT_EXT: u32 = 37167;
+pub const GL_SGX_PROGRAM_BINARY_IMG: u32 = 37168;
+pub const GL_RENDERBUFFER_SAMPLES_IMG: u32 = 37171;
+pub const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG: u32 = 37172;
+pub const GL_MAX_SAMPLES_IMG: u32 = 37173;
+pub const GL_TEXTURE_SAMPLES_IMG: u32 = 37174;
+pub const GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG: u32 = 37175;
+pub const GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG: u32 = 37176;
+pub const GL_CUBIC_IMG: u32 = 37177;
+pub const GL_CUBIC_MIPMAP_NEAREST_IMG: u32 = 37178;
+pub const GL_CUBIC_MIPMAP_LINEAR_IMG: u32 = 37179;
+pub const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG: u32 = 37180;
+pub const GL_NUM_DOWNSAMPLE_SCALES_IMG: u32 = 37181;
+pub const GL_DOWNSAMPLE_SCALES_IMG: u32 = 37182;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG: u32 = 37183;
+pub const GL_MAX_DEBUG_MESSAGE_LENGTH: u32 = 37187;
+pub const GL_MAX_DEBUG_MESSAGE_LENGTH_AMD: u32 = 37187;
+pub const GL_MAX_DEBUG_MESSAGE_LENGTH_ARB: u32 = 37187;
+pub const GL_MAX_DEBUG_MESSAGE_LENGTH_KHR: u32 = 37187;
+pub const GL_MAX_DEBUG_LOGGED_MESSAGES: u32 = 37188;
+pub const GL_MAX_DEBUG_LOGGED_MESSAGES_AMD: u32 = 37188;
+pub const GL_MAX_DEBUG_LOGGED_MESSAGES_ARB: u32 = 37188;
+pub const GL_MAX_DEBUG_LOGGED_MESSAGES_KHR: u32 = 37188;
+pub const GL_DEBUG_LOGGED_MESSAGES: u32 = 37189;
+pub const GL_DEBUG_LOGGED_MESSAGES_AMD: u32 = 37189;
+pub const GL_DEBUG_LOGGED_MESSAGES_ARB: u32 = 37189;
+pub const GL_DEBUG_LOGGED_MESSAGES_KHR: u32 = 37189;
+pub const GL_DEBUG_SEVERITY_HIGH: u32 = 37190;
+pub const GL_DEBUG_SEVERITY_HIGH_AMD: u32 = 37190;
+pub const GL_DEBUG_SEVERITY_HIGH_ARB: u32 = 37190;
+pub const GL_DEBUG_SEVERITY_HIGH_KHR: u32 = 37190;
+pub const GL_DEBUG_SEVERITY_MEDIUM: u32 = 37191;
+pub const GL_DEBUG_SEVERITY_MEDIUM_AMD: u32 = 37191;
+pub const GL_DEBUG_SEVERITY_MEDIUM_ARB: u32 = 37191;
+pub const GL_DEBUG_SEVERITY_MEDIUM_KHR: u32 = 37191;
+pub const GL_DEBUG_SEVERITY_LOW: u32 = 37192;
+pub const GL_DEBUG_SEVERITY_LOW_AMD: u32 = 37192;
+pub const GL_DEBUG_SEVERITY_LOW_ARB: u32 = 37192;
+pub const GL_DEBUG_SEVERITY_LOW_KHR: u32 = 37192;
+pub const GL_DEBUG_CATEGORY_API_ERROR_AMD: u32 = 37193;
+pub const GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD: u32 = 37194;
+pub const GL_DEBUG_CATEGORY_DEPRECATION_AMD: u32 = 37195;
+pub const GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD: u32 = 37196;
+pub const GL_DEBUG_CATEGORY_PERFORMANCE_AMD: u32 = 37197;
+pub const GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD: u32 = 37198;
+pub const GL_DEBUG_CATEGORY_APPLICATION_AMD: u32 = 37199;
+pub const GL_DEBUG_CATEGORY_OTHER_AMD: u32 = 37200;
+pub const GL_BUFFER_OBJECT_EXT: u32 = 37201;
+pub const GL_DATA_BUFFER_AMD: u32 = 37201;
+pub const GL_PERFORMANCE_MONITOR_AMD: u32 = 37202;
+pub const GL_QUERY_OBJECT_AMD: u32 = 37203;
+pub const GL_QUERY_OBJECT_EXT: u32 = 37203;
+pub const GL_VERTEX_ARRAY_OBJECT_AMD: u32 = 37204;
+pub const GL_VERTEX_ARRAY_OBJECT_EXT: u32 = 37204;
+pub const GL_SAMPLER_OBJECT_AMD: u32 = 37205;
+pub const GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD: u32 = 37216;
+pub const GL_QUERY_BUFFER: u32 = 37266;
+pub const GL_QUERY_BUFFER_AMD: u32 = 37266;
+pub const GL_QUERY_BUFFER_BINDING: u32 = 37267;
+pub const GL_QUERY_BUFFER_BINDING_AMD: u32 = 37267;
+pub const GL_QUERY_RESULT_NO_WAIT: u32 = 37268;
+pub const GL_QUERY_RESULT_NO_WAIT_AMD: u32 = 37268;
+pub const GL_VIRTUAL_PAGE_SIZE_X_AMD: u32 = 37269;
+pub const GL_VIRTUAL_PAGE_SIZE_X_ARB: u32 = 37269;
+pub const GL_VIRTUAL_PAGE_SIZE_X_EXT: u32 = 37269;
+pub const GL_VIRTUAL_PAGE_SIZE_Y_AMD: u32 = 37270;
+pub const GL_VIRTUAL_PAGE_SIZE_Y_ARB: u32 = 37270;
+pub const GL_VIRTUAL_PAGE_SIZE_Y_EXT: u32 = 37270;
+pub const GL_VIRTUAL_PAGE_SIZE_Z_AMD: u32 = 37271;
+pub const GL_VIRTUAL_PAGE_SIZE_Z_ARB: u32 = 37271;
+pub const GL_VIRTUAL_PAGE_SIZE_Z_EXT: u32 = 37271;
+pub const GL_MAX_SPARSE_TEXTURE_SIZE_AMD: u32 = 37272;
+pub const GL_MAX_SPARSE_TEXTURE_SIZE_ARB: u32 = 37272;
+pub const GL_MAX_SPARSE_TEXTURE_SIZE_EXT: u32 = 37272;
+pub const GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD: u32 = 37273;
+pub const GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB: u32 = 37273;
+pub const GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT: u32 = 37273;
+pub const GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS: u32 = 37274;
+pub const GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB: u32 = 37274;
+pub const GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT: u32 = 37274;
+pub const GL_MIN_SPARSE_LEVEL_AMD: u32 = 37275;
+pub const GL_MIN_LOD_WARNING_AMD: u32 = 37276;
+pub const GL_TEXTURE_BUFFER_OFFSET: u32 = 37277;
+pub const GL_TEXTURE_BUFFER_OFFSET_EXT: u32 = 37277;
+pub const GL_TEXTURE_BUFFER_OFFSET_OES: u32 = 37277;
+pub const GL_TEXTURE_BUFFER_SIZE: u32 = 37278;
+pub const GL_TEXTURE_BUFFER_SIZE_EXT: u32 = 37278;
+pub const GL_TEXTURE_BUFFER_SIZE_OES: u32 = 37278;
+pub const GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT: u32 = 37279;
+pub const GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT: u32 = 37279;
+pub const GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES: u32 = 37279;
+pub const GL_STREAM_RASTERIZATION_AMD: u32 = 37280;
+pub const GL_VERTEX_ELEMENT_SWIZZLE_AMD: u32 = 37284;
+pub const GL_VERTEX_ID_SWIZZLE_AMD: u32 = 37285;
+pub const GL_TEXTURE_SPARSE_ARB: u32 = 37286;
+pub const GL_TEXTURE_SPARSE_EXT: u32 = 37286;
+pub const GL_VIRTUAL_PAGE_SIZE_INDEX_ARB: u32 = 37287;
+pub const GL_VIRTUAL_PAGE_SIZE_INDEX_EXT: u32 = 37287;
+pub const GL_NUM_VIRTUAL_PAGE_SIZES_ARB: u32 = 37288;
+pub const GL_NUM_VIRTUAL_PAGE_SIZES_EXT: u32 = 37288;
+pub const GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB: u32 = 37289;
+pub const GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT: u32 = 37289;
+pub const GL_NUM_SPARSE_LEVELS_ARB: u32 = 37290;
+pub const GL_NUM_SPARSE_LEVELS_EXT: u32 = 37290;
+pub const GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD: u32 = 37294;
+pub const GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD: u32 = 37295;
+pub const GL_MAX_SHADER_COMPILER_THREADS_ARB: u32 = 37296;
+pub const GL_COMPLETION_STATUS_ARB: u32 = 37297;
+pub const GL_COMPUTE_SHADER: u32 = 37305;
+pub const GL_MAX_COMPUTE_UNIFORM_BLOCKS: u32 = 37307;
+pub const GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: u32 = 37308;
+pub const GL_MAX_COMPUTE_IMAGE_UNIFORMS: u32 = 37309;
+pub const GL_MAX_COMPUTE_WORK_GROUP_COUNT: u32 = 37310;
+pub const GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB: u32 = 37311;
+pub const GL_MAX_COMPUTE_WORK_GROUP_SIZE: u32 = 37311;
+pub const GL_FLOAT16_MAT2_AMD: u32 = 37317;
+pub const GL_FLOAT16_MAT3_AMD: u32 = 37318;
+pub const GL_FLOAT16_MAT4_AMD: u32 = 37319;
+pub const GL_FLOAT16_MAT2x3_AMD: u32 = 37320;
+pub const GL_FLOAT16_MAT2x4_AMD: u32 = 37321;
+pub const GL_FLOAT16_MAT3x2_AMD: u32 = 37322;
+pub const GL_FLOAT16_MAT3x4_AMD: u32 = 37323;
+pub const GL_FLOAT16_MAT4x2_AMD: u32 = 37324;
+pub const GL_FLOAT16_MAT4x3_AMD: u32 = 37325;
+pub const GL_UNPACK_FLIP_Y_WEBGL: u32 = 37440;
+pub const GL_UNPACK_PREMULTIPLY_ALPHA_WEBGL: u32 = 37441;
+pub const GL_CONTEXT_LOST_WEBGL: u32 = 37442;
+pub const GL_UNPACK_COLORSPACE_CONVERSION_WEBGL: u32 = 37443;
+pub const GL_BROWSER_DEFAULT_WEBGL: u32 = 37444;
+pub const GL_SHADER_BINARY_DMP: u32 = 37456;
+pub const GL_SMAPHS30_PROGRAM_BINARY_DMP: u32 = 37457;
+pub const GL_SMAPHS_PROGRAM_BINARY_DMP: u32 = 37458;
+pub const GL_DMP_PROGRAM_BINARY_DMP: u32 = 37459;
+pub const GL_GCCSO_SHADER_BINARY_FJ: u32 = 37472;
+pub const GL_COMPRESSED_R11_EAC: u32 = 37488;
+pub const GL_COMPRESSED_R11_EAC_OES: u32 = 37488;
+pub const GL_COMPRESSED_SIGNED_R11_EAC: u32 = 37489;
+pub const GL_COMPRESSED_SIGNED_R11_EAC_OES: u32 = 37489;
+pub const GL_COMPRESSED_RG11_EAC: u32 = 37490;
+pub const GL_COMPRESSED_RG11_EAC_OES: u32 = 37490;
+pub const GL_COMPRESSED_SIGNED_RG11_EAC: u32 = 37491;
+pub const GL_COMPRESSED_SIGNED_RG11_EAC_OES: u32 = 37491;
+pub const GL_COMPRESSED_RGB8_ETC2: u32 = 37492;
+pub const GL_COMPRESSED_RGB8_ETC2_OES: u32 = 37492;
+pub const GL_COMPRESSED_SRGB8_ETC2: u32 = 37493;
+pub const GL_COMPRESSED_SRGB8_ETC2_OES: u32 = 37493;
+pub const GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: u32 = 37494;
+pub const GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES: u32 = 37494;
+pub const GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: u32 = 37495;
+pub const GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES: u32 = 37495;
+pub const GL_COMPRESSED_RGBA8_ETC2_EAC: u32 = 37496;
+pub const GL_COMPRESSED_RGBA8_ETC2_EAC_OES: u32 = 37496;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: u32 = 37497;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES: u32 = 37497;
+pub const GL_BLEND_PREMULTIPLIED_SRC_NV: u32 = 37504;
+pub const GL_BLEND_OVERLAP_NV: u32 = 37505;
+pub const GL_UNCORRELATED_NV: u32 = 37506;
+pub const GL_DISJOINT_NV: u32 = 37507;
+pub const GL_CONJOINT_NV: u32 = 37508;
+pub const GL_BLEND_ADVANCED_COHERENT_KHR: u32 = 37509;
+pub const GL_BLEND_ADVANCED_COHERENT_NV: u32 = 37509;
+pub const GL_SRC_NV: u32 = 37510;
+pub const GL_DST_NV: u32 = 37511;
+pub const GL_SRC_OVER_NV: u32 = 37512;
+pub const GL_DST_OVER_NV: u32 = 37513;
+pub const GL_SRC_IN_NV: u32 = 37514;
+pub const GL_DST_IN_NV: u32 = 37515;
+pub const GL_SRC_OUT_NV: u32 = 37516;
+pub const GL_DST_OUT_NV: u32 = 37517;
+pub const GL_SRC_ATOP_NV: u32 = 37518;
+pub const GL_DST_ATOP_NV: u32 = 37519;
+pub const GL_PLUS_NV: u32 = 37521;
+pub const GL_PLUS_DARKER_NV: u32 = 37522;
+pub const GL_MULTIPLY: u32 = 37524;
+pub const GL_MULTIPLY_KHR: u32 = 37524;
+pub const GL_MULTIPLY_NV: u32 = 37524;
+pub const GL_SCREEN: u32 = 37525;
+pub const GL_SCREEN_KHR: u32 = 37525;
+pub const GL_SCREEN_NV: u32 = 37525;
+pub const GL_OVERLAY: u32 = 37526;
+pub const GL_OVERLAY_KHR: u32 = 37526;
+pub const GL_OVERLAY_NV: u32 = 37526;
+pub const GL_DARKEN: u32 = 37527;
+pub const GL_DARKEN_KHR: u32 = 37527;
+pub const GL_DARKEN_NV: u32 = 37527;
+pub const GL_LIGHTEN: u32 = 37528;
+pub const GL_LIGHTEN_KHR: u32 = 37528;
+pub const GL_LIGHTEN_NV: u32 = 37528;
+pub const GL_COLORDODGE: u32 = 37529;
+pub const GL_COLORDODGE_KHR: u32 = 37529;
+pub const GL_COLORDODGE_NV: u32 = 37529;
+pub const GL_COLORBURN: u32 = 37530;
+pub const GL_COLORBURN_KHR: u32 = 37530;
+pub const GL_COLORBURN_NV: u32 = 37530;
+pub const GL_HARDLIGHT: u32 = 37531;
+pub const GL_HARDLIGHT_KHR: u32 = 37531;
+pub const GL_HARDLIGHT_NV: u32 = 37531;
+pub const GL_SOFTLIGHT: u32 = 37532;
+pub const GL_SOFTLIGHT_KHR: u32 = 37532;
+pub const GL_SOFTLIGHT_NV: u32 = 37532;
+pub const GL_DIFFERENCE: u32 = 37534;
+pub const GL_DIFFERENCE_KHR: u32 = 37534;
+pub const GL_DIFFERENCE_NV: u32 = 37534;
+pub const GL_MINUS_NV: u32 = 37535;
+pub const GL_EXCLUSION: u32 = 37536;
+pub const GL_EXCLUSION_KHR: u32 = 37536;
+pub const GL_EXCLUSION_NV: u32 = 37536;
+pub const GL_CONTRAST_NV: u32 = 37537;
+pub const GL_INVERT_RGB_NV: u32 = 37539;
+pub const GL_LINEARDODGE_NV: u32 = 37540;
+pub const GL_LINEARBURN_NV: u32 = 37541;
+pub const GL_VIVIDLIGHT_NV: u32 = 37542;
+pub const GL_LINEARLIGHT_NV: u32 = 37543;
+pub const GL_PINLIGHT_NV: u32 = 37544;
+pub const GL_HARDMIX_NV: u32 = 37545;
+pub const GL_HSL_HUE: u32 = 37549;
+pub const GL_HSL_HUE_KHR: u32 = 37549;
+pub const GL_HSL_HUE_NV: u32 = 37549;
+pub const GL_HSL_SATURATION: u32 = 37550;
+pub const GL_HSL_SATURATION_KHR: u32 = 37550;
+pub const GL_HSL_SATURATION_NV: u32 = 37550;
+pub const GL_HSL_COLOR: u32 = 37551;
+pub const GL_HSL_COLOR_KHR: u32 = 37551;
+pub const GL_HSL_COLOR_NV: u32 = 37551;
+pub const GL_HSL_LUMINOSITY: u32 = 37552;
+pub const GL_HSL_LUMINOSITY_KHR: u32 = 37552;
+pub const GL_HSL_LUMINOSITY_NV: u32 = 37552;
+pub const GL_PLUS_CLAMPED_NV: u32 = 37553;
+pub const GL_PLUS_CLAMPED_ALPHA_NV: u32 = 37554;
+pub const GL_MINUS_CLAMPED_NV: u32 = 37555;
+pub const GL_INVERT_OVG_NV: u32 = 37556;
+pub const GL_PURGED_CONTEXT_RESET_NV: u32 = 37563;
+pub const GL_PRIMITIVE_BOUNDING_BOX: u32 = 37566;
+pub const GL_PRIMITIVE_BOUNDING_BOX_ARB: u32 = 37566;
+pub const GL_PRIMITIVE_BOUNDING_BOX_EXT: u32 = 37566;
+pub const GL_PRIMITIVE_BOUNDING_BOX_OES: u32 = 37566;
+pub const GL_ATOMIC_COUNTER_BUFFER: u32 = 37568;
+pub const GL_ATOMIC_COUNTER_BUFFER_BINDING: u32 = 37569;
+pub const GL_ATOMIC_COUNTER_BUFFER_START: u32 = 37570;
+pub const GL_ATOMIC_COUNTER_BUFFER_SIZE: u32 = 37571;
+pub const GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE: u32 = 37572;
+pub const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS: u32 = 37573;
+pub const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES: u32 = 37574;
+pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER: u32 = 37575;
+pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER: u32 = 37576;
+pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER: u32 = 37577;
+pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER: u32 = 37578;
+pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER: u32 = 37579;
+pub const GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS: u32 = 37580;
+pub const GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS: u32 = 37581;
+pub const GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT: u32 = 37581;
+pub const GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES: u32 = 37581;
+pub const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS: u32 = 37582;
+pub const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT: u32 = 37582;
+pub const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES: u32 = 37582;
+pub const GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS: u32 = 37583;
+pub const GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT: u32 = 37583;
+pub const GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES: u32 = 37583;
+pub const GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS: u32 = 37584;
+pub const GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS: u32 = 37585;
+pub const GL_MAX_VERTEX_ATOMIC_COUNTERS: u32 = 37586;
+pub const GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS: u32 = 37587;
+pub const GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT: u32 = 37587;
+pub const GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES: u32 = 37587;
+pub const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS: u32 = 37588;
+pub const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT: u32 = 37588;
+pub const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES: u32 = 37588;
+pub const GL_MAX_GEOMETRY_ATOMIC_COUNTERS: u32 = 37589;
+pub const GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT: u32 = 37589;
+pub const GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES: u32 = 37589;
+pub const GL_MAX_FRAGMENT_ATOMIC_COUNTERS: u32 = 37590;
+pub const GL_MAX_COMBINED_ATOMIC_COUNTERS: u32 = 37591;
+pub const GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE: u32 = 37592;
+pub const GL_ACTIVE_ATOMIC_COUNTER_BUFFERS: u32 = 37593;
+pub const GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX: u32 = 37594;
+pub const GL_UNSIGNED_INT_ATOMIC_COUNTER: u32 = 37595;
+pub const GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: u32 = 37596;
+pub const GL_FRAGMENT_COVERAGE_TO_COLOR_NV: u32 = 37597;
+pub const GL_FRAGMENT_COVERAGE_COLOR_NV: u32 = 37598;
+pub const GL_DEBUG_OUTPUT: u32 = 37600;
+pub const GL_DEBUG_OUTPUT_KHR: u32 = 37600;
+pub const GL_UNIFORM: u32 = 37601;
+pub const GL_UNIFORM_BLOCK: u32 = 37602;
+pub const GL_PROGRAM_INPUT: u32 = 37603;
+pub const GL_PROGRAM_OUTPUT: u32 = 37604;
+pub const GL_BUFFER_VARIABLE: u32 = 37605;
+pub const GL_SHADER_STORAGE_BLOCK: u32 = 37606;
+pub const GL_IS_PER_PATCH: u32 = 37607;
+pub const GL_IS_PER_PATCH_EXT: u32 = 37607;
+pub const GL_IS_PER_PATCH_OES: u32 = 37607;
+pub const GL_VERTEX_SUBROUTINE: u32 = 37608;
+pub const GL_TESS_CONTROL_SUBROUTINE: u32 = 37609;
+pub const GL_TESS_EVALUATION_SUBROUTINE: u32 = 37610;
+pub const GL_GEOMETRY_SUBROUTINE: u32 = 37611;
+pub const GL_FRAGMENT_SUBROUTINE: u32 = 37612;
+pub const GL_COMPUTE_SUBROUTINE: u32 = 37613;
+pub const GL_VERTEX_SUBROUTINE_UNIFORM: u32 = 37614;
+pub const GL_TESS_CONTROL_SUBROUTINE_UNIFORM: u32 = 37615;
+pub const GL_TESS_EVALUATION_SUBROUTINE_UNIFORM: u32 = 37616;
+pub const GL_GEOMETRY_SUBROUTINE_UNIFORM: u32 = 37617;
+pub const GL_FRAGMENT_SUBROUTINE_UNIFORM: u32 = 37618;
+pub const GL_COMPUTE_SUBROUTINE_UNIFORM: u32 = 37619;
+pub const GL_TRANSFORM_FEEDBACK_VARYING: u32 = 37620;
+pub const GL_ACTIVE_RESOURCES: u32 = 37621;
+pub const GL_MAX_NAME_LENGTH: u32 = 37622;
+pub const GL_MAX_NUM_ACTIVE_VARIABLES: u32 = 37623;
+pub const GL_MAX_NUM_COMPATIBLE_SUBROUTINES: u32 = 37624;
+pub const GL_NAME_LENGTH: u32 = 37625;
+pub const GL_TYPE: u32 = 37626;
+pub const GL_ARRAY_SIZE: u32 = 37627;
+pub const GL_OFFSET: u32 = 37628;
+pub const GL_BLOCK_INDEX: u32 = 37629;
+pub const GL_ARRAY_STRIDE: u32 = 37630;
+pub const GL_MATRIX_STRIDE: u32 = 37631;
+pub const GL_IS_ROW_MAJOR: u32 = 37632;
+pub const GL_ATOMIC_COUNTER_BUFFER_INDEX: u32 = 37633;
+pub const GL_BUFFER_BINDING: u32 = 37634;
+pub const GL_BUFFER_DATA_SIZE: u32 = 37635;
+pub const GL_NUM_ACTIVE_VARIABLES: u32 = 37636;
+pub const GL_ACTIVE_VARIABLES: u32 = 37637;
+pub const GL_REFERENCED_BY_VERTEX_SHADER: u32 = 37638;
+pub const GL_REFERENCED_BY_TESS_CONTROL_SHADER: u32 = 37639;
+pub const GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT: u32 = 37639;
+pub const GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES: u32 = 37639;
+pub const GL_REFERENCED_BY_TESS_EVALUATION_SHADER: u32 = 37640;
+pub const GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT: u32 = 37640;
+pub const GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES: u32 = 37640;
+pub const GL_REFERENCED_BY_GEOMETRY_SHADER: u32 = 37641;
+pub const GL_REFERENCED_BY_GEOMETRY_SHADER_EXT: u32 = 37641;
+pub const GL_REFERENCED_BY_GEOMETRY_SHADER_OES: u32 = 37641;
+pub const GL_REFERENCED_BY_FRAGMENT_SHADER: u32 = 37642;
+pub const GL_REFERENCED_BY_COMPUTE_SHADER: u32 = 37643;
+pub const GL_TOP_LEVEL_ARRAY_SIZE: u32 = 37644;
+pub const GL_TOP_LEVEL_ARRAY_STRIDE: u32 = 37645;
+pub const GL_LOCATION: u32 = 37646;
+pub const GL_LOCATION_INDEX: u32 = 37647;
+pub const GL_LOCATION_INDEX_EXT: u32 = 37647;
+pub const GL_FRAMEBUFFER_DEFAULT_WIDTH: u32 = 37648;
+pub const GL_FRAMEBUFFER_DEFAULT_HEIGHT: u32 = 37649;
+pub const GL_FRAMEBUFFER_DEFAULT_LAYERS: u32 = 37650;
+pub const GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT: u32 = 37650;
+pub const GL_FRAMEBUFFER_DEFAULT_LAYERS_OES: u32 = 37650;
+pub const GL_FRAMEBUFFER_DEFAULT_SAMPLES: u32 = 37651;
+pub const GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS: u32 = 37652;
+pub const GL_MAX_FRAMEBUFFER_WIDTH: u32 = 37653;
+pub const GL_MAX_FRAMEBUFFER_HEIGHT: u32 = 37654;
+pub const GL_MAX_FRAMEBUFFER_LAYERS: u32 = 37655;
+pub const GL_MAX_FRAMEBUFFER_LAYERS_EXT: u32 = 37655;
+pub const GL_MAX_FRAMEBUFFER_LAYERS_OES: u32 = 37655;
+pub const GL_MAX_FRAMEBUFFER_SAMPLES: u32 = 37656;
+pub const GL_RASTER_MULTISAMPLE_EXT: u32 = 37671;
+pub const GL_RASTER_SAMPLES_EXT: u32 = 37672;
+pub const GL_MAX_RASTER_SAMPLES_EXT: u32 = 37673;
+pub const GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT: u32 = 37674;
+pub const GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT: u32 = 37675;
+pub const GL_EFFECTIVE_RASTER_SAMPLES_EXT: u32 = 37676;
+pub const GL_DEPTH_SAMPLES_NV: u32 = 37677;
+pub const GL_STENCIL_SAMPLES_NV: u32 = 37678;
+pub const GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV: u32 = 37679;
+pub const GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV: u32 = 37680;
+pub const GL_COVERAGE_MODULATION_TABLE_NV: u32 = 37681;
+pub const GL_COVERAGE_MODULATION_NV: u32 = 37682;
+pub const GL_COVERAGE_MODULATION_TABLE_SIZE_NV: u32 = 37683;
+pub const GL_WARP_SIZE_NV: u32 = 37689;
+pub const GL_WARPS_PER_SM_NV: u32 = 37690;
+pub const GL_SM_COUNT_NV: u32 = 37691;
+pub const GL_FILL_RECTANGLE_NV: u32 = 37692;
+pub const GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB: u32 = 37693;
+pub const GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV: u32 = 37693;
+pub const GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB: u32 = 37694;
+pub const GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV: u32 = 37694;
+pub const GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB: u32 = 37695;
+pub const GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV: u32 = 37695;
+pub const GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB: u32 = 37696;
+pub const GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV: u32 = 37696;
+pub const GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB: u32 = 37697;
+pub const GL_PROGRAMMABLE_SAMPLE_LOCATION_NV: u32 = 37697;
+pub const GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB: u32 = 37698;
+pub const GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV: u32 = 37698;
+pub const GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB: u32 = 37699;
+pub const GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV: u32 = 37699;
+pub const GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB: u32 = 37700;
+pub const GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB: u32 = 37701;
+pub const GL_CONSERVATIVE_RASTERIZATION_NV: u32 = 37702;
+pub const GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV: u32 = 37703;
+pub const GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV: u32 = 37704;
+pub const GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV: u32 = 37705;
+pub const GL_LOCATION_COMPONENT: u32 = 37706;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_INDEX: u32 = 37707;
+pub const GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE: u32 = 37708;
+pub const GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV: u32 = 37712;
+pub const GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV: u32 = 37713;
+pub const GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV: u32 = 37714;
+pub const GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV: u32 = 37715;
+pub const GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV: u32 = 37716;
+pub const GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV: u32 = 37717;
+pub const GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV: u32 = 37718;
+pub const GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV: u32 = 37719;
+pub const GL_VIEWPORT_SWIZZLE_X_NV: u32 = 37720;
+pub const GL_VIEWPORT_SWIZZLE_Y_NV: u32 = 37721;
+pub const GL_VIEWPORT_SWIZZLE_Z_NV: u32 = 37722;
+pub const GL_VIEWPORT_SWIZZLE_W_NV: u32 = 37723;
+pub const GL_CLIP_ORIGIN: u32 = 37724;
+pub const GL_CLIP_DEPTH_MODE: u32 = 37725;
+pub const GL_NEGATIVE_ONE_TO_ONE: u32 = 37726;
+pub const GL_ZERO_TO_ONE: u32 = 37727;
+pub const GL_CLEAR_TEXTURE: u32 = 37733;
+pub const GL_TEXTURE_REDUCTION_MODE_ARB: u32 = 37734;
+pub const GL_WEIGHTED_AVERAGE_ARB: u32 = 37735;
+pub const GL_FONT_GLYPHS_AVAILABLE_NV: u32 = 37736;
+pub const GL_FONT_TARGET_UNAVAILABLE_NV: u32 = 37737;
+pub const GL_FONT_UNAVAILABLE_NV: u32 = 37738;
+pub const GL_FONT_UNINTELLIGIBLE_NV: u32 = 37739;
+pub const GL_STANDARD_FONT_FORMAT_NV: u32 = 37740;
+pub const GL_FRAGMENT_INPUT_NV: u32 = 37741;
+pub const GL_UNIFORM_BUFFER_UNIFIED_NV: u32 = 37742;
+pub const GL_UNIFORM_BUFFER_ADDRESS_NV: u32 = 37743;
+pub const GL_UNIFORM_BUFFER_LENGTH_NV: u32 = 37744;
+pub const GL_MULTISAMPLES_NV: u32 = 37745;
+pub const GL_SUPERSAMPLE_SCALE_X_NV: u32 = 37746;
+pub const GL_SUPERSAMPLE_SCALE_Y_NV: u32 = 37747;
+pub const GL_CONFORMANT_NV: u32 = 37748;
+pub const GL_CONSERVATIVE_RASTER_DILATE_NV: u32 = 37753;
+pub const GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV: u32 = 37754;
+pub const GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV: u32 = 37755;
+pub const GL_VIEWPORT_POSITION_W_SCALE_NV: u32 = 37756;
+pub const GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV: u32 = 37757;
+pub const GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV: u32 = 37758;
+pub const GL_NUM_SAMPLE_COUNTS: u32 = 37760;
+pub const GL_MULTISAMPLE_LINE_WIDTH_RANGE: u32 = 37761;
+pub const GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB: u32 = 37761;
+pub const GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY: u32 = 37762;
+pub const GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB: u32 = 37762;
+pub const GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE: u32 = 37792;
+pub const GL_BGRA8_EXT: u32 = 37793;
+pub const GL_TEXTURE_USAGE_ANGLE: u32 = 37794;
+pub const GL_FRAMEBUFFER_ATTACHMENT_ANGLE: u32 = 37795;
+pub const GL_PACK_REVERSE_ROW_ORDER_ANGLE: u32 = 37796;
+pub const GL_PROGRAM_BINARY_ANGLE: u32 = 37798;
+pub const GL_COMPRESSED_RGBA_ASTC_4x4: u32 = 37808;
+pub const GL_COMPRESSED_RGBA_ASTC_4x4_KHR: u32 = 37808;
+pub const GL_COMPRESSED_RGBA_ASTC_5x4: u32 = 37809;
+pub const GL_COMPRESSED_RGBA_ASTC_5x4_KHR: u32 = 37809;
+pub const GL_COMPRESSED_RGBA_ASTC_5x5: u32 = 37810;
+pub const GL_COMPRESSED_RGBA_ASTC_5x5_KHR: u32 = 37810;
+pub const GL_COMPRESSED_RGBA_ASTC_6x5: u32 = 37811;
+pub const GL_COMPRESSED_RGBA_ASTC_6x5_KHR: u32 = 37811;
+pub const GL_COMPRESSED_RGBA_ASTC_6x6: u32 = 37812;
+pub const GL_COMPRESSED_RGBA_ASTC_6x6_KHR: u32 = 37812;
+pub const GL_COMPRESSED_RGBA_ASTC_8x5: u32 = 37813;
+pub const GL_COMPRESSED_RGBA_ASTC_8x5_KHR: u32 = 37813;
+pub const GL_COMPRESSED_RGBA_ASTC_8x6: u32 = 37814;
+pub const GL_COMPRESSED_RGBA_ASTC_8x6_KHR: u32 = 37814;
+pub const GL_COMPRESSED_RGBA_ASTC_8x8: u32 = 37815;
+pub const GL_COMPRESSED_RGBA_ASTC_8x8_KHR: u32 = 37815;
+pub const GL_COMPRESSED_RGBA_ASTC_10x5: u32 = 37816;
+pub const GL_COMPRESSED_RGBA_ASTC_10x5_KHR: u32 = 37816;
+pub const GL_COMPRESSED_RGBA_ASTC_10x6: u32 = 37817;
+pub const GL_COMPRESSED_RGBA_ASTC_10x6_KHR: u32 = 37817;
+pub const GL_COMPRESSED_RGBA_ASTC_10x8: u32 = 37818;
+pub const GL_COMPRESSED_RGBA_ASTC_10x8_KHR: u32 = 37818;
+pub const GL_COMPRESSED_RGBA_ASTC_10x10: u32 = 37819;
+pub const GL_COMPRESSED_RGBA_ASTC_10x10_KHR: u32 = 37819;
+pub const GL_COMPRESSED_RGBA_ASTC_12x10: u32 = 37820;
+pub const GL_COMPRESSED_RGBA_ASTC_12x10_KHR: u32 = 37820;
+pub const GL_COMPRESSED_RGBA_ASTC_12x12: u32 = 37821;
+pub const GL_COMPRESSED_RGBA_ASTC_12x12_KHR: u32 = 37821;
+pub const GL_COMPRESSED_RGBA_ASTC_3x3x3_OES: u32 = 37824;
+pub const GL_COMPRESSED_RGBA_ASTC_4x3x3_OES: u32 = 37825;
+pub const GL_COMPRESSED_RGBA_ASTC_4x4x3_OES: u32 = 37826;
+pub const GL_COMPRESSED_RGBA_ASTC_4x4x4_OES: u32 = 37827;
+pub const GL_COMPRESSED_RGBA_ASTC_5x4x4_OES: u32 = 37828;
+pub const GL_COMPRESSED_RGBA_ASTC_5x5x4_OES: u32 = 37829;
+pub const GL_COMPRESSED_RGBA_ASTC_5x5x5_OES: u32 = 37830;
+pub const GL_COMPRESSED_RGBA_ASTC_6x5x5_OES: u32 = 37831;
+pub const GL_COMPRESSED_RGBA_ASTC_6x6x5_OES: u32 = 37832;
+pub const GL_COMPRESSED_RGBA_ASTC_6x6x6_OES: u32 = 37833;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4: u32 = 37840;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: u32 = 37840;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4: u32 = 37841;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: u32 = 37841;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5: u32 = 37842;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: u32 = 37842;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5: u32 = 37843;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: u32 = 37843;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6: u32 = 37844;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: u32 = 37844;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5: u32 = 37845;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: u32 = 37845;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6: u32 = 37846;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: u32 = 37846;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8: u32 = 37847;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: u32 = 37847;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5: u32 = 37848;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: u32 = 37848;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6: u32 = 37849;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: u32 = 37849;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8: u32 = 37850;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: u32 = 37850;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10: u32 = 37851;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: u32 = 37851;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10: u32 = 37852;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: u32 = 37852;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12: u32 = 37853;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: u32 = 37853;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES: u32 = 37856;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES: u32 = 37857;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES: u32 = 37858;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES: u32 = 37859;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES: u32 = 37860;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES: u32 = 37861;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES: u32 = 37862;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES: u32 = 37863;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES: u32 = 37864;
+pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES: u32 = 37865;
+pub const GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG: u32 = 37872;
+pub const GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG: u32 = 37873;
+pub const GL_PERFQUERY_COUNTER_EVENT_INTEL: u32 = 38128;
+pub const GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL: u32 = 38129;
+pub const GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL: u32 = 38130;
+pub const GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL: u32 = 38131;
+pub const GL_PERFQUERY_COUNTER_RAW_INTEL: u32 = 38132;
+pub const GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL: u32 = 38133;
+pub const GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL: u32 = 38136;
+pub const GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL: u32 = 38137;
+pub const GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL: u32 = 38138;
+pub const GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL: u32 = 38139;
+pub const GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL: u32 = 38140;
+pub const GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL: u32 = 38141;
+pub const GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL: u32 = 38142;
+pub const GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL: u32 = 38143;
+pub const GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL: u32 = 38144;
+pub const GL_CONSERVATIVE_RASTER_MODE_NV: u32 = 38221;
+pub const GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV: u32 = 38222;
+pub const GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV: u32 = 38223;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR: u32 = 38448;
+pub const GL_MAX_VIEWS_OVR: u32 = 38449;
+pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR: u32 = 38450;
+pub const GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: u32 = 38451;
+pub const GL_GS_SHADER_BINARY_MTK: u32 = 38464;
+pub const GL_GS_PROGRAM_BINARY_MTK: u32 = 38465;
+pub const GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT: u32 = 38480;
+pub const GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT: u32 = 38481;
+pub const GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT: u32 = 38482;
+pub const GL_SHARED_EDGE_NV: u32 = 192;
+pub const GL_ROUNDED_RECT_NV: u32 = 232;
+pub const GL_RELATIVE_ROUNDED_RECT_NV: u32 = 233;
+pub const GL_ROUNDED_RECT2_NV: u32 = 234;
+pub const GL_RELATIVE_ROUNDED_RECT2_NV: u32 = 235;
+pub const GL_ROUNDED_RECT4_NV: u32 = 236;
+pub const GL_RELATIVE_ROUNDED_RECT4_NV: u32 = 237;
+pub const GL_ROUNDED_RECT8_NV: u32 = 238;
+pub const GL_RELATIVE_ROUNDED_RECT8_NV: u32 = 239;
+pub const GL_RESTART_PATH_NV: u32 = 240;
+pub const GL_DUP_FIRST_CUBIC_CURVE_TO_NV: u32 = 242;
+pub const GL_DUP_LAST_CUBIC_CURVE_TO_NV: u32 = 244;
+pub const GL_RECT_NV: u32 = 246;
+pub const GL_RELATIVE_RECT_NV: u32 = 247;
+pub const GL_CIRCULAR_CCW_ARC_TO_NV: u32 = 248;
+pub const GL_CIRCULAR_CW_ARC_TO_NV: u32 = 250;
+pub const GL_CIRCULAR_TANGENT_ARC_TO_NV: u32 = 252;
+pub const GL_ARC_TO_NV: u32 = 254;
+pub const GL_RELATIVE_ARC_TO_NV: u32 = 255;
+pub const GL_TRACE_ALL_BITS_MESA: u32 = 65535;
+pub const GL_ALL_BARRIER_BITS: u32 = 4294967295;
+pub const GL_ALL_BARRIER_BITS_EXT: u32 = 4294967295;
+pub const GL_ALL_PIXELS_AMD: u32 = 4294967295;
+pub const GL_ALL_SHADER_BITS: u32 = 4294967295;
+pub const GL_ALL_SHADER_BITS_EXT: u32 = 4294967295;
+pub const GL_CLIENT_ALL_ATTRIB_BITS: u32 = 4294967295;
+pub const GL_INVALID_INDEX: u32 = 4294967295;
+pub const GL_QUERY_ALL_EVENT_BITS_AMD: u32 = 4294967295;
+pub const GL_TIMEOUT_IGNORED: i32 = -1;
+pub const GL_TIMEOUT_IGNORED_APPLE: i32 = -1;
+pub const GL_LAYOUT_LINEAR_INTEL: u32 = 1;
+pub const GL_ONE: u32 = 1;
+pub const GL_TRUE: u32 = 1;
+pub const GL_VERSION_ES_CL_1_0: u32 = 1;
+pub const GL_VERSION_ES_CL_1_1: u32 = 1;
+pub const GL_VERSION_ES_CM_1_1: u32 = 1;
+pub const GL_CULL_VERTEX_IBM: u32 = 103050;
+pub const GL_ALL_STATIC_DATA_IBM: u32 = 103060;
+pub const GL_STATIC_VERTEX_ARRAY_IBM: u32 = 103061;
+pub const GL_VERTEX_ARRAY_LIST_IBM: u32 = 103070;
+pub const GL_NORMAL_ARRAY_LIST_IBM: u32 = 103071;
+pub const GL_COLOR_ARRAY_LIST_IBM: u32 = 103072;
+pub const GL_INDEX_ARRAY_LIST_IBM: u32 = 103073;
+pub const GL_TEXTURE_COORD_ARRAY_LIST_IBM: u32 = 103074;
+pub const GL_EDGE_FLAG_ARRAY_LIST_IBM: u32 = 103075;
+pub const GL_FOG_COORDINATE_ARRAY_LIST_IBM: u32 = 103076;
+pub const GL_SECONDARY_COLOR_ARRAY_LIST_IBM: u32 = 103077;
+pub const GL_VERTEX_ARRAY_LIST_STRIDE_IBM: u32 = 103080;
+pub const GL_NORMAL_ARRAY_LIST_STRIDE_IBM: u32 = 103081;
+pub const GL_COLOR_ARRAY_LIST_STRIDE_IBM: u32 = 103082;
+pub const GL_INDEX_ARRAY_LIST_STRIDE_IBM: u32 = 103083;
+pub const GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM: u32 = 103084;
+pub const GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM: u32 = 103085;
+pub const GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM: u32 = 103086;
+pub const GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM: u32 = 103087;
+pub const GL_LAYOUT_LINEAR_CPU_CACHED_INTEL: u32 = 2;
+pub const EGL_VERSION_1_0: u32 = 1;
+pub const EGL_VERSION_1_1: u32 = 1;
+pub const EGL_VERSION_1_2: u32 = 1;
+pub const EGL_VERSION_1_3: u32 = 1;
+pub const EGL_VERSION_1_4: u32 = 1;
+pub const EGL_VERSION_1_5: u32 = 1;
+pub const EGL_ANDROID_blob_cache: u32 = 1;
+pub const EGL_ANDROID_create_native_client_buffer: u32 = 1;
+pub const EGL_ANDROID_framebuffer_target: u32 = 1;
+pub const EGL_ANDROID_front_buffer_auto_refresh: u32 = 1;
+pub const EGL_ANDROID_image_native_buffer: u32 = 1;
+pub const EGL_ANDROID_native_fence_sync: u32 = 1;
+pub const EGL_ANDROID_presentation_time: u32 = 1;
+pub const EGL_ANDROID_recordable: u32 = 1;
+pub const EGL_ANGLE_d3d_share_handle_client_buffer: u32 = 1;
+pub const EGL_ANGLE_device_d3d: u32 = 1;
+pub const EGL_ANGLE_query_surface_pointer: u32 = 1;
+pub const EGL_ANGLE_surface_d3d_texture_2d_share_handle: u32 = 1;
+pub const EGL_ANGLE_window_fixed_size: u32 = 1;
+pub const EGL_ARM_implicit_external_sync: u32 = 1;
+pub const EGL_ARM_pixmap_multisample_discard: u32 = 1;
+pub const EGL_EXT_buffer_age: u32 = 1;
+pub const EGL_EXT_client_extensions: u32 = 1;
+pub const EGL_EXT_create_context_robustness: u32 = 1;
+pub const EGL_EXT_device_base: u32 = 1;
+pub const EGL_EXT_device_drm: u32 = 1;
+pub const EGL_EXT_device_enumeration: u32 = 1;
+pub const EGL_EXT_device_openwf: u32 = 1;
+pub const EGL_EXT_device_query: u32 = 1;
+pub const EGL_EXT_gl_colorspace_bt2020_linear: u32 = 1;
+pub const EGL_EXT_gl_colorspace_bt2020_pq: u32 = 1;
+pub const EGL_EXT_gl_colorspace_scrgb_linear: u32 = 1;
+pub const EGL_EXT_image_dma_buf_import: u32 = 1;
+pub const EGL_EXT_image_dma_buf_import_modifiers: u32 = 1;
+pub const EGL_EXT_multiview_window: u32 = 1;
+pub const EGL_EXT_output_base: u32 = 1;
+pub const EGL_EXT_output_drm: u32 = 1;
+pub const EGL_EXT_output_openwf: u32 = 1;
+pub const EGL_EXT_pixel_format_float: u32 = 1;
+pub const EGL_EXT_platform_base: u32 = 1;
+pub const EGL_EXT_platform_device: u32 = 1;
+pub const EGL_EXT_platform_wayland: u32 = 1;
+pub const EGL_EXT_platform_x11: u32 = 1;
+pub const EGL_EXT_protected_content: u32 = 1;
+pub const EGL_EXT_protected_surface: u32 = 1;
+pub const EGL_EXT_stream_consumer_egloutput: u32 = 1;
+pub const EGL_EXT_surface_SMPTE2086_metadata: u32 = 1;
+pub const EGL_EXT_swap_buffers_with_damage: u32 = 1;
+pub const EGL_EXT_yuv_surface: u32 = 1;
+pub const EGL_HI_clientpixmap: u32 = 1;
+pub const EGL_HI_colorformats: u32 = 1;
+pub const EGL_IMG_context_priority: u32 = 1;
+pub const EGL_IMG_image_plane_attribs: u32 = 1;
+pub const EGL_KHR_cl_event: u32 = 1;
+pub const EGL_KHR_cl_event2: u32 = 1;
+pub const EGL_KHR_client_get_all_proc_addresses: u32 = 1;
+pub const EGL_KHR_config_attribs: u32 = 1;
+pub const EGL_KHR_context_flush_control: u32 = 1;
+pub const EGL_KHR_create_context: u32 = 1;
+pub const EGL_KHR_create_context_no_error: u32 = 1;
+pub const EGL_KHR_debug: u32 = 1;
+pub const EGL_KHR_fence_sync: u32 = 1;
+pub const EGL_KHR_get_all_proc_addresses: u32 = 1;
+pub const EGL_KHR_gl_colorspace: u32 = 1;
+pub const EGL_KHR_gl_renderbuffer_image: u32 = 1;
+pub const EGL_KHR_gl_texture_2D_image: u32 = 1;
+pub const EGL_KHR_gl_texture_3D_image: u32 = 1;
+pub const EGL_KHR_gl_texture_cubemap_image: u32 = 1;
+pub const EGL_KHR_image: u32 = 1;
+pub const EGL_KHR_image_base: u32 = 1;
+pub const EGL_KHR_image_pixmap: u32 = 1;
+pub const EGL_KHR_lock_surface: u32 = 1;
+pub const EGL_KHR_lock_surface2: u32 = 1;
+pub const EGL_KHR_lock_surface3: u32 = 1;
+pub const EGL_KHR_mutable_render_buffer: u32 = 1;
+pub const EGL_KHR_no_config_context: u32 = 1;
+pub const EGL_KHR_partial_update: u32 = 1;
+pub const EGL_KHR_platform_android: u32 = 1;
+pub const EGL_KHR_platform_gbm: u32 = 1;
+pub const EGL_KHR_platform_wayland: u32 = 1;
+pub const EGL_KHR_platform_x11: u32 = 1;
+pub const EGL_KHR_reusable_sync: u32 = 1;
+pub const EGL_KHR_stream: u32 = 1;
+pub const EGL_KHR_stream_attrib: u32 = 1;
+pub const EGL_KHR_stream_consumer_gltexture: u32 = 1;
+pub const EGL_KHR_stream_cross_process_fd: u32 = 1;
+pub const EGL_KHR_stream_fifo: u32 = 1;
+pub const EGL_KHR_stream_producer_aldatalocator: u32 = 1;
+pub const EGL_KHR_stream_producer_eglsurface: u32 = 1;
+pub const EGL_KHR_surfaceless_context: u32 = 1;
+pub const EGL_KHR_swap_buffers_with_damage: u32 = 1;
+pub const EGL_KHR_vg_parent_image: u32 = 1;
+pub const EGL_KHR_wait_sync: u32 = 1;
+pub const EGL_MESA_drm_image: u32 = 1;
+pub const EGL_MESA_image_dma_buf_export: u32 = 1;
+pub const EGL_MESA_platform_gbm: u32 = 1;
+pub const EGL_MESA_platform_surfaceless: u32 = 1;
+pub const EGL_NOK_swap_region: u32 = 1;
+pub const EGL_NOK_swap_region2: u32 = 1;
+pub const EGL_NOK_texture_from_pixmap: u32 = 1;
+pub const EGL_NV_3dvision_surface: u32 = 1;
+pub const EGL_NV_coverage_sample: u32 = 1;
+pub const EGL_NV_coverage_sample_resolve: u32 = 1;
+pub const EGL_NV_cuda_event: u32 = 1;
+pub const EGL_NV_depth_nonlinear: u32 = 1;
+pub const EGL_NV_device_cuda: u32 = 1;
+pub const EGL_NV_native_query: u32 = 1;
+pub const EGL_NV_post_convert_rounding: u32 = 1;
+pub const EGL_NV_post_sub_buffer: u32 = 1;
+pub const EGL_NV_robustness_video_memory_purge: u32 = 1;
+pub const EGL_NV_stream_consumer_gltexture_yuv: u32 = 1;
+pub const EGL_NV_stream_cross_display: u32 = 1;
+pub const EGL_NV_stream_cross_object: u32 = 1;
+pub const EGL_NV_stream_cross_partition: u32 = 1;
+pub const EGL_NV_stream_cross_process: u32 = 1;
+pub const EGL_NV_stream_cross_system: u32 = 1;
+pub const EGL_NV_stream_fifo_next: u32 = 1;
+pub const EGL_NV_stream_fifo_synchronous: u32 = 1;
+pub const EGL_NV_stream_frame_limits: u32 = 1;
+pub const EGL_NV_stream_metadata: u32 = 1;
+pub const EGL_NV_stream_remote: u32 = 1;
+pub const EGL_NV_stream_reset: u32 = 1;
+pub const EGL_NV_stream_socket: u32 = 1;
+pub const EGL_NV_stream_socket_inet: u32 = 1;
+pub const EGL_NV_stream_socket_unix: u32 = 1;
+pub const EGL_NV_stream_sync: u32 = 1;
+pub const EGL_NV_sync: u32 = 1;
+pub const EGL_NV_system_time: u32 = 1;
+pub const EGL_TIZEN_image_native_buffer: u32 = 1;
+pub const EGL_TIZEN_image_native_surface: u32 = 1;
+pub const EGL_NO_NATIVE_FENCE_FD_ANDROID: i32 = -1;
+pub const EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR: u32 = 0;
+pub const EGL_DEPTH_ENCODING_NONE_NV: u32 = 0;
+pub const EGL_FALSE: u32 = 0;
+pub const EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT: u32 = 1;
+pub const EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR: u32 = 1;
+pub const EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR: u32 = 1;
+pub const EGL_DRM_BUFFER_USE_SCANOUT_MESA: u32 = 1;
+pub const EGL_NATIVE_BUFFER_USAGE_PROTECTED_BIT_ANDROID: u32 = 1;
+pub const EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT: u32 = 2;
+pub const EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR: u32 = 2;
+pub const EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR: u32 = 2;
+pub const EGL_DRM_BUFFER_USE_SHARE_MESA: u32 = 2;
+pub const EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID: u32 = 2;
+pub const EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR: u32 = 4;
+pub const EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID: u32 = 4;
+pub const EGL_OPENGL_ES3_BIT: u32 = 64;
+pub const EGL_OPENGL_ES3_BIT_KHR: u32 = 64;
+pub const EGL_OPENGL_ES_BIT: u32 = 1;
+pub const EGL_PBUFFER_BIT: u32 = 1;
+pub const EGL_READ_SURFACE_BIT_KHR: u32 = 1;
+pub const EGL_SYNC_FLUSH_COMMANDS_BIT: u32 = 1;
+pub const EGL_SYNC_FLUSH_COMMANDS_BIT_KHR: u32 = 1;
+pub const EGL_SYNC_FLUSH_COMMANDS_BIT_NV: u32 = 1;
+pub const EGL_OPENVG_BIT: u32 = 2;
+pub const EGL_PIXMAP_BIT: u32 = 2;
+pub const EGL_WRITE_SURFACE_BIT_KHR: u32 = 2;
+pub const EGL_OPENGL_ES2_BIT: u32 = 4;
+pub const EGL_WINDOW_BIT: u32 = 4;
+pub const EGL_OPENGL_BIT: u32 = 8;
+pub const EGL_PBUFFER_IMAGE_BIT_TAO: u32 = 8;
+pub const EGL_INTEROP_BIT_KHR: u32 = 16;
+pub const EGL_PBUFFER_PALETTE_IMAGE_BIT_TAO: u32 = 16;
+pub const EGL_OPENMAX_IL_BIT_KHR: u32 = 32;
+pub const EGL_VG_COLORSPACE_LINEAR_BIT: u32 = 32;
+pub const EGL_VG_COLORSPACE_LINEAR_BIT_KHR: u32 = 32;
+pub const EGL_VG_ALPHA_FORMAT_PRE_BIT: u32 = 64;
+pub const EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR: u32 = 64;
+pub const EGL_LOCK_SURFACE_BIT_KHR: u32 = 128;
+pub const EGL_OPTIMAL_FORMAT_BIT_KHR: u32 = 256;
+pub const EGL_MULTISAMPLE_RESOLVE_BOX_BIT: u32 = 512;
+pub const EGL_SWAP_BEHAVIOR_PRESERVED_BIT: u32 = 1024;
+pub const EGL_STREAM_BIT_KHR: u32 = 2048;
+pub const EGL_MUTABLE_RENDER_BUFFER_BIT_KHR: u32 = 4096;
+pub const EGL_CONTEXT_RELEASE_BEHAVIOR_KHR: u32 = 8343;
+pub const EGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR: u32 = 8344;
+pub const EGL_SUCCESS: u32 = 12288;
+pub const EGL_NOT_INITIALIZED: u32 = 12289;
+pub const EGL_BAD_ACCESS: u32 = 12290;
+pub const EGL_BAD_ALLOC: u32 = 12291;
+pub const EGL_BAD_ATTRIBUTE: u32 = 12292;
+pub const EGL_BAD_CONFIG: u32 = 12293;
+pub const EGL_BAD_CONTEXT: u32 = 12294;
+pub const EGL_BAD_CURRENT_SURFACE: u32 = 12295;
+pub const EGL_BAD_DISPLAY: u32 = 12296;
+pub const EGL_BAD_MATCH: u32 = 12297;
+pub const EGL_BAD_NATIVE_PIXMAP: u32 = 12298;
+pub const EGL_BAD_NATIVE_WINDOW: u32 = 12299;
+pub const EGL_BAD_PARAMETER: u32 = 12300;
+pub const EGL_BAD_SURFACE: u32 = 12301;
+pub const EGL_CONTEXT_LOST: u32 = 12302;
+pub const EGL_BUFFER_SIZE: u32 = 12320;
+pub const EGL_ALPHA_SIZE: u32 = 12321;
+pub const EGL_BLUE_SIZE: u32 = 12322;
+pub const EGL_GREEN_SIZE: u32 = 12323;
+pub const EGL_RED_SIZE: u32 = 12324;
+pub const EGL_DEPTH_SIZE: u32 = 12325;
+pub const EGL_STENCIL_SIZE: u32 = 12326;
+pub const EGL_CONFIG_CAVEAT: u32 = 12327;
+pub const EGL_CONFIG_ID: u32 = 12328;
+pub const EGL_LEVEL: u32 = 12329;
+pub const EGL_MAX_PBUFFER_HEIGHT: u32 = 12330;
+pub const EGL_MAX_PBUFFER_PIXELS: u32 = 12331;
+pub const EGL_MAX_PBUFFER_WIDTH: u32 = 12332;
+pub const EGL_NATIVE_RENDERABLE: u32 = 12333;
+pub const EGL_NATIVE_VISUAL_ID: u32 = 12334;
+pub const EGL_NATIVE_VISUAL_TYPE: u32 = 12335;
+pub const EGL_SAMPLES: u32 = 12337;
+pub const EGL_SAMPLE_BUFFERS: u32 = 12338;
+pub const EGL_SURFACE_TYPE: u32 = 12339;
+pub const EGL_TRANSPARENT_TYPE: u32 = 12340;
+pub const EGL_TRANSPARENT_BLUE_VALUE: u32 = 12341;
+pub const EGL_TRANSPARENT_GREEN_VALUE: u32 = 12342;
+pub const EGL_TRANSPARENT_RED_VALUE: u32 = 12343;
+pub const EGL_NONE: u32 = 12344;
+pub const EGL_BIND_TO_TEXTURE_RGB: u32 = 12345;
+pub const EGL_BIND_TO_TEXTURE_RGBA: u32 = 12346;
+pub const EGL_MIN_SWAP_INTERVAL: u32 = 12347;
+pub const EGL_MAX_SWAP_INTERVAL: u32 = 12348;
+pub const EGL_LUMINANCE_SIZE: u32 = 12349;
+pub const EGL_ALPHA_MASK_SIZE: u32 = 12350;
+pub const EGL_COLOR_BUFFER_TYPE: u32 = 12351;
+pub const EGL_RENDERABLE_TYPE: u32 = 12352;
+pub const EGL_MATCH_NATIVE_PIXMAP: u32 = 12353;
+pub const EGL_CONFORMANT: u32 = 12354;
+pub const EGL_CONFORMANT_KHR: u32 = 12354;
+pub const EGL_MATCH_FORMAT_KHR: u32 = 12355;
+pub const EGL_SLOW_CONFIG: u32 = 12368;
+pub const EGL_NON_CONFORMANT_CONFIG: u32 = 12369;
+pub const EGL_TRANSPARENT_RGB: u32 = 12370;
+pub const EGL_VENDOR: u32 = 12371;
+pub const EGL_VERSION: u32 = 12372;
+pub const EGL_EXTENSIONS: u32 = 12373;
+pub const EGL_HEIGHT: u32 = 12374;
+pub const EGL_WIDTH: u32 = 12375;
+pub const EGL_LARGEST_PBUFFER: u32 = 12376;
+pub const EGL_DRAW: u32 = 12377;
+pub const EGL_READ: u32 = 12378;
+pub const EGL_CORE_NATIVE_ENGINE: u32 = 12379;
+pub const EGL_NO_TEXTURE: u32 = 12380;
+pub const EGL_TEXTURE_RGB: u32 = 12381;
+pub const EGL_TEXTURE_RGBA: u32 = 12382;
+pub const EGL_TEXTURE_2D: u32 = 12383;
+pub const EGL_Y_INVERTED_NOK: u32 = 12415;
+pub const EGL_TEXTURE_FORMAT: u32 = 12416;
+pub const EGL_TEXTURE_TARGET: u32 = 12417;
+pub const EGL_MIPMAP_TEXTURE: u32 = 12418;
+pub const EGL_MIPMAP_LEVEL: u32 = 12419;
+pub const EGL_BACK_BUFFER: u32 = 12420;
+pub const EGL_SINGLE_BUFFER: u32 = 12421;
+pub const EGL_RENDER_BUFFER: u32 = 12422;
+pub const EGL_COLORSPACE: u32 = 12423;
+pub const EGL_VG_COLORSPACE: u32 = 12423;
+pub const EGL_ALPHA_FORMAT: u32 = 12424;
+pub const EGL_VG_ALPHA_FORMAT: u32 = 12424;
+pub const EGL_COLORSPACE_sRGB: u32 = 12425;
+pub const EGL_GL_COLORSPACE_SRGB: u32 = 12425;
+pub const EGL_GL_COLORSPACE_SRGB_KHR: u32 = 12425;
+pub const EGL_VG_COLORSPACE_sRGB: u32 = 12425;
+pub const EGL_COLORSPACE_LINEAR: u32 = 12426;
+pub const EGL_GL_COLORSPACE_LINEAR: u32 = 12426;
+pub const EGL_GL_COLORSPACE_LINEAR_KHR: u32 = 12426;
+pub const EGL_VG_COLORSPACE_LINEAR: u32 = 12426;
+pub const EGL_ALPHA_FORMAT_NONPRE: u32 = 12427;
+pub const EGL_VG_ALPHA_FORMAT_NONPRE: u32 = 12427;
+pub const EGL_ALPHA_FORMAT_PRE: u32 = 12428;
+pub const EGL_VG_ALPHA_FORMAT_PRE: u32 = 12428;
+pub const EGL_CLIENT_APIS: u32 = 12429;
+pub const EGL_RGB_BUFFER: u32 = 12430;
+pub const EGL_LUMINANCE_BUFFER: u32 = 12431;
+pub const EGL_HORIZONTAL_RESOLUTION: u32 = 12432;
+pub const EGL_VERTICAL_RESOLUTION: u32 = 12433;
+pub const EGL_PIXEL_ASPECT_RATIO: u32 = 12434;
+pub const EGL_SWAP_BEHAVIOR: u32 = 12435;
+pub const EGL_BUFFER_PRESERVED: u32 = 12436;
+pub const EGL_BUFFER_DESTROYED: u32 = 12437;
+pub const EGL_OPENVG_IMAGE: u32 = 12438;
+pub const EGL_CONTEXT_CLIENT_TYPE: u32 = 12439;
+pub const EGL_CONTEXT_CLIENT_VERSION: u32 = 12440;
+pub const EGL_CONTEXT_MAJOR_VERSION: u32 = 12440;
+pub const EGL_CONTEXT_MAJOR_VERSION_KHR: u32 = 12440;
+pub const EGL_MULTISAMPLE_RESOLVE: u32 = 12441;
+pub const EGL_MULTISAMPLE_RESOLVE_DEFAULT: u32 = 12442;
+pub const EGL_MULTISAMPLE_RESOLVE_BOX: u32 = 12443;
+pub const EGL_CL_EVENT_HANDLE: u32 = 12444;
+pub const EGL_CL_EVENT_HANDLE_KHR: u32 = 12444;
+pub const EGL_GL_COLORSPACE: u32 = 12445;
+pub const EGL_GL_COLORSPACE_KHR: u32 = 12445;
+pub const EGL_OPENGL_ES_API: u32 = 12448;
+pub const EGL_OPENVG_API: u32 = 12449;
+pub const EGL_OPENGL_API: u32 = 12450;
+pub const EGL_NATIVE_PIXMAP_KHR: u32 = 12464;
+pub const EGL_GL_TEXTURE_2D: u32 = 12465;
+pub const EGL_GL_TEXTURE_2D_KHR: u32 = 12465;
+pub const EGL_GL_TEXTURE_3D: u32 = 12466;
+pub const EGL_GL_TEXTURE_3D_KHR: u32 = 12466;
+pub const EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X: u32 = 12467;
+pub const EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR: u32 = 12467;
+pub const EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X: u32 = 12468;
+pub const EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR: u32 = 12468;
+pub const EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y: u32 = 12469;
+pub const EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR: u32 = 12469;
+pub const EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: u32 = 12470;
+pub const EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR: u32 = 12470;
+pub const EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z: u32 = 12471;
+pub const EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR: u32 = 12471;
+pub const EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: u32 = 12472;
+pub const EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR: u32 = 12472;
+pub const EGL_GL_RENDERBUFFER: u32 = 12473;
+pub const EGL_GL_RENDERBUFFER_KHR: u32 = 12473;
+pub const EGL_VG_PARENT_IMAGE_KHR: u32 = 12474;
+pub const EGL_GL_TEXTURE_LEVEL: u32 = 12476;
+pub const EGL_GL_TEXTURE_LEVEL_KHR: u32 = 12476;
+pub const EGL_GL_TEXTURE_ZOFFSET: u32 = 12477;
+pub const EGL_GL_TEXTURE_ZOFFSET_KHR: u32 = 12477;
+pub const EGL_POST_SUB_BUFFER_SUPPORTED_NV: u32 = 12478;
+pub const EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT: u32 = 12479;
+pub const EGL_FORMAT_RGB_565_EXACT_KHR: u32 = 12480;
+pub const EGL_FORMAT_RGB_565_KHR: u32 = 12481;
+pub const EGL_FORMAT_RGBA_8888_EXACT_KHR: u32 = 12482;
+pub const EGL_FORMAT_RGBA_8888_KHR: u32 = 12483;
+pub const EGL_MAP_PRESERVE_PIXELS_KHR: u32 = 12484;
+pub const EGL_LOCK_USAGE_HINT_KHR: u32 = 12485;
+pub const EGL_BITMAP_POINTER_KHR: u32 = 12486;
+pub const EGL_BITMAP_PITCH_KHR: u32 = 12487;
+pub const EGL_BITMAP_ORIGIN_KHR: u32 = 12488;
+pub const EGL_BITMAP_PIXEL_RED_OFFSET_KHR: u32 = 12489;
+pub const EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR: u32 = 12490;
+pub const EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR: u32 = 12491;
+pub const EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR: u32 = 12492;
+pub const EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR: u32 = 12493;
+pub const EGL_LOWER_LEFT_KHR: u32 = 12494;
+pub const EGL_UPPER_LEFT_KHR: u32 = 12495;
+pub const EGL_IMAGE_PRESERVED: u32 = 12498;
+pub const EGL_IMAGE_PRESERVED_KHR: u32 = 12498;
+pub const EGL_SHARED_IMAGE_NOK: u32 = 12506;
+pub const EGL_COVERAGE_BUFFERS_NV: u32 = 12512;
+pub const EGL_COVERAGE_SAMPLES_NV: u32 = 12513;
+pub const EGL_DEPTH_ENCODING_NV: u32 = 12514;
+pub const EGL_DEPTH_ENCODING_NONLINEAR_NV: u32 = 12515;
+pub const EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV: u32 = 12518;
+pub const EGL_SYNC_STATUS_NV: u32 = 12519;
+pub const EGL_SIGNALED_NV: u32 = 12520;
+pub const EGL_UNSIGNALED_NV: u32 = 12521;
+pub const EGL_ALREADY_SIGNALED_NV: u32 = 12522;
+pub const EGL_TIMEOUT_EXPIRED_NV: u32 = 12523;
+pub const EGL_CONDITION_SATISFIED_NV: u32 = 12524;
+pub const EGL_SYNC_TYPE_NV: u32 = 12525;
+pub const EGL_SYNC_CONDITION_NV: u32 = 12526;
+pub const EGL_SYNC_FENCE_NV: u32 = 12527;
+pub const EGL_SYNC_PRIOR_COMMANDS_COMPLETE: u32 = 12528;
+pub const EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR: u32 = 12528;
+pub const EGL_SYNC_STATUS: u32 = 12529;
+pub const EGL_SYNC_STATUS_KHR: u32 = 12529;
+pub const EGL_SIGNALED: u32 = 12530;
+pub const EGL_SIGNALED_KHR: u32 = 12530;
+pub const EGL_UNSIGNALED: u32 = 12531;
+pub const EGL_UNSIGNALED_KHR: u32 = 12531;
+pub const EGL_TIMEOUT_EXPIRED: u32 = 12533;
+pub const EGL_TIMEOUT_EXPIRED_KHR: u32 = 12533;
+pub const EGL_CONDITION_SATISFIED: u32 = 12534;
+pub const EGL_CONDITION_SATISFIED_KHR: u32 = 12534;
+pub const EGL_SYNC_TYPE: u32 = 12535;
+pub const EGL_SYNC_TYPE_KHR: u32 = 12535;
+pub const EGL_SYNC_CONDITION: u32 = 12536;
+pub const EGL_SYNC_CONDITION_KHR: u32 = 12536;
+pub const EGL_SYNC_FENCE: u32 = 12537;
+pub const EGL_SYNC_FENCE_KHR: u32 = 12537;
+pub const EGL_SYNC_REUSABLE_KHR: u32 = 12538;
+pub const EGL_CONTEXT_MINOR_VERSION: u32 = 12539;
+pub const EGL_CONTEXT_MINOR_VERSION_KHR: u32 = 12539;
+pub const EGL_CONTEXT_FLAGS_KHR: u32 = 12540;
+pub const EGL_CONTEXT_OPENGL_PROFILE_MASK: u32 = 12541;
+pub const EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR: u32 = 12541;
+pub const EGL_SYNC_CL_EVENT: u32 = 12542;
+pub const EGL_SYNC_CL_EVENT_KHR: u32 = 12542;
+pub const EGL_SYNC_CL_EVENT_COMPLETE: u32 = 12543;
+pub const EGL_SYNC_CL_EVENT_COMPLETE_KHR: u32 = 12543;
+pub const EGL_CONTEXT_PRIORITY_LEVEL_IMG: u32 = 12544;
+pub const EGL_CONTEXT_PRIORITY_HIGH_IMG: u32 = 12545;
+pub const EGL_CONTEXT_PRIORITY_MEDIUM_IMG: u32 = 12546;
+pub const EGL_CONTEXT_PRIORITY_LOW_IMG: u32 = 12547;
+pub const EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG: u32 = 12549;
+pub const EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG: u32 = 12550;
+pub const EGL_BITMAP_PIXEL_SIZE_KHR: u32 = 12560;
+pub const EGL_COVERAGE_SAMPLE_RESOLVE_NV: u32 = 12593;
+pub const EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV: u32 = 12594;
+pub const EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV: u32 = 12595;
+pub const EGL_MULTIVIEW_VIEW_COUNT_EXT: u32 = 12596;
+pub const EGL_AUTO_STEREO_NV: u32 = 12598;
+pub const EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT: u32 = 12600;
+pub const EGL_BUFFER_AGE_EXT: u32 = 12605;
+pub const EGL_BUFFER_AGE_KHR: u32 = 12605;
+pub const EGL_PLATFORM_DEVICE_EXT: u32 = 12607;
+pub const EGL_NATIVE_BUFFER_ANDROID: u32 = 12608;
+pub const EGL_PLATFORM_ANDROID_KHR: u32 = 12609;
+pub const EGL_RECORDABLE_ANDROID: u32 = 12610;
+pub const EGL_NATIVE_BUFFER_USAGE_ANDROID: u32 = 12611;
+pub const EGL_SYNC_NATIVE_FENCE_ANDROID: u32 = 12612;
+pub const EGL_SYNC_NATIVE_FENCE_FD_ANDROID: u32 = 12613;
+pub const EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID: u32 = 12614;
+pub const EGL_FRAMEBUFFER_TARGET_ANDROID: u32 = 12615;
+pub const EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID: u32 = 12620;
+pub const EGL_CONTEXT_OPENGL_DEBUG: u32 = 12720;
+pub const EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE: u32 = 12721;
+pub const EGL_CONTEXT_OPENGL_ROBUST_ACCESS: u32 = 12722;
+pub const EGL_CONTEXT_OPENGL_NO_ERROR_KHR: u32 = 12723;
+pub const EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY: u32 = 12733;
+pub const EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR: u32 = 12733;
+pub const EGL_NO_RESET_NOTIFICATION: u32 = 12734;
+pub const EGL_NO_RESET_NOTIFICATION_EXT: u32 = 12734;
+pub const EGL_NO_RESET_NOTIFICATION_KHR: u32 = 12734;
+pub const EGL_LOSE_CONTEXT_ON_RESET: u32 = 12735;
+pub const EGL_LOSE_CONTEXT_ON_RESET_EXT: u32 = 12735;
+pub const EGL_LOSE_CONTEXT_ON_RESET_KHR: u32 = 12735;
+pub const EGL_DRM_BUFFER_FORMAT_MESA: u32 = 12752;
+pub const EGL_DRM_BUFFER_USE_MESA: u32 = 12753;
+pub const EGL_DRM_BUFFER_FORMAT_ARGB32_MESA: u32 = 12754;
+pub const EGL_DRM_BUFFER_MESA: u32 = 12755;
+pub const EGL_DRM_BUFFER_STRIDE_MESA: u32 = 12756;
+pub const EGL_PLATFORM_X11_EXT: u32 = 12757;
+pub const EGL_PLATFORM_X11_KHR: u32 = 12757;
+pub const EGL_PLATFORM_X11_SCREEN_EXT: u32 = 12758;
+pub const EGL_PLATFORM_X11_SCREEN_KHR: u32 = 12758;
+pub const EGL_PLATFORM_GBM_KHR: u32 = 12759;
+pub const EGL_PLATFORM_GBM_MESA: u32 = 12759;
+pub const EGL_PLATFORM_WAYLAND_EXT: u32 = 12760;
+pub const EGL_PLATFORM_WAYLAND_KHR: u32 = 12760;
+pub const EGL_PLATFORM_SURFACELESS_MESA: u32 = 12765;
+pub const EGL_STREAM_FIFO_LENGTH_KHR: u32 = 12796;
+pub const EGL_STREAM_TIME_NOW_KHR: u32 = 12797;
+pub const EGL_STREAM_TIME_CONSUMER_KHR: u32 = 12798;
+pub const EGL_STREAM_TIME_PRODUCER_KHR: u32 = 12799;
+pub const EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE: u32 = 12800;
+pub const EGL_FIXED_SIZE_ANGLE: u32 = 12801;
+pub const EGL_CONSUMER_LATENCY_USEC_KHR: u32 = 12816;
+pub const EGL_PRODUCER_FRAME_KHR: u32 = 12818;
+pub const EGL_CONSUMER_FRAME_KHR: u32 = 12819;
+pub const EGL_STREAM_STATE_KHR: u32 = 12820;
+pub const EGL_STREAM_STATE_CREATED_KHR: u32 = 12821;
+pub const EGL_STREAM_STATE_CONNECTING_KHR: u32 = 12822;
+pub const EGL_STREAM_STATE_EMPTY_KHR: u32 = 12823;
+pub const EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR: u32 = 12824;
+pub const EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR: u32 = 12825;
+pub const EGL_STREAM_STATE_DISCONNECTED_KHR: u32 = 12826;
+pub const EGL_BAD_STREAM_KHR: u32 = 12827;
+pub const EGL_BAD_STATE_KHR: u32 = 12828;
+pub const EGL_BUFFER_COUNT_NV: u32 = 12829;
+pub const EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR: u32 = 12830;
+pub const EGL_SYNC_NEW_FRAME_NV: u32 = 12831;
+pub const EGL_BAD_DEVICE_EXT: u32 = 12843;
+pub const EGL_DEVICE_EXT: u32 = 12844;
+pub const EGL_BAD_OUTPUT_LAYER_EXT: u32 = 12845;
+pub const EGL_BAD_OUTPUT_PORT_EXT: u32 = 12846;
+pub const EGL_SWAP_INTERVAL_EXT: u32 = 12847;
+pub const EGL_DRM_DEVICE_FILE_EXT: u32 = 12851;
+pub const EGL_DRM_CRTC_EXT: u32 = 12852;
+pub const EGL_DRM_PLANE_EXT: u32 = 12853;
+pub const EGL_DRM_CONNECTOR_EXT: u32 = 12854;
+pub const EGL_OPENWF_DEVICE_ID_EXT: u32 = 12855;
+pub const EGL_OPENWF_PIPELINE_ID_EXT: u32 = 12856;
+pub const EGL_OPENWF_PORT_ID_EXT: u32 = 12857;
+pub const EGL_CUDA_DEVICE_NV: u32 = 12858;
+pub const EGL_CUDA_EVENT_HANDLE_NV: u32 = 12859;
+pub const EGL_SYNC_CUDA_EVENT_NV: u32 = 12860;
+pub const EGL_SYNC_CUDA_EVENT_COMPLETE_NV: u32 = 12861;
+pub const EGL_STREAM_CROSS_PARTITION_NV: u32 = 12863;
+pub const EGL_STREAM_STATE_INITIALIZING_NV: u32 = 12864;
+pub const EGL_STREAM_TYPE_NV: u32 = 12865;
+pub const EGL_STREAM_PROTOCOL_NV: u32 = 12866;
+pub const EGL_STREAM_ENDPOINT_NV: u32 = 12867;
+pub const EGL_STREAM_LOCAL_NV: u32 = 12868;
+pub const EGL_STREAM_CROSS_PROCESS_NV: u32 = 12869;
+pub const EGL_STREAM_PROTOCOL_FD_NV: u32 = 12870;
+pub const EGL_STREAM_PRODUCER_NV: u32 = 12871;
+pub const EGL_STREAM_CONSUMER_NV: u32 = 12872;
+pub const EGL_STREAM_PROTOCOL_SOCKET_NV: u32 = 12875;
+pub const EGL_SOCKET_HANDLE_NV: u32 = 12876;
+pub const EGL_SOCKET_TYPE_NV: u32 = 12877;
+pub const EGL_SOCKET_TYPE_UNIX_NV: u32 = 12878;
+pub const EGL_SOCKET_TYPE_INET_NV: u32 = 12879;
+pub const EGL_MAX_STREAM_METADATA_BLOCKS_NV: u32 = 12880;
+pub const EGL_MAX_STREAM_METADATA_BLOCK_SIZE_NV: u32 = 12881;
+pub const EGL_MAX_STREAM_METADATA_TOTAL_SIZE_NV: u32 = 12882;
+pub const EGL_PRODUCER_METADATA_NV: u32 = 12883;
+pub const EGL_CONSUMER_METADATA_NV: u32 = 12884;
+pub const EGL_METADATA0_SIZE_NV: u32 = 12885;
+pub const EGL_METADATA1_SIZE_NV: u32 = 12886;
+pub const EGL_METADATA2_SIZE_NV: u32 = 12887;
+pub const EGL_METADATA3_SIZE_NV: u32 = 12888;
+pub const EGL_METADATA0_TYPE_NV: u32 = 12889;
+pub const EGL_METADATA1_TYPE_NV: u32 = 12890;
+pub const EGL_METADATA2_TYPE_NV: u32 = 12891;
+pub const EGL_METADATA3_TYPE_NV: u32 = 12892;
+pub const EGL_LINUX_DMA_BUF_EXT: u32 = 12912;
+pub const EGL_LINUX_DRM_FOURCC_EXT: u32 = 12913;
+pub const EGL_DMA_BUF_PLANE0_FD_EXT: u32 = 12914;
+pub const EGL_DMA_BUF_PLANE0_OFFSET_EXT: u32 = 12915;
+pub const EGL_DMA_BUF_PLANE0_PITCH_EXT: u32 = 12916;
+pub const EGL_DMA_BUF_PLANE1_FD_EXT: u32 = 12917;
+pub const EGL_DMA_BUF_PLANE1_OFFSET_EXT: u32 = 12918;
+pub const EGL_DMA_BUF_PLANE1_PITCH_EXT: u32 = 12919;
+pub const EGL_DMA_BUF_PLANE2_FD_EXT: u32 = 12920;
+pub const EGL_DMA_BUF_PLANE2_OFFSET_EXT: u32 = 12921;
+pub const EGL_DMA_BUF_PLANE2_PITCH_EXT: u32 = 12922;
+pub const EGL_YUV_COLOR_SPACE_HINT_EXT: u32 = 12923;
+pub const EGL_SAMPLE_RANGE_HINT_EXT: u32 = 12924;
+pub const EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT: u32 = 12925;
+pub const EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT: u32 = 12926;
+pub const EGL_ITU_REC601_EXT: u32 = 12927;
+pub const EGL_ITU_REC709_EXT: u32 = 12928;
+pub const EGL_ITU_REC2020_EXT: u32 = 12929;
+pub const EGL_YUV_FULL_RANGE_EXT: u32 = 12930;
+pub const EGL_YUV_NARROW_RANGE_EXT: u32 = 12931;
+pub const EGL_YUV_CHROMA_SITING_0_EXT: u32 = 12932;
+pub const EGL_YUV_CHROMA_SITING_0_5_EXT: u32 = 12933;
+pub const EGL_DISCARD_SAMPLES_ARM: u32 = 12934;
+pub const EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM: u32 = 12938;
+pub const EGL_NATIVE_BUFFER_TIZEN: u32 = 12960;
+pub const EGL_NATIVE_SURFACE_TIZEN: u32 = 12961;
+pub const EGL_PROTECTED_CONTENT_EXT: u32 = 12992;
+pub const EGL_YUV_BUFFER_EXT: u32 = 13056;
+pub const EGL_YUV_ORDER_EXT: u32 = 13057;
+pub const EGL_YUV_ORDER_YUV_EXT: u32 = 13058;
+pub const EGL_YUV_ORDER_YVU_EXT: u32 = 13059;
+pub const EGL_YUV_ORDER_YUYV_EXT: u32 = 13060;
+pub const EGL_YUV_ORDER_UYVY_EXT: u32 = 13061;
+pub const EGL_YUV_ORDER_YVYU_EXT: u32 = 13062;
+pub const EGL_YUV_ORDER_VYUY_EXT: u32 = 13063;
+pub const EGL_YUV_ORDER_AYUV_EXT: u32 = 13064;
+pub const EGL_YUV_CSC_STANDARD_EXT: u32 = 13066;
+pub const EGL_YUV_CSC_STANDARD_601_EXT: u32 = 13067;
+pub const EGL_YUV_CSC_STANDARD_709_EXT: u32 = 13068;
+pub const EGL_YUV_CSC_STANDARD_2020_EXT: u32 = 13069;
+pub const EGL_YUV_NUMBER_OF_PLANES_EXT: u32 = 13073;
+pub const EGL_YUV_SUBSAMPLE_EXT: u32 = 13074;
+pub const EGL_YUV_SUBSAMPLE_4_2_0_EXT: u32 = 13075;
+pub const EGL_YUV_SUBSAMPLE_4_2_2_EXT: u32 = 13076;
+pub const EGL_YUV_SUBSAMPLE_4_4_4_EXT: u32 = 13077;
+pub const EGL_YUV_DEPTH_RANGE_EXT: u32 = 13079;
+pub const EGL_YUV_DEPTH_RANGE_LIMITED_EXT: u32 = 13080;
+pub const EGL_YUV_DEPTH_RANGE_FULL_EXT: u32 = 13081;
+pub const EGL_YUV_PLANE_BPP_EXT: u32 = 13082;
+pub const EGL_YUV_PLANE_BPP_0_EXT: u32 = 13083;
+pub const EGL_YUV_PLANE_BPP_8_EXT: u32 = 13084;
+pub const EGL_YUV_PLANE_BPP_10_EXT: u32 = 13085;
+pub const EGL_PENDING_METADATA_NV: u32 = 13096;
+pub const EGL_PENDING_FRAME_NV: u32 = 13097;
+pub const EGL_STREAM_TIME_PENDING_NV: u32 = 13098;
+pub const EGL_YUV_PLANE0_TEXTURE_UNIT_NV: u32 = 13100;
+pub const EGL_YUV_PLANE1_TEXTURE_UNIT_NV: u32 = 13101;
+pub const EGL_YUV_PLANE2_TEXTURE_UNIT_NV: u32 = 13102;
+pub const EGL_SUPPORT_RESET_NV: u32 = 13108;
+pub const EGL_SUPPORT_REUSE_NV: u32 = 13109;
+pub const EGL_STREAM_FIFO_SYNCHRONOUS_NV: u32 = 13110;
+pub const EGL_PRODUCER_MAX_FRAME_HINT_NV: u32 = 13111;
+pub const EGL_CONSUMER_MAX_FRAME_HINT_NV: u32 = 13112;
+pub const EGL_COLOR_COMPONENT_TYPE_EXT: u32 = 13113;
+pub const EGL_COLOR_COMPONENT_TYPE_FIXED_EXT: u32 = 13114;
+pub const EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT: u32 = 13115;
+pub const EGL_GL_COLORSPACE_BT2020_LINEAR_EXT: u32 = 13119;
+pub const EGL_GL_COLORSPACE_BT2020_PQ_EXT: u32 = 13120;
+pub const EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT: u32 = 13121;
+pub const EGL_SMPTE2086_DISPLAY_PRIMARY_RY_EXT: u32 = 13122;
+pub const EGL_SMPTE2086_DISPLAY_PRIMARY_GX_EXT: u32 = 13123;
+pub const EGL_SMPTE2086_DISPLAY_PRIMARY_GY_EXT: u32 = 13124;
+pub const EGL_SMPTE2086_DISPLAY_PRIMARY_BX_EXT: u32 = 13125;
+pub const EGL_SMPTE2086_DISPLAY_PRIMARY_BY_EXT: u32 = 13126;
+pub const EGL_SMPTE2086_WHITE_POINT_X_EXT: u32 = 13127;
+pub const EGL_SMPTE2086_WHITE_POINT_Y_EXT: u32 = 13128;
+pub const EGL_SMPTE2086_MAX_LUMINANCE_EXT: u32 = 13129;
+pub const EGL_SMPTE2086_MIN_LUMINANCE_EXT: u32 = 13130;
+pub const EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV: u32 = 13132;
+pub const EGL_STREAM_CROSS_OBJECT_NV: u32 = 13133;
+pub const EGL_STREAM_CROSS_DISPLAY_NV: u32 = 13134;
+pub const EGL_STREAM_CROSS_SYSTEM_NV: u32 = 13135;
+pub const EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT: u32 = 13136;
+pub const EGL_D3D9_DEVICE_ANGLE: u32 = 13216;
+pub const EGL_D3D11_DEVICE_ANGLE: u32 = 13217;
+pub const EGL_OBJECT_THREAD_KHR: u32 = 13232;
+pub const EGL_OBJECT_DISPLAY_KHR: u32 = 13233;
+pub const EGL_OBJECT_CONTEXT_KHR: u32 = 13234;
+pub const EGL_OBJECT_SURFACE_KHR: u32 = 13235;
+pub const EGL_OBJECT_IMAGE_KHR: u32 = 13236;
+pub const EGL_OBJECT_SYNC_KHR: u32 = 13237;
+pub const EGL_OBJECT_STREAM_KHR: u32 = 13238;
+pub const EGL_DEBUG_CALLBACK_KHR: u32 = 13240;
+pub const EGL_DEBUG_MSG_CRITICAL_KHR: u32 = 13241;
+pub const EGL_DEBUG_MSG_ERROR_KHR: u32 = 13242;
+pub const EGL_DEBUG_MSG_WARN_KHR: u32 = 13243;
+pub const EGL_DEBUG_MSG_INFO_KHR: u32 = 13244;
+pub const EGL_DMA_BUF_PLANE3_FD_EXT: u32 = 13376;
+pub const EGL_DMA_BUF_PLANE3_OFFSET_EXT: u32 = 13377;
+pub const EGL_DMA_BUF_PLANE3_PITCH_EXT: u32 = 13378;
+pub const EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT: u32 = 13379;
+pub const EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT: u32 = 13380;
+pub const EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT: u32 = 13381;
+pub const EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT: u32 = 13382;
+pub const EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT: u32 = 13383;
+pub const EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT: u32 = 13384;
+pub const EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT: u32 = 13385;
+pub const EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT: u32 = 13386;
+pub const EGL_COLOR_FORMAT_HI: u32 = 36720;
+pub const EGL_COLOR_RGB_HI: u32 = 36721;
+pub const EGL_COLOR_RGBA_HI: u32 = 36722;
+pub const EGL_COLOR_ARGB_HI: u32 = 36723;
+pub const EGL_CLIENT_PIXMAP_POINTER_HI: u32 = 36724;
+pub const EGL_FOREVER: i32 = -1;
+pub const EGL_FOREVER_KHR: i32 = -1;
+pub const EGL_FOREVER_NV: i32 = -1;
+pub const EGL_TRUE: u32 = 1;
+pub const EGL_DISPLAY_SCALING: u32 = 10000;
+pub type khronos_int32_t = i32;
+pub type khronos_uint64_t = u64;
+pub type khronos_ssize_t = ::std::os::raw::c_long;
+pub type khronos_utime_nanoseconds_t = u64;
+pub type khronos_stime_nanoseconds_t = i64;
+pub type GLenum = ::std::os::raw::c_uint;
+pub type GLboolean = ::std::os::raw::c_uchar;
+pub type GLbitfield = ::std::os::raw::c_uint;
+pub type GLvoid = ::std::os::raw::c_void;
+pub type GLbyte = ::std::os::raw::c_schar;
+pub type GLshort = ::std::os::raw::c_short;
+pub type GLint = ::std::os::raw::c_int;
+pub type GLclampx = ::std::os::raw::c_int;
+pub type GLubyte = ::std::os::raw::c_uchar;
+pub type GLushort = ::std::os::raw::c_ushort;
+pub type GLuint = ::std::os::raw::c_uint;
+pub type GLsizei = ::std::os::raw::c_int;
+pub type GLfloat = f32;
+pub type GLclampf = f32;
+pub type GLdouble = f64;
+pub type GLclampd = f64;
+pub type GLeglImageOES = *mut ::std::os::raw::c_void;
+pub type GLchar = ::std::os::raw::c_char;
+pub type GLcharARB = ::std::os::raw::c_char;
+pub type GLhandleARB = ::std::os::raw::c_uint;
+pub type GLhalfARB = ::std::os::raw::c_ushort;
+pub type GLhalf = ::std::os::raw::c_ushort;
+pub type GLfixed = GLint;
+pub type GLintptr = isize;
+pub type GLsizeiptr = isize;
+pub type GLint64 = i64;
+pub type GLuint64 = u64;
+pub type GLintptrARB = isize;
+pub type GLsizeiptrARB = isize;
+pub type GLint64EXT = i64;
+pub type GLuint64EXT = u64;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __GLsync {
+    _unused: [u8; 0],
+}
+pub type GLsync = *mut __GLsync;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _cl_context {
+    _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _cl_event {
+    _unused: [u8; 0],
+}
+pub type GLDEBUGPROC = ::std::option::Option<
+    unsafe extern "C" fn(
+        source: GLenum,
+        type_: GLenum,
+        id: GLuint,
+        severity: GLenum,
+        length: GLsizei,
+        message: *const GLchar,
+        userParam: *const ::std::os::raw::c_void,
+    ),
+>;
+pub type GLDEBUGPROCARB = ::std::option::Option<
+    unsafe extern "C" fn(
+        source: GLenum,
+        type_: GLenum,
+        id: GLuint,
+        severity: GLenum,
+        length: GLsizei,
+        message: *const GLchar,
+        userParam: *const ::std::os::raw::c_void,
+    ),
+>;
+pub type GLDEBUGPROCKHR = ::std::option::Option<
+    unsafe extern "C" fn(
+        source: GLenum,
+        type_: GLenum,
+        id: GLuint,
+        severity: GLenum,
+        length: GLsizei,
+        message: *const GLchar,
+        userParam: *const ::std::os::raw::c_void,
+    ),
+>;
+pub type GLDEBUGPROCAMD = ::std::option::Option<
+    unsafe extern "C" fn(
+        id: GLuint,
+        category: GLenum,
+        severity: GLenum,
+        length: GLsizei,
+        message: *const GLchar,
+        userParam: *mut ::std::os::raw::c_void,
+    ),
+>;
+pub type GLhalfNV = ::std::os::raw::c_ushort;
+pub type GLvdpauSurfaceNV = GLintptr;
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAccum"]
+    pub static mut epoxy_glAccum:
+        ::std::option::Option<unsafe extern "C" fn(op: GLenum, value: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAccumxOES"]
+    pub static mut epoxy_glAccumxOES:
+        ::std::option::Option<unsafe extern "C" fn(op: GLenum, value: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glActiveProgramEXT"]
+    pub static mut epoxy_glActiveProgramEXT:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glActiveShaderProgram"]
+    pub static mut epoxy_glActiveShaderProgram:
+        ::std::option::Option<unsafe extern "C" fn(pipeline: GLuint, program: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glActiveShaderProgramEXT"]
+    pub static mut epoxy_glActiveShaderProgramEXT:
+        ::std::option::Option<unsafe extern "C" fn(pipeline: GLuint, program: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glActiveStencilFaceEXT"]
+    pub static mut epoxy_glActiveStencilFaceEXT:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glActiveTexture"]
+    pub static mut epoxy_glActiveTexture:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glActiveTextureARB"]
+    pub static mut epoxy_glActiveTextureARB:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glActiveVaryingNV"]
+    pub static mut epoxy_glActiveVaryingNV:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAlphaFragmentOp1ATI"]
+    pub static mut epoxy_glAlphaFragmentOp1ATI: ::std::option::Option<
+        unsafe extern "C" fn(
+            op: GLenum,
+            dst: GLuint,
+            dstMod: GLuint,
+            arg1: GLuint,
+            arg1Rep: GLuint,
+            arg1Mod: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAlphaFragmentOp2ATI"]
+    pub static mut epoxy_glAlphaFragmentOp2ATI: ::std::option::Option<
+        unsafe extern "C" fn(
+            op: GLenum,
+            dst: GLuint,
+            dstMod: GLuint,
+            arg1: GLuint,
+            arg1Rep: GLuint,
+            arg1Mod: GLuint,
+            arg2: GLuint,
+            arg2Rep: GLuint,
+            arg2Mod: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAlphaFragmentOp3ATI"]
+    pub static mut epoxy_glAlphaFragmentOp3ATI: ::std::option::Option<
+        unsafe extern "C" fn(
+            op: GLenum,
+            dst: GLuint,
+            dstMod: GLuint,
+            arg1: GLuint,
+            arg1Rep: GLuint,
+            arg1Mod: GLuint,
+            arg2: GLuint,
+            arg2Rep: GLuint,
+            arg2Mod: GLuint,
+            arg3: GLuint,
+            arg3Rep: GLuint,
+            arg3Mod: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAlphaFunc"]
+    pub static mut epoxy_glAlphaFunc:
+        ::std::option::Option<unsafe extern "C" fn(func: GLenum, ref_: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAlphaFuncQCOM"]
+    pub static mut epoxy_glAlphaFuncQCOM:
+        ::std::option::Option<unsafe extern "C" fn(func: GLenum, ref_: GLclampf)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAlphaFuncx"]
+    pub static mut epoxy_glAlphaFuncx:
+        ::std::option::Option<unsafe extern "C" fn(func: GLenum, ref_: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAlphaFuncxOES"]
+    pub static mut epoxy_glAlphaFuncxOES:
+        ::std::option::Option<unsafe extern "C" fn(func: GLenum, ref_: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glApplyFramebufferAttachmentCMAAINTEL"]
+    pub static mut epoxy_glApplyFramebufferAttachmentCMAAINTEL:
+        ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glApplyTextureEXT"]
+    pub static mut epoxy_glApplyTextureEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAreProgramsResidentNV"]
+    pub static mut epoxy_glAreProgramsResidentNV: ::std::option::Option<
+        unsafe extern "C" fn(n: GLsizei, programs: *const GLuint, residences: *mut GLboolean)
+            -> GLboolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAreTexturesResident"]
+    pub static mut epoxy_glAreTexturesResident: ::std::option::Option<
+        unsafe extern "C" fn(n: GLsizei, textures: *const GLuint, residences: *mut GLboolean)
+            -> GLboolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAreTexturesResidentEXT"]
+    pub static mut epoxy_glAreTexturesResidentEXT: ::std::option::Option<
+        unsafe extern "C" fn(n: GLsizei, textures: *const GLuint, residences: *mut GLboolean)
+            -> GLboolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glArrayElement"]
+    pub static mut epoxy_glArrayElement: ::std::option::Option<unsafe extern "C" fn(i: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glArrayElementEXT"]
+    pub static mut epoxy_glArrayElementEXT: ::std::option::Option<unsafe extern "C" fn(i: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glArrayObjectATI"]
+    pub static mut epoxy_glArrayObjectATI: ::std::option::Option<
+        unsafe extern "C" fn(
+            array: GLenum,
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            buffer: GLuint,
+            offset: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAsyncMarkerSGIX"]
+    pub static mut epoxy_glAsyncMarkerSGIX:
+        ::std::option::Option<unsafe extern "C" fn(marker: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAttachObjectARB"]
+    pub static mut epoxy_glAttachObjectARB:
+        ::std::option::Option<unsafe extern "C" fn(containerObj: GLhandleARB, obj: GLhandleARB)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glAttachShader"]
+    pub static mut epoxy_glAttachShader:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, shader: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBegin"]
+    pub static mut epoxy_glBegin: ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginConditionalRender"]
+    pub static mut epoxy_glBeginConditionalRender:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginConditionalRenderNV"]
+    pub static mut epoxy_glBeginConditionalRenderNV:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginConditionalRenderNVX"]
+    pub static mut epoxy_glBeginConditionalRenderNVX:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginFragmentShaderATI"]
+    pub static mut epoxy_glBeginFragmentShaderATI: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginOcclusionQueryNV"]
+    pub static mut epoxy_glBeginOcclusionQueryNV:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginPerfMonitorAMD"]
+    pub static mut epoxy_glBeginPerfMonitorAMD:
+        ::std::option::Option<unsafe extern "C" fn(monitor: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginPerfQueryINTEL"]
+    pub static mut epoxy_glBeginPerfQueryINTEL:
+        ::std::option::Option<unsafe extern "C" fn(queryHandle: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginQuery"]
+    pub static mut epoxy_glBeginQuery:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginQueryARB"]
+    pub static mut epoxy_glBeginQueryARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginQueryEXT"]
+    pub static mut epoxy_glBeginQueryEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginQueryIndexed"]
+    pub static mut epoxy_glBeginQueryIndexed:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginTransformFeedback"]
+    pub static mut epoxy_glBeginTransformFeedback:
+        ::std::option::Option<unsafe extern "C" fn(primitiveMode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginTransformFeedbackEXT"]
+    pub static mut epoxy_glBeginTransformFeedbackEXT:
+        ::std::option::Option<unsafe extern "C" fn(primitiveMode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginTransformFeedbackNV"]
+    pub static mut epoxy_glBeginTransformFeedbackNV:
+        ::std::option::Option<unsafe extern "C" fn(primitiveMode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginVertexShaderEXT"]
+    pub static mut epoxy_glBeginVertexShaderEXT: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBeginVideoCaptureNV"]
+    pub static mut epoxy_glBeginVideoCaptureNV:
+        ::std::option::Option<unsafe extern "C" fn(video_capture_slot: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindAttribLocation"]
+    pub static mut epoxy_glBindAttribLocation: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, index: GLuint, name: *const GLchar),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindAttribLocationARB"]
+    pub static mut epoxy_glBindAttribLocationARB: ::std::option::Option<
+        unsafe extern "C" fn(programObj: GLhandleARB, index: GLuint, name: *const GLcharARB),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindBuffer"]
+    pub static mut epoxy_glBindBuffer:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, buffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindBufferARB"]
+    pub static mut epoxy_glBindBufferARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, buffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindBufferBase"]
+    pub static mut epoxy_glBindBufferBase:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindBufferBaseEXT"]
+    pub static mut epoxy_glBindBufferBaseEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindBufferBaseNV"]
+    pub static mut epoxy_glBindBufferBaseNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindBufferOffsetEXT"]
+    pub static mut epoxy_glBindBufferOffsetEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint, offset: GLintptr),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindBufferOffsetNV"]
+    pub static mut epoxy_glBindBufferOffsetNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint, offset: GLintptr),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindBufferRange"]
+    pub static mut epoxy_glBindBufferRange: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            index: GLuint,
+            buffer: GLuint,
+            offset: GLintptr,
+            size: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindBufferRangeEXT"]
+    pub static mut epoxy_glBindBufferRangeEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            index: GLuint,
+            buffer: GLuint,
+            offset: GLintptr,
+            size: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindBufferRangeNV"]
+    pub static mut epoxy_glBindBufferRangeNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            index: GLuint,
+            buffer: GLuint,
+            offset: GLintptr,
+            size: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindBuffersBase"]
+    pub static mut epoxy_glBindBuffersBase: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, first: GLuint, count: GLsizei, buffers: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindBuffersRange"]
+    pub static mut epoxy_glBindBuffersRange: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            first: GLuint,
+            count: GLsizei,
+            buffers: *const GLuint,
+            offsets: *const GLintptr,
+            sizes: *const GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindFragDataLocation"]
+    pub static mut epoxy_glBindFragDataLocation: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, color: GLuint, name: *const GLchar),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindFragDataLocationEXT"]
+    pub static mut epoxy_glBindFragDataLocationEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, color: GLuint, name: *const GLchar),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindFragDataLocationIndexed"]
+    pub static mut epoxy_glBindFragDataLocationIndexed: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            colorNumber: GLuint,
+            index: GLuint,
+            name: *const GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindFragDataLocationIndexedEXT"]
+    pub static mut epoxy_glBindFragDataLocationIndexedEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            colorNumber: GLuint,
+            index: GLuint,
+            name: *const GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindFragmentShaderATI"]
+    pub static mut epoxy_glBindFragmentShaderATI:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindFramebuffer"]
+    pub static mut epoxy_glBindFramebuffer:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, framebuffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindFramebufferEXT"]
+    pub static mut epoxy_glBindFramebufferEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, framebuffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindFramebufferOES"]
+    pub static mut epoxy_glBindFramebufferOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, framebuffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindImageTexture"]
+    pub static mut epoxy_glBindImageTexture: ::std::option::Option<
+        unsafe extern "C" fn(
+            unit: GLuint,
+            texture: GLuint,
+            level: GLint,
+            layered: GLboolean,
+            layer: GLint,
+            access: GLenum,
+            format: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindImageTextureEXT"]
+    pub static mut epoxy_glBindImageTextureEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            texture: GLuint,
+            level: GLint,
+            layered: GLboolean,
+            layer: GLint,
+            access: GLenum,
+            format: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindImageTextures"]
+    pub static mut epoxy_glBindImageTextures: ::std::option::Option<
+        unsafe extern "C" fn(first: GLuint, count: GLsizei, textures: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindLightParameterEXT"]
+    pub static mut epoxy_glBindLightParameterEXT:
+        ::std::option::Option<unsafe extern "C" fn(light: GLenum, value: GLenum) -> GLuint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindMaterialParameterEXT"]
+    pub static mut epoxy_glBindMaterialParameterEXT:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, value: GLenum) -> GLuint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindMultiTextureEXT"]
+    pub static mut epoxy_glBindMultiTextureEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, texture: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindParameterEXT"]
+    pub static mut epoxy_glBindParameterEXT:
+        ::std::option::Option<unsafe extern "C" fn(value: GLenum) -> GLuint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindProgramARB"]
+    pub static mut epoxy_glBindProgramARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, program: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindProgramNV"]
+    pub static mut epoxy_glBindProgramNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindProgramPipeline"]
+    pub static mut epoxy_glBindProgramPipeline:
+        ::std::option::Option<unsafe extern "C" fn(pipeline: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindProgramPipelineEXT"]
+    pub static mut epoxy_glBindProgramPipelineEXT:
+        ::std::option::Option<unsafe extern "C" fn(pipeline: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindRenderbuffer"]
+    pub static mut epoxy_glBindRenderbuffer:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, renderbuffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindRenderbufferEXT"]
+    pub static mut epoxy_glBindRenderbufferEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, renderbuffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindRenderbufferOES"]
+    pub static mut epoxy_glBindRenderbufferOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, renderbuffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindSampler"]
+    pub static mut epoxy_glBindSampler:
+        ::std::option::Option<unsafe extern "C" fn(unit: GLuint, sampler: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindSamplers"]
+    pub static mut epoxy_glBindSamplers: ::std::option::Option<
+        unsafe extern "C" fn(first: GLuint, count: GLsizei, samplers: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindTexGenParameterEXT"]
+    pub static mut epoxy_glBindTexGenParameterEXT: ::std::option::Option<
+        unsafe extern "C" fn(unit: GLenum, coord: GLenum, value: GLenum) -> GLuint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindTexture"]
+    pub static mut epoxy_glBindTexture:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, texture: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindTextureEXT"]
+    pub static mut epoxy_glBindTextureEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, texture: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindTextureUnit"]
+    pub static mut epoxy_glBindTextureUnit:
+        ::std::option::Option<unsafe extern "C" fn(unit: GLuint, texture: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindTextureUnitParameterEXT"]
+    pub static mut epoxy_glBindTextureUnitParameterEXT:
+        ::std::option::Option<unsafe extern "C" fn(unit: GLenum, value: GLenum) -> GLuint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindTextures"]
+    pub static mut epoxy_glBindTextures: ::std::option::Option<
+        unsafe extern "C" fn(first: GLuint, count: GLsizei, textures: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindTransformFeedback"]
+    pub static mut epoxy_glBindTransformFeedback:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindTransformFeedbackNV"]
+    pub static mut epoxy_glBindTransformFeedbackNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindVertexArray"]
+    pub static mut epoxy_glBindVertexArray:
+        ::std::option::Option<unsafe extern "C" fn(array: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindVertexArrayAPPLE"]
+    pub static mut epoxy_glBindVertexArrayAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(array: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindVertexArrayOES"]
+    pub static mut epoxy_glBindVertexArrayOES:
+        ::std::option::Option<unsafe extern "C" fn(array: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindVertexBuffer"]
+    pub static mut epoxy_glBindVertexBuffer: ::std::option::Option<
+        unsafe extern "C" fn(
+            bindingindex: GLuint,
+            buffer: GLuint,
+            offset: GLintptr,
+            stride: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindVertexBuffers"]
+    pub static mut epoxy_glBindVertexBuffers: ::std::option::Option<
+        unsafe extern "C" fn(
+            first: GLuint,
+            count: GLsizei,
+            buffers: *const GLuint,
+            offsets: *const GLintptr,
+            strides: *const GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindVertexShaderEXT"]
+    pub static mut epoxy_glBindVertexShaderEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindVideoCaptureStreamBufferNV"]
+    pub static mut epoxy_glBindVideoCaptureStreamBufferNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            video_capture_slot: GLuint,
+            stream: GLuint,
+            frame_region: GLenum,
+            offset: GLintptrARB,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBindVideoCaptureStreamTextureNV"]
+    pub static mut epoxy_glBindVideoCaptureStreamTextureNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            video_capture_slot: GLuint,
+            stream: GLuint,
+            frame_region: GLenum,
+            target: GLenum,
+            texture: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBinormal3bEXT"]
+    pub static mut epoxy_glBinormal3bEXT:
+        ::std::option::Option<unsafe extern "C" fn(bx: GLbyte, by: GLbyte, bz: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBinormal3bvEXT"]
+    pub static mut epoxy_glBinormal3bvEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBinormal3dEXT"]
+    pub static mut epoxy_glBinormal3dEXT:
+        ::std::option::Option<unsafe extern "C" fn(bx: GLdouble, by: GLdouble, bz: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBinormal3dvEXT"]
+    pub static mut epoxy_glBinormal3dvEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBinormal3fEXT"]
+    pub static mut epoxy_glBinormal3fEXT:
+        ::std::option::Option<unsafe extern "C" fn(bx: GLfloat, by: GLfloat, bz: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBinormal3fvEXT"]
+    pub static mut epoxy_glBinormal3fvEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBinormal3iEXT"]
+    pub static mut epoxy_glBinormal3iEXT:
+        ::std::option::Option<unsafe extern "C" fn(bx: GLint, by: GLint, bz: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBinormal3ivEXT"]
+    pub static mut epoxy_glBinormal3ivEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBinormal3sEXT"]
+    pub static mut epoxy_glBinormal3sEXT:
+        ::std::option::Option<unsafe extern "C" fn(bx: GLshort, by: GLshort, bz: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBinormal3svEXT"]
+    pub static mut epoxy_glBinormal3svEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBinormalPointerEXT"]
+    pub static mut epoxy_glBinormalPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBitmap"]
+    pub static mut epoxy_glBitmap: ::std::option::Option<
+        unsafe extern "C" fn(
+            width: GLsizei,
+            height: GLsizei,
+            xorig: GLfloat,
+            yorig: GLfloat,
+            xmove: GLfloat,
+            ymove: GLfloat,
+            bitmap: *const GLubyte,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBitmapxOES"]
+    pub static mut epoxy_glBitmapxOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            width: GLsizei,
+            height: GLsizei,
+            xorig: GLfixed,
+            yorig: GLfixed,
+            xmove: GLfixed,
+            ymove: GLfixed,
+            bitmap: *const GLubyte,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendBarrier"]
+    pub static mut epoxy_glBlendBarrier: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendBarrierKHR"]
+    pub static mut epoxy_glBlendBarrierKHR: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendBarrierNV"]
+    pub static mut epoxy_glBlendBarrierNV: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendColor"]
+    pub static mut epoxy_glBlendColor: ::std::option::Option<
+        unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendColorEXT"]
+    pub static mut epoxy_glBlendColorEXT: ::std::option::Option<
+        unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendColorxOES"]
+    pub static mut epoxy_glBlendColorxOES: ::std::option::Option<
+        unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquation"]
+    pub static mut epoxy_glBlendEquation: ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationEXT"]
+    pub static mut epoxy_glBlendEquationEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationIndexedAMD"]
+    pub static mut epoxy_glBlendEquationIndexedAMD:
+        ::std::option::Option<unsafe extern "C" fn(buf: GLuint, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationOES"]
+    pub static mut epoxy_glBlendEquationOES:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationSeparate"]
+    pub static mut epoxy_glBlendEquationSeparate:
+        ::std::option::Option<unsafe extern "C" fn(modeRGB: GLenum, modeAlpha: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationSeparateEXT"]
+    pub static mut epoxy_glBlendEquationSeparateEXT:
+        ::std::option::Option<unsafe extern "C" fn(modeRGB: GLenum, modeAlpha: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationSeparateIndexedAMD"]
+    pub static mut epoxy_glBlendEquationSeparateIndexedAMD: ::std::option::Option<
+        unsafe extern "C" fn(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationSeparateOES"]
+    pub static mut epoxy_glBlendEquationSeparateOES:
+        ::std::option::Option<unsafe extern "C" fn(modeRGB: GLenum, modeAlpha: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationSeparatei"]
+    pub static mut epoxy_glBlendEquationSeparatei: ::std::option::Option<
+        unsafe extern "C" fn(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationSeparateiARB"]
+    pub static mut epoxy_glBlendEquationSeparateiARB: ::std::option::Option<
+        unsafe extern "C" fn(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationSeparateiEXT"]
+    pub static mut epoxy_glBlendEquationSeparateiEXT: ::std::option::Option<
+        unsafe extern "C" fn(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationSeparateiOES"]
+    pub static mut epoxy_glBlendEquationSeparateiOES: ::std::option::Option<
+        unsafe extern "C" fn(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationi"]
+    pub static mut epoxy_glBlendEquationi:
+        ::std::option::Option<unsafe extern "C" fn(buf: GLuint, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationiARB"]
+    pub static mut epoxy_glBlendEquationiARB:
+        ::std::option::Option<unsafe extern "C" fn(buf: GLuint, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationiEXT"]
+    pub static mut epoxy_glBlendEquationiEXT:
+        ::std::option::Option<unsafe extern "C" fn(buf: GLuint, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendEquationiOES"]
+    pub static mut epoxy_glBlendEquationiOES:
+        ::std::option::Option<unsafe extern "C" fn(buf: GLuint, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFunc"]
+    pub static mut epoxy_glBlendFunc:
+        ::std::option::Option<unsafe extern "C" fn(sfactor: GLenum, dfactor: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFuncIndexedAMD"]
+    pub static mut epoxy_glBlendFuncIndexedAMD:
+        ::std::option::Option<unsafe extern "C" fn(buf: GLuint, src: GLenum, dst: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFuncSeparate"]
+    pub static mut epoxy_glBlendFuncSeparate: ::std::option::Option<
+        unsafe extern "C" fn(
+            sfactorRGB: GLenum,
+            dfactorRGB: GLenum,
+            sfactorAlpha: GLenum,
+            dfactorAlpha: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFuncSeparateEXT"]
+    pub static mut epoxy_glBlendFuncSeparateEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            sfactorRGB: GLenum,
+            dfactorRGB: GLenum,
+            sfactorAlpha: GLenum,
+            dfactorAlpha: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFuncSeparateINGR"]
+    pub static mut epoxy_glBlendFuncSeparateINGR: ::std::option::Option<
+        unsafe extern "C" fn(
+            sfactorRGB: GLenum,
+            dfactorRGB: GLenum,
+            sfactorAlpha: GLenum,
+            dfactorAlpha: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFuncSeparateIndexedAMD"]
+    pub static mut epoxy_glBlendFuncSeparateIndexedAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            buf: GLuint,
+            srcRGB: GLenum,
+            dstRGB: GLenum,
+            srcAlpha: GLenum,
+            dstAlpha: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFuncSeparateOES"]
+    pub static mut epoxy_glBlendFuncSeparateOES: ::std::option::Option<
+        unsafe extern "C" fn(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFuncSeparatei"]
+    pub static mut epoxy_glBlendFuncSeparatei: ::std::option::Option<
+        unsafe extern "C" fn(
+            buf: GLuint,
+            srcRGB: GLenum,
+            dstRGB: GLenum,
+            srcAlpha: GLenum,
+            dstAlpha: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFuncSeparateiARB"]
+    pub static mut epoxy_glBlendFuncSeparateiARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            buf: GLuint,
+            srcRGB: GLenum,
+            dstRGB: GLenum,
+            srcAlpha: GLenum,
+            dstAlpha: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFuncSeparateiEXT"]
+    pub static mut epoxy_glBlendFuncSeparateiEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            buf: GLuint,
+            srcRGB: GLenum,
+            dstRGB: GLenum,
+            srcAlpha: GLenum,
+            dstAlpha: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFuncSeparateiOES"]
+    pub static mut epoxy_glBlendFuncSeparateiOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            buf: GLuint,
+            srcRGB: GLenum,
+            dstRGB: GLenum,
+            srcAlpha: GLenum,
+            dstAlpha: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFunci"]
+    pub static mut epoxy_glBlendFunci:
+        ::std::option::Option<unsafe extern "C" fn(buf: GLuint, src: GLenum, dst: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFunciARB"]
+    pub static mut epoxy_glBlendFunciARB:
+        ::std::option::Option<unsafe extern "C" fn(buf: GLuint, src: GLenum, dst: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFunciEXT"]
+    pub static mut epoxy_glBlendFunciEXT:
+        ::std::option::Option<unsafe extern "C" fn(buf: GLuint, src: GLenum, dst: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendFunciOES"]
+    pub static mut epoxy_glBlendFunciOES:
+        ::std::option::Option<unsafe extern "C" fn(buf: GLuint, src: GLenum, dst: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlendParameteriNV"]
+    pub static mut epoxy_glBlendParameteriNV:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, value: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlitFramebuffer"]
+    pub static mut epoxy_glBlitFramebuffer: ::std::option::Option<
+        unsafe extern "C" fn(
+            srcX0: GLint,
+            srcY0: GLint,
+            srcX1: GLint,
+            srcY1: GLint,
+            dstX0: GLint,
+            dstY0: GLint,
+            dstX1: GLint,
+            dstY1: GLint,
+            mask: GLbitfield,
+            filter: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlitFramebufferANGLE"]
+    pub static mut epoxy_glBlitFramebufferANGLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            srcX0: GLint,
+            srcY0: GLint,
+            srcX1: GLint,
+            srcY1: GLint,
+            dstX0: GLint,
+            dstY0: GLint,
+            dstX1: GLint,
+            dstY1: GLint,
+            mask: GLbitfield,
+            filter: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlitFramebufferEXT"]
+    pub static mut epoxy_glBlitFramebufferEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            srcX0: GLint,
+            srcY0: GLint,
+            srcX1: GLint,
+            srcY1: GLint,
+            dstX0: GLint,
+            dstY0: GLint,
+            dstX1: GLint,
+            dstY1: GLint,
+            mask: GLbitfield,
+            filter: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlitFramebufferNV"]
+    pub static mut epoxy_glBlitFramebufferNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            srcX0: GLint,
+            srcY0: GLint,
+            srcX1: GLint,
+            srcY1: GLint,
+            dstX0: GLint,
+            dstY0: GLint,
+            dstX1: GLint,
+            dstY1: GLint,
+            mask: GLbitfield,
+            filter: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBlitNamedFramebuffer"]
+    pub static mut epoxy_glBlitNamedFramebuffer: ::std::option::Option<
+        unsafe extern "C" fn(
+            readFramebuffer: GLuint,
+            drawFramebuffer: GLuint,
+            srcX0: GLint,
+            srcY0: GLint,
+            srcX1: GLint,
+            srcY1: GLint,
+            dstX0: GLint,
+            dstY0: GLint,
+            dstX1: GLint,
+            dstY1: GLint,
+            mask: GLbitfield,
+            filter: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBufferAddressRangeNV"]
+    pub static mut epoxy_glBufferAddressRangeNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            pname: GLenum,
+            index: GLuint,
+            address: GLuint64EXT,
+            length: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBufferData"]
+    pub static mut epoxy_glBufferData: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            size: GLsizeiptr,
+            data: *const ::std::os::raw::c_void,
+            usage: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBufferDataARB"]
+    pub static mut epoxy_glBufferDataARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            size: GLsizeiptrARB,
+            data: *const ::std::os::raw::c_void,
+            usage: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBufferPageCommitmentARB"]
+    pub static mut epoxy_glBufferPageCommitmentARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, offset: GLintptr, size: GLsizeiptr, commit: GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBufferParameteriAPPLE"]
+    pub static mut epoxy_glBufferParameteriAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBufferStorage"]
+    pub static mut epoxy_glBufferStorage: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            size: GLsizeiptr,
+            data: *const ::std::os::raw::c_void,
+            flags: GLbitfield,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBufferStorageEXT"]
+    pub static mut epoxy_glBufferStorageEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            size: GLsizeiptr,
+            data: *const ::std::os::raw::c_void,
+            flags: GLbitfield,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBufferSubData"]
+    pub static mut epoxy_glBufferSubData: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            offset: GLintptr,
+            size: GLsizeiptr,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glBufferSubDataARB"]
+    pub static mut epoxy_glBufferSubDataARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            offset: GLintptrARB,
+            size: GLsizeiptrARB,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCallCommandListNV"]
+    pub static mut epoxy_glCallCommandListNV:
+        ::std::option::Option<unsafe extern "C" fn(list: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCallList"]
+    pub static mut epoxy_glCallList: ::std::option::Option<unsafe extern "C" fn(list: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCallLists"]
+    pub static mut epoxy_glCallLists: ::std::option::Option<
+        unsafe extern "C" fn(n: GLsizei, type_: GLenum, lists: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCheckFramebufferStatus"]
+    pub static mut epoxy_glCheckFramebufferStatus:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum) -> GLenum>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCheckFramebufferStatusEXT"]
+    pub static mut epoxy_glCheckFramebufferStatusEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum) -> GLenum>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCheckFramebufferStatusOES"]
+    pub static mut epoxy_glCheckFramebufferStatusOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum) -> GLenum>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCheckNamedFramebufferStatus"]
+    pub static mut epoxy_glCheckNamedFramebufferStatus:
+        ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, target: GLenum) -> GLenum>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCheckNamedFramebufferStatusEXT"]
+    pub static mut epoxy_glCheckNamedFramebufferStatusEXT:
+        ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, target: GLenum) -> GLenum>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClampColor"]
+    pub static mut epoxy_glClampColor:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, clamp: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClampColorARB"]
+    pub static mut epoxy_glClampColorARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, clamp: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClear"]
+    pub static mut epoxy_glClear: ::std::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearAccum"]
+    pub static mut epoxy_glClearAccum: ::std::option::Option<
+        unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearAccumxOES"]
+    pub static mut epoxy_glClearAccumxOES: ::std::option::Option<
+        unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearBufferData"]
+    pub static mut epoxy_glClearBufferData: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearBufferSubData"]
+    pub static mut epoxy_glClearBufferSubData: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            offset: GLintptr,
+            size: GLsizeiptr,
+            format: GLenum,
+            type_: GLenum,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearBufferfi"]
+    pub static mut epoxy_glClearBufferfi: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearBufferfv"]
+    pub static mut epoxy_glClearBufferfv: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLenum, drawbuffer: GLint, value: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearBufferiv"]
+    pub static mut epoxy_glClearBufferiv: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLenum, drawbuffer: GLint, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearBufferuiv"]
+    pub static mut epoxy_glClearBufferuiv: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLenum, drawbuffer: GLint, value: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearColor"]
+    pub static mut epoxy_glClearColor: ::std::option::Option<
+        unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearColorIiEXT"]
+    pub static mut epoxy_glClearColorIiEXT: ::std::option::Option<
+        unsafe extern "C" fn(red: GLint, green: GLint, blue: GLint, alpha: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearColorIuiEXT"]
+    pub static mut epoxy_glClearColorIuiEXT: ::std::option::Option<
+        unsafe extern "C" fn(red: GLuint, green: GLuint, blue: GLuint, alpha: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearColorx"]
+    pub static mut epoxy_glClearColorx: ::std::option::Option<
+        unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearColorxOES"]
+    pub static mut epoxy_glClearColorxOES: ::std::option::Option<
+        unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearDepth"]
+    pub static mut epoxy_glClearDepth: ::std::option::Option<unsafe extern "C" fn(depth: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearDepthdNV"]
+    pub static mut epoxy_glClearDepthdNV:
+        ::std::option::Option<unsafe extern "C" fn(depth: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearDepthf"]
+    pub static mut epoxy_glClearDepthf: ::std::option::Option<unsafe extern "C" fn(d: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearDepthfOES"]
+    pub static mut epoxy_glClearDepthfOES:
+        ::std::option::Option<unsafe extern "C" fn(depth: GLclampf)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearDepthx"]
+    pub static mut epoxy_glClearDepthx: ::std::option::Option<unsafe extern "C" fn(depth: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearDepthxOES"]
+    pub static mut epoxy_glClearDepthxOES:
+        ::std::option::Option<unsafe extern "C" fn(depth: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearIndex"]
+    pub static mut epoxy_glClearIndex: ::std::option::Option<unsafe extern "C" fn(c: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearNamedBufferData"]
+    pub static mut epoxy_glClearNamedBufferData: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            internalformat: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearNamedBufferDataEXT"]
+    pub static mut epoxy_glClearNamedBufferDataEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            internalformat: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearNamedBufferSubData"]
+    pub static mut epoxy_glClearNamedBufferSubData: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            internalformat: GLenum,
+            offset: GLintptr,
+            size: GLsizeiptr,
+            format: GLenum,
+            type_: GLenum,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearNamedBufferSubDataEXT"]
+    pub static mut epoxy_glClearNamedBufferSubDataEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            internalformat: GLenum,
+            offset: GLsizeiptr,
+            size: GLsizeiptr,
+            format: GLenum,
+            type_: GLenum,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearNamedFramebufferfi"]
+    pub static mut epoxy_glClearNamedFramebufferfi: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            buffer: GLenum,
+            drawbuffer: GLint,
+            depth: GLfloat,
+            stencil: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearNamedFramebufferfv"]
+    pub static mut epoxy_glClearNamedFramebufferfv: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            buffer: GLenum,
+            drawbuffer: GLint,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearNamedFramebufferiv"]
+    pub static mut epoxy_glClearNamedFramebufferiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            buffer: GLenum,
+            drawbuffer: GLint,
+            value: *const GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearNamedFramebufferuiv"]
+    pub static mut epoxy_glClearNamedFramebufferuiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            buffer: GLenum,
+            drawbuffer: GLint,
+            value: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearPixelLocalStorageuiEXT"]
+    pub static mut epoxy_glClearPixelLocalStorageuiEXT: ::std::option::Option<
+        unsafe extern "C" fn(offset: GLsizei, n: GLsizei, values: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearStencil"]
+    pub static mut epoxy_glClearStencil: ::std::option::Option<unsafe extern "C" fn(s: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearTexImage"]
+    pub static mut epoxy_glClearTexImage: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            format: GLenum,
+            type_: GLenum,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearTexImageEXT"]
+    pub static mut epoxy_glClearTexImageEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            format: GLenum,
+            type_: GLenum,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearTexSubImage"]
+    pub static mut epoxy_glClearTexSubImage: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClearTexSubImageEXT"]
+    pub static mut epoxy_glClearTexSubImageEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClientActiveTexture"]
+    pub static mut epoxy_glClientActiveTexture:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClientActiveTextureARB"]
+    pub static mut epoxy_glClientActiveTextureARB:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClientActiveVertexStreamATI"]
+    pub static mut epoxy_glClientActiveVertexStreamATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClientAttribDefaultEXT"]
+    pub static mut epoxy_glClientAttribDefaultEXT:
+        ::std::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClientWaitSync"]
+    pub static mut epoxy_glClientWaitSync: ::std::option::Option<
+        unsafe extern "C" fn(sync: GLsync, flags: GLbitfield, timeout: GLuint64) -> GLenum,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClientWaitSyncAPPLE"]
+    pub static mut epoxy_glClientWaitSyncAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(sync: GLsync, flags: GLbitfield, timeout: GLuint64) -> GLenum,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClipControl"]
+    pub static mut epoxy_glClipControl:
+        ::std::option::Option<unsafe extern "C" fn(origin: GLenum, depth: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClipPlane"]
+    pub static mut epoxy_glClipPlane:
+        ::std::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClipPlanef"]
+    pub static mut epoxy_glClipPlanef:
+        ::std::option::Option<unsafe extern "C" fn(p: GLenum, eqn: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClipPlanefIMG"]
+    pub static mut epoxy_glClipPlanefIMG:
+        ::std::option::Option<unsafe extern "C" fn(p: GLenum, eqn: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClipPlanefOES"]
+    pub static mut epoxy_glClipPlanefOES:
+        ::std::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClipPlanex"]
+    pub static mut epoxy_glClipPlanex:
+        ::std::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClipPlanexIMG"]
+    pub static mut epoxy_glClipPlanexIMG:
+        ::std::option::Option<unsafe extern "C" fn(p: GLenum, eqn: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glClipPlanexOES"]
+    pub static mut epoxy_glClipPlanexOES:
+        ::std::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3b"]
+    pub static mut epoxy_glColor3b:
+        ::std::option::Option<unsafe extern "C" fn(red: GLbyte, green: GLbyte, blue: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3bv"]
+    pub static mut epoxy_glColor3bv: ::std::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3d"]
+    pub static mut epoxy_glColor3d:
+        ::std::option::Option<unsafe extern "C" fn(red: GLdouble, green: GLdouble, blue: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3dv"]
+    pub static mut epoxy_glColor3dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3f"]
+    pub static mut epoxy_glColor3f:
+        ::std::option::Option<unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3fVertex3fSUN"]
+    pub static mut epoxy_glColor3fVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            r: GLfloat,
+            g: GLfloat,
+            b: GLfloat,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3fVertex3fvSUN"]
+    pub static mut epoxy_glColor3fVertex3fvSUN:
+        ::std::option::Option<unsafe extern "C" fn(c: *const GLfloat, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3fv"]
+    pub static mut epoxy_glColor3fv: ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3hNV"]
+    pub static mut epoxy_glColor3hNV:
+        ::std::option::Option<unsafe extern "C" fn(red: GLhalfNV, green: GLhalfNV, blue: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3hvNV"]
+    pub static mut epoxy_glColor3hvNV:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3i"]
+    pub static mut epoxy_glColor3i:
+        ::std::option::Option<unsafe extern "C" fn(red: GLint, green: GLint, blue: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3iv"]
+    pub static mut epoxy_glColor3iv: ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3s"]
+    pub static mut epoxy_glColor3s:
+        ::std::option::Option<unsafe extern "C" fn(red: GLshort, green: GLshort, blue: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3sv"]
+    pub static mut epoxy_glColor3sv: ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3ub"]
+    pub static mut epoxy_glColor3ub:
+        ::std::option::Option<unsafe extern "C" fn(red: GLubyte, green: GLubyte, blue: GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3ubv"]
+    pub static mut epoxy_glColor3ubv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3ui"]
+    pub static mut epoxy_glColor3ui:
+        ::std::option::Option<unsafe extern "C" fn(red: GLuint, green: GLuint, blue: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3uiv"]
+    pub static mut epoxy_glColor3uiv: ::std::option::Option<unsafe extern "C" fn(v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3us"]
+    pub static mut epoxy_glColor3us:
+        ::std::option::Option<unsafe extern "C" fn(red: GLushort, green: GLushort, blue: GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3usv"]
+    pub static mut epoxy_glColor3usv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3xOES"]
+    pub static mut epoxy_glColor3xOES:
+        ::std::option::Option<unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor3xvOES"]
+    pub static mut epoxy_glColor3xvOES:
+        ::std::option::Option<unsafe extern "C" fn(components: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4b"]
+    pub static mut epoxy_glColor4b: ::std::option::Option<
+        unsafe extern "C" fn(red: GLbyte, green: GLbyte, blue: GLbyte, alpha: GLbyte),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4bv"]
+    pub static mut epoxy_glColor4bv: ::std::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4d"]
+    pub static mut epoxy_glColor4d: ::std::option::Option<
+        unsafe extern "C" fn(red: GLdouble, green: GLdouble, blue: GLdouble, alpha: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4dv"]
+    pub static mut epoxy_glColor4dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4f"]
+    pub static mut epoxy_glColor4f: ::std::option::Option<
+        unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4fNormal3fVertex3fSUN"]
+    pub static mut epoxy_glColor4fNormal3fVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            r: GLfloat,
+            g: GLfloat,
+            b: GLfloat,
+            a: GLfloat,
+            nx: GLfloat,
+            ny: GLfloat,
+            nz: GLfloat,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4fNormal3fVertex3fvSUN"]
+    pub static mut epoxy_glColor4fNormal3fVertex3fvSUN: ::std::option::Option<
+        unsafe extern "C" fn(c: *const GLfloat, n: *const GLfloat, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4fv"]
+    pub static mut epoxy_glColor4fv: ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4hNV"]
+    pub static mut epoxy_glColor4hNV: ::std::option::Option<
+        unsafe extern "C" fn(red: GLhalfNV, green: GLhalfNV, blue: GLhalfNV, alpha: GLhalfNV),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4hvNV"]
+    pub static mut epoxy_glColor4hvNV:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4i"]
+    pub static mut epoxy_glColor4i: ::std::option::Option<
+        unsafe extern "C" fn(red: GLint, green: GLint, blue: GLint, alpha: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4iv"]
+    pub static mut epoxy_glColor4iv: ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4s"]
+    pub static mut epoxy_glColor4s: ::std::option::Option<
+        unsafe extern "C" fn(red: GLshort, green: GLshort, blue: GLshort, alpha: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4sv"]
+    pub static mut epoxy_glColor4sv: ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4ub"]
+    pub static mut epoxy_glColor4ub: ::std::option::Option<
+        unsafe extern "C" fn(red: GLubyte, green: GLubyte, blue: GLubyte, alpha: GLubyte),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4ubVertex2fSUN"]
+    pub static mut epoxy_glColor4ubVertex2fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            r: GLubyte,
+            g: GLubyte,
+            b: GLubyte,
+            a: GLubyte,
+            x: GLfloat,
+            y: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4ubVertex2fvSUN"]
+    pub static mut epoxy_glColor4ubVertex2fvSUN:
+        ::std::option::Option<unsafe extern "C" fn(c: *const GLubyte, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4ubVertex3fSUN"]
+    pub static mut epoxy_glColor4ubVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            r: GLubyte,
+            g: GLubyte,
+            b: GLubyte,
+            a: GLubyte,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4ubVertex3fvSUN"]
+    pub static mut epoxy_glColor4ubVertex3fvSUN:
+        ::std::option::Option<unsafe extern "C" fn(c: *const GLubyte, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4ubv"]
+    pub static mut epoxy_glColor4ubv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4ui"]
+    pub static mut epoxy_glColor4ui: ::std::option::Option<
+        unsafe extern "C" fn(red: GLuint, green: GLuint, blue: GLuint, alpha: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4uiv"]
+    pub static mut epoxy_glColor4uiv: ::std::option::Option<unsafe extern "C" fn(v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4us"]
+    pub static mut epoxy_glColor4us: ::std::option::Option<
+        unsafe extern "C" fn(red: GLushort, green: GLushort, blue: GLushort, alpha: GLushort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4usv"]
+    pub static mut epoxy_glColor4usv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4x"]
+    pub static mut epoxy_glColor4x: ::std::option::Option<
+        unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4xOES"]
+    pub static mut epoxy_glColor4xOES: ::std::option::Option<
+        unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColor4xvOES"]
+    pub static mut epoxy_glColor4xvOES:
+        ::std::option::Option<unsafe extern "C" fn(components: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorFormatNV"]
+    pub static mut epoxy_glColorFormatNV:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, type_: GLenum, stride: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorFragmentOp1ATI"]
+    pub static mut epoxy_glColorFragmentOp1ATI: ::std::option::Option<
+        unsafe extern "C" fn(
+            op: GLenum,
+            dst: GLuint,
+            dstMask: GLuint,
+            dstMod: GLuint,
+            arg1: GLuint,
+            arg1Rep: GLuint,
+            arg1Mod: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorFragmentOp2ATI"]
+    pub static mut epoxy_glColorFragmentOp2ATI: ::std::option::Option<
+        unsafe extern "C" fn(
+            op: GLenum,
+            dst: GLuint,
+            dstMask: GLuint,
+            dstMod: GLuint,
+            arg1: GLuint,
+            arg1Rep: GLuint,
+            arg1Mod: GLuint,
+            arg2: GLuint,
+            arg2Rep: GLuint,
+            arg2Mod: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorFragmentOp3ATI"]
+    pub static mut epoxy_glColorFragmentOp3ATI: ::std::option::Option<
+        unsafe extern "C" fn(
+            op: GLenum,
+            dst: GLuint,
+            dstMask: GLuint,
+            dstMod: GLuint,
+            arg1: GLuint,
+            arg1Rep: GLuint,
+            arg1Mod: GLuint,
+            arg2: GLuint,
+            arg2Rep: GLuint,
+            arg2Mod: GLuint,
+            arg3: GLuint,
+            arg3Rep: GLuint,
+            arg3Mod: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorMask"]
+    pub static mut epoxy_glColorMask: ::std::option::Option<
+        unsafe extern "C" fn(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorMaskIndexedEXT"]
+    pub static mut epoxy_glColorMaskIndexedEXT: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorMaski"]
+    pub static mut epoxy_glColorMaski: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorMaskiEXT"]
+    pub static mut epoxy_glColorMaskiEXT: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorMaskiOES"]
+    pub static mut epoxy_glColorMaskiOES: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorMaterial"]
+    pub static mut epoxy_glColorMaterial:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorP3ui"]
+    pub static mut epoxy_glColorP3ui:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, color: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorP3uiv"]
+    pub static mut epoxy_glColorP3uiv:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, color: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorP4ui"]
+    pub static mut epoxy_glColorP4ui:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, color: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorP4uiv"]
+    pub static mut epoxy_glColorP4uiv:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, color: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorPointer"]
+    pub static mut epoxy_glColorPointer: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorPointerEXT"]
+    pub static mut epoxy_glColorPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            count: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorPointerListIBM"]
+    pub static mut epoxy_glColorPointerListIBM: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLint,
+            pointer: *mut *const ::std::os::raw::c_void,
+            ptrstride: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorPointervINTEL"]
+    pub static mut epoxy_glColorPointervINTEL: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            pointer: *mut *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorSubTable"]
+    pub static mut epoxy_glColorSubTable: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            start: GLsizei,
+            count: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorSubTableEXT"]
+    pub static mut epoxy_glColorSubTableEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            start: GLsizei,
+            count: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorTable"]
+    pub static mut epoxy_glColorTable: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            width: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            table: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorTableEXT"]
+    pub static mut epoxy_glColorTableEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalFormat: GLenum,
+            width: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            table: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorTableParameterfv"]
+    pub static mut epoxy_glColorTableParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorTableParameterfvSGI"]
+    pub static mut epoxy_glColorTableParameterfvSGI: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorTableParameteriv"]
+    pub static mut epoxy_glColorTableParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorTableParameterivSGI"]
+    pub static mut epoxy_glColorTableParameterivSGI: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glColorTableSGI"]
+    pub static mut epoxy_glColorTableSGI: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            width: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            table: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCombinerInputNV"]
+    pub static mut epoxy_glCombinerInputNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            stage: GLenum,
+            portion: GLenum,
+            variable: GLenum,
+            input: GLenum,
+            mapping: GLenum,
+            componentUsage: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCombinerOutputNV"]
+    pub static mut epoxy_glCombinerOutputNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            stage: GLenum,
+            portion: GLenum,
+            abOutput: GLenum,
+            cdOutput: GLenum,
+            sumOutput: GLenum,
+            scale: GLenum,
+            bias: GLenum,
+            abDotProduct: GLboolean,
+            cdDotProduct: GLboolean,
+            muxSum: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCombinerParameterfNV"]
+    pub static mut epoxy_glCombinerParameterfNV:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCombinerParameterfvNV"]
+    pub static mut epoxy_glCombinerParameterfvNV:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCombinerParameteriNV"]
+    pub static mut epoxy_glCombinerParameteriNV:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCombinerParameterivNV"]
+    pub static mut epoxy_glCombinerParameterivNV:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCombinerStageParameterfvNV"]
+    pub static mut epoxy_glCombinerStageParameterfvNV: ::std::option::Option<
+        unsafe extern "C" fn(stage: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCommandListSegmentsNV"]
+    pub static mut epoxy_glCommandListSegmentsNV:
+        ::std::option::Option<unsafe extern "C" fn(list: GLuint, segments: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompileCommandListNV"]
+    pub static mut epoxy_glCompileCommandListNV:
+        ::std::option::Option<unsafe extern "C" fn(list: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompileShader"]
+    pub static mut epoxy_glCompileShader:
+        ::std::option::Option<unsafe extern "C" fn(shader: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompileShaderARB"]
+    pub static mut epoxy_glCompileShaderARB:
+        ::std::option::Option<unsafe extern "C" fn(shaderObj: GLhandleARB)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompileShaderIncludeARB"]
+    pub static mut epoxy_glCompileShaderIncludeARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            shader: GLuint,
+            count: GLsizei,
+            path: *const *const GLchar,
+            length: *const GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedMultiTexImage1DEXT"]
+    pub static mut epoxy_glCompressedMultiTexImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            border: GLint,
+            imageSize: GLsizei,
+            bits: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedMultiTexImage2DEXT"]
+    pub static mut epoxy_glCompressedMultiTexImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            border: GLint,
+            imageSize: GLsizei,
+            bits: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedMultiTexImage3DEXT"]
+    pub static mut epoxy_glCompressedMultiTexImage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            border: GLint,
+            imageSize: GLsizei,
+            bits: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedMultiTexSubImage1DEXT"]
+    pub static mut epoxy_glCompressedMultiTexSubImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            width: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            bits: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedMultiTexSubImage2DEXT"]
+    pub static mut epoxy_glCompressedMultiTexSubImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            bits: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedMultiTexSubImage3DEXT"]
+    pub static mut epoxy_glCompressedMultiTexSubImage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            bits: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexImage1D"]
+    pub static mut epoxy_glCompressedTexImage1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            border: GLint,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexImage1DARB"]
+    pub static mut epoxy_glCompressedTexImage1DARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            border: GLint,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexImage2D"]
+    pub static mut epoxy_glCompressedTexImage2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            border: GLint,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexImage2DARB"]
+    pub static mut epoxy_glCompressedTexImage2DARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            border: GLint,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexImage3D"]
+    pub static mut epoxy_glCompressedTexImage3D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            border: GLint,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexImage3DARB"]
+    pub static mut epoxy_glCompressedTexImage3DARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            border: GLint,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexImage3DOES"]
+    pub static mut epoxy_glCompressedTexImage3DOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            border: GLint,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexSubImage1D"]
+    pub static mut epoxy_glCompressedTexSubImage1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            width: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexSubImage1DARB"]
+    pub static mut epoxy_glCompressedTexSubImage1DARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            width: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexSubImage2D"]
+    pub static mut epoxy_glCompressedTexSubImage2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexSubImage2DARB"]
+    pub static mut epoxy_glCompressedTexSubImage2DARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexSubImage3D"]
+    pub static mut epoxy_glCompressedTexSubImage3D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexSubImage3DARB"]
+    pub static mut epoxy_glCompressedTexSubImage3DARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTexSubImage3DOES"]
+    pub static mut epoxy_glCompressedTexSubImage3DOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTextureImage1DEXT"]
+    pub static mut epoxy_glCompressedTextureImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            border: GLint,
+            imageSize: GLsizei,
+            bits: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTextureImage2DEXT"]
+    pub static mut epoxy_glCompressedTextureImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            border: GLint,
+            imageSize: GLsizei,
+            bits: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTextureImage3DEXT"]
+    pub static mut epoxy_glCompressedTextureImage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            border: GLint,
+            imageSize: GLsizei,
+            bits: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTextureSubImage1D"]
+    pub static mut epoxy_glCompressedTextureSubImage1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            width: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTextureSubImage1DEXT"]
+    pub static mut epoxy_glCompressedTextureSubImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            width: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            bits: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTextureSubImage2D"]
+    pub static mut epoxy_glCompressedTextureSubImage2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTextureSubImage2DEXT"]
+    pub static mut epoxy_glCompressedTextureSubImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            bits: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTextureSubImage3D"]
+    pub static mut epoxy_glCompressedTextureSubImage3D: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCompressedTextureSubImage3DEXT"]
+    pub static mut epoxy_glCompressedTextureSubImage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            imageSize: GLsizei,
+            bits: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConservativeRasterParameterfNV"]
+    pub static mut epoxy_glConservativeRasterParameterfNV:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, value: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConservativeRasterParameteriNV"]
+    pub static mut epoxy_glConservativeRasterParameteriNV:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionFilter1D"]
+    pub static mut epoxy_glConvolutionFilter1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            width: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            image: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionFilter1DEXT"]
+    pub static mut epoxy_glConvolutionFilter1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            width: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            image: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionFilter2D"]
+    pub static mut epoxy_glConvolutionFilter2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            image: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionFilter2DEXT"]
+    pub static mut epoxy_glConvolutionFilter2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            image: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionParameterf"]
+    pub static mut epoxy_glConvolutionParameterf:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionParameterfEXT"]
+    pub static mut epoxy_glConvolutionParameterfEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionParameterfv"]
+    pub static mut epoxy_glConvolutionParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionParameterfvEXT"]
+    pub static mut epoxy_glConvolutionParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionParameteri"]
+    pub static mut epoxy_glConvolutionParameteri:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionParameteriEXT"]
+    pub static mut epoxy_glConvolutionParameteriEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionParameteriv"]
+    pub static mut epoxy_glConvolutionParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionParameterivEXT"]
+    pub static mut epoxy_glConvolutionParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionParameterxOES"]
+    pub static mut epoxy_glConvolutionParameterxOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glConvolutionParameterxvOES"]
+    pub static mut epoxy_glConvolutionParameterxvOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyBufferSubData"]
+    pub static mut epoxy_glCopyBufferSubData: ::std::option::Option<
+        unsafe extern "C" fn(
+            readTarget: GLenum,
+            writeTarget: GLenum,
+            readOffset: GLintptr,
+            writeOffset: GLintptr,
+            size: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyBufferSubDataNV"]
+    pub static mut epoxy_glCopyBufferSubDataNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            readTarget: GLenum,
+            writeTarget: GLenum,
+            readOffset: GLintptr,
+            writeOffset: GLintptr,
+            size: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyColorSubTable"]
+    pub static mut epoxy_glCopyColorSubTable: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, start: GLsizei, x: GLint, y: GLint, width: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyColorSubTableEXT"]
+    pub static mut epoxy_glCopyColorSubTableEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, start: GLsizei, x: GLint, y: GLint, width: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyColorTable"]
+    pub static mut epoxy_glCopyColorTable: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyColorTableSGI"]
+    pub static mut epoxy_glCopyColorTableSGI: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyConvolutionFilter1D"]
+    pub static mut epoxy_glCopyConvolutionFilter1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyConvolutionFilter1DEXT"]
+    pub static mut epoxy_glCopyConvolutionFilter1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyConvolutionFilter2D"]
+    pub static mut epoxy_glCopyConvolutionFilter2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyConvolutionFilter2DEXT"]
+    pub static mut epoxy_glCopyConvolutionFilter2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyImageSubData"]
+    pub static mut epoxy_glCopyImageSubData: ::std::option::Option<
+        unsafe extern "C" fn(
+            srcName: GLuint,
+            srcTarget: GLenum,
+            srcLevel: GLint,
+            srcX: GLint,
+            srcY: GLint,
+            srcZ: GLint,
+            dstName: GLuint,
+            dstTarget: GLenum,
+            dstLevel: GLint,
+            dstX: GLint,
+            dstY: GLint,
+            dstZ: GLint,
+            srcWidth: GLsizei,
+            srcHeight: GLsizei,
+            srcDepth: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyImageSubDataEXT"]
+    pub static mut epoxy_glCopyImageSubDataEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            srcName: GLuint,
+            srcTarget: GLenum,
+            srcLevel: GLint,
+            srcX: GLint,
+            srcY: GLint,
+            srcZ: GLint,
+            dstName: GLuint,
+            dstTarget: GLenum,
+            dstLevel: GLint,
+            dstX: GLint,
+            dstY: GLint,
+            dstZ: GLint,
+            srcWidth: GLsizei,
+            srcHeight: GLsizei,
+            srcDepth: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyImageSubDataNV"]
+    pub static mut epoxy_glCopyImageSubDataNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            srcName: GLuint,
+            srcTarget: GLenum,
+            srcLevel: GLint,
+            srcX: GLint,
+            srcY: GLint,
+            srcZ: GLint,
+            dstName: GLuint,
+            dstTarget: GLenum,
+            dstLevel: GLint,
+            dstX: GLint,
+            dstY: GLint,
+            dstZ: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyImageSubDataOES"]
+    pub static mut epoxy_glCopyImageSubDataOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            srcName: GLuint,
+            srcTarget: GLenum,
+            srcLevel: GLint,
+            srcX: GLint,
+            srcY: GLint,
+            srcZ: GLint,
+            dstName: GLuint,
+            dstTarget: GLenum,
+            dstLevel: GLint,
+            dstX: GLint,
+            dstY: GLint,
+            dstZ: GLint,
+            srcWidth: GLsizei,
+            srcHeight: GLsizei,
+            srcDepth: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyMultiTexImage1DEXT"]
+    pub static mut epoxy_glCopyMultiTexImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            border: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyMultiTexImage2DEXT"]
+    pub static mut epoxy_glCopyMultiTexImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            border: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyMultiTexSubImage1DEXT"]
+    pub static mut epoxy_glCopyMultiTexSubImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyMultiTexSubImage2DEXT"]
+    pub static mut epoxy_glCopyMultiTexSubImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyMultiTexSubImage3DEXT"]
+    pub static mut epoxy_glCopyMultiTexSubImage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyNamedBufferSubData"]
+    pub static mut epoxy_glCopyNamedBufferSubData: ::std::option::Option<
+        unsafe extern "C" fn(
+            readBuffer: GLuint,
+            writeBuffer: GLuint,
+            readOffset: GLintptr,
+            writeOffset: GLintptr,
+            size: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyPathNV"]
+    pub static mut epoxy_glCopyPathNV:
+        ::std::option::Option<unsafe extern "C" fn(resultPath: GLuint, srcPath: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyPixels"]
+    pub static mut epoxy_glCopyPixels: ::std::option::Option<
+        unsafe extern "C" fn(x: GLint, y: GLint, width: GLsizei, height: GLsizei, type_: GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTexImage1D"]
+    pub static mut epoxy_glCopyTexImage1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            border: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTexImage1DEXT"]
+    pub static mut epoxy_glCopyTexImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            border: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTexImage2D"]
+    pub static mut epoxy_glCopyTexImage2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            border: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTexImage2DEXT"]
+    pub static mut epoxy_glCopyTexImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            border: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTexSubImage1D"]
+    pub static mut epoxy_glCopyTexSubImage1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTexSubImage1DEXT"]
+    pub static mut epoxy_glCopyTexSubImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTexSubImage2D"]
+    pub static mut epoxy_glCopyTexSubImage2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTexSubImage2DEXT"]
+    pub static mut epoxy_glCopyTexSubImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTexSubImage3D"]
+    pub static mut epoxy_glCopyTexSubImage3D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTexSubImage3DEXT"]
+    pub static mut epoxy_glCopyTexSubImage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTexSubImage3DOES"]
+    pub static mut epoxy_glCopyTexSubImage3DOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTextureImage1DEXT"]
+    pub static mut epoxy_glCopyTextureImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            border: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTextureImage2DEXT"]
+    pub static mut epoxy_glCopyTextureImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            border: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTextureLevelsAPPLE"]
+    pub static mut epoxy_glCopyTextureLevelsAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            destinationTexture: GLuint,
+            sourceTexture: GLuint,
+            sourceBaseLevel: GLint,
+            sourceLevelCount: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTextureSubImage1D"]
+    pub static mut epoxy_glCopyTextureSubImage1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTextureSubImage1DEXT"]
+    pub static mut epoxy_glCopyTextureSubImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTextureSubImage2D"]
+    pub static mut epoxy_glCopyTextureSubImage2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTextureSubImage2DEXT"]
+    pub static mut epoxy_glCopyTextureSubImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTextureSubImage3D"]
+    pub static mut epoxy_glCopyTextureSubImage3D: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCopyTextureSubImage3DEXT"]
+    pub static mut epoxy_glCopyTextureSubImage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCoverFillPathInstancedNV"]
+    pub static mut epoxy_glCoverFillPathInstancedNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            numPaths: GLsizei,
+            pathNameType: GLenum,
+            paths: *const ::std::os::raw::c_void,
+            pathBase: GLuint,
+            coverMode: GLenum,
+            transformType: GLenum,
+            transformValues: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCoverFillPathNV"]
+    pub static mut epoxy_glCoverFillPathNV:
+        ::std::option::Option<unsafe extern "C" fn(path: GLuint, coverMode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCoverStrokePathInstancedNV"]
+    pub static mut epoxy_glCoverStrokePathInstancedNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            numPaths: GLsizei,
+            pathNameType: GLenum,
+            paths: *const ::std::os::raw::c_void,
+            pathBase: GLuint,
+            coverMode: GLenum,
+            transformType: GLenum,
+            transformValues: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCoverStrokePathNV"]
+    pub static mut epoxy_glCoverStrokePathNV:
+        ::std::option::Option<unsafe extern "C" fn(path: GLuint, coverMode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCoverageMaskNV"]
+    pub static mut epoxy_glCoverageMaskNV:
+        ::std::option::Option<unsafe extern "C" fn(mask: GLboolean)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCoverageModulationNV"]
+    pub static mut epoxy_glCoverageModulationNV:
+        ::std::option::Option<unsafe extern "C" fn(components: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCoverageModulationTableNV"]
+    pub static mut epoxy_glCoverageModulationTableNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCoverageOperationNV"]
+    pub static mut epoxy_glCoverageOperationNV:
+        ::std::option::Option<unsafe extern "C" fn(operation: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateBuffers"]
+    pub static mut epoxy_glCreateBuffers:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateCommandListsNV"]
+    pub static mut epoxy_glCreateCommandListsNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, lists: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateFramebuffers"]
+    pub static mut epoxy_glCreateFramebuffers:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreatePerfQueryINTEL"]
+    pub static mut epoxy_glCreatePerfQueryINTEL:
+        ::std::option::Option<unsafe extern "C" fn(queryId: GLuint, queryHandle: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateProgram"]
+    pub static mut epoxy_glCreateProgram: ::std::option::Option<unsafe extern "C" fn() -> GLuint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateProgramObjectARB"]
+    pub static mut epoxy_glCreateProgramObjectARB:
+        ::std::option::Option<unsafe extern "C" fn() -> GLhandleARB>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateProgramPipelines"]
+    pub static mut epoxy_glCreateProgramPipelines:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, pipelines: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateQueries"]
+    pub static mut epoxy_glCreateQueries:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, n: GLsizei, ids: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateRenderbuffers"]
+    pub static mut epoxy_glCreateRenderbuffers:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateSamplers"]
+    pub static mut epoxy_glCreateSamplers:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, samplers: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateShader"]
+    pub static mut epoxy_glCreateShader:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum) -> GLuint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateShaderObjectARB"]
+    pub static mut epoxy_glCreateShaderObjectARB:
+        ::std::option::Option<unsafe extern "C" fn(shaderType: GLenum) -> GLhandleARB>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateShaderProgramEXT"]
+    pub static mut epoxy_glCreateShaderProgramEXT:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, string: *const GLchar) -> GLuint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateShaderProgramv"]
+    pub static mut epoxy_glCreateShaderProgramv: ::std::option::Option<
+        unsafe extern "C" fn(type_: GLenum, count: GLsizei, strings: *const *const GLchar)
+            -> GLuint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateShaderProgramvEXT"]
+    pub static mut epoxy_glCreateShaderProgramvEXT: ::std::option::Option<
+        unsafe extern "C" fn(type_: GLenum, count: GLsizei, strings: *mut *const GLchar) -> GLuint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateStatesNV"]
+    pub static mut epoxy_glCreateStatesNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, states: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateSyncFromCLeventARB"]
+    pub static mut epoxy_glCreateSyncFromCLeventARB: ::std::option::Option<
+        unsafe extern "C" fn(context: *mut _cl_context, event: *mut _cl_event, flags: GLbitfield)
+            -> GLsync,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateTextures"]
+    pub static mut epoxy_glCreateTextures: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, n: GLsizei, textures: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateTransformFeedbacks"]
+    pub static mut epoxy_glCreateTransformFeedbacks:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCreateVertexArrays"]
+    pub static mut epoxy_glCreateVertexArrays:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCullFace"]
+    pub static mut epoxy_glCullFace: ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCullParameterdvEXT"]
+    pub static mut epoxy_glCullParameterdvEXT:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCullParameterfvEXT"]
+    pub static mut epoxy_glCullParameterfvEXT:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCurrentPaletteMatrixARB"]
+    pub static mut epoxy_glCurrentPaletteMatrixARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glCurrentPaletteMatrixOES"]
+    pub static mut epoxy_glCurrentPaletteMatrixOES:
+        ::std::option::Option<unsafe extern "C" fn(matrixpaletteindex: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDebugMessageCallback"]
+    pub static mut epoxy_glDebugMessageCallback: ::std::option::Option<
+        unsafe extern "C" fn(callback: GLDEBUGPROC, userParam: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDebugMessageCallbackAMD"]
+    pub static mut epoxy_glDebugMessageCallbackAMD: ::std::option::Option<
+        unsafe extern "C" fn(callback: GLDEBUGPROCAMD, userParam: *mut ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDebugMessageCallbackARB"]
+    pub static mut epoxy_glDebugMessageCallbackARB: ::std::option::Option<
+        unsafe extern "C" fn(callback: GLDEBUGPROCARB, userParam: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDebugMessageCallbackKHR"]
+    pub static mut epoxy_glDebugMessageCallbackKHR: ::std::option::Option<
+        unsafe extern "C" fn(callback: GLDEBUGPROCKHR, userParam: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDebugMessageControl"]
+    pub static mut epoxy_glDebugMessageControl: ::std::option::Option<
+        unsafe extern "C" fn(
+            source: GLenum,
+            type_: GLenum,
+            severity: GLenum,
+            count: GLsizei,
+            ids: *const GLuint,
+            enabled: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDebugMessageControlARB"]
+    pub static mut epoxy_glDebugMessageControlARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            source: GLenum,
+            type_: GLenum,
+            severity: GLenum,
+            count: GLsizei,
+            ids: *const GLuint,
+            enabled: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDebugMessageControlKHR"]
+    pub static mut epoxy_glDebugMessageControlKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            source: GLenum,
+            type_: GLenum,
+            severity: GLenum,
+            count: GLsizei,
+            ids: *const GLuint,
+            enabled: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDebugMessageEnableAMD"]
+    pub static mut epoxy_glDebugMessageEnableAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            category: GLenum,
+            severity: GLenum,
+            count: GLsizei,
+            ids: *const GLuint,
+            enabled: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDebugMessageInsert"]
+    pub static mut epoxy_glDebugMessageInsert: ::std::option::Option<
+        unsafe extern "C" fn(
+            source: GLenum,
+            type_: GLenum,
+            id: GLuint,
+            severity: GLenum,
+            length: GLsizei,
+            buf: *const GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDebugMessageInsertAMD"]
+    pub static mut epoxy_glDebugMessageInsertAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            category: GLenum,
+            severity: GLenum,
+            id: GLuint,
+            length: GLsizei,
+            buf: *const GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDebugMessageInsertARB"]
+    pub static mut epoxy_glDebugMessageInsertARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            source: GLenum,
+            type_: GLenum,
+            id: GLuint,
+            severity: GLenum,
+            length: GLsizei,
+            buf: *const GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDebugMessageInsertKHR"]
+    pub static mut epoxy_glDebugMessageInsertKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            source: GLenum,
+            type_: GLenum,
+            id: GLuint,
+            severity: GLenum,
+            length: GLsizei,
+            buf: *const GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeformSGIX"]
+    pub static mut epoxy_glDeformSGIX:
+        ::std::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeformationMap3dSGIX"]
+    pub static mut epoxy_glDeformationMap3dSGIX: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            u1: GLdouble,
+            u2: GLdouble,
+            ustride: GLint,
+            uorder: GLint,
+            v1: GLdouble,
+            v2: GLdouble,
+            vstride: GLint,
+            vorder: GLint,
+            w1: GLdouble,
+            w2: GLdouble,
+            wstride: GLint,
+            worder: GLint,
+            points: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeformationMap3fSGIX"]
+    pub static mut epoxy_glDeformationMap3fSGIX: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            u1: GLfloat,
+            u2: GLfloat,
+            ustride: GLint,
+            uorder: GLint,
+            v1: GLfloat,
+            v2: GLfloat,
+            vstride: GLint,
+            vorder: GLint,
+            w1: GLfloat,
+            w2: GLfloat,
+            wstride: GLint,
+            worder: GLint,
+            points: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteAsyncMarkersSGIX"]
+    pub static mut epoxy_glDeleteAsyncMarkersSGIX:
+        ::std::option::Option<unsafe extern "C" fn(marker: GLuint, range: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteBuffers"]
+    pub static mut epoxy_glDeleteBuffers:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteBuffersARB"]
+    pub static mut epoxy_glDeleteBuffersARB:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteCommandListsNV"]
+    pub static mut epoxy_glDeleteCommandListsNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, lists: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteFencesAPPLE"]
+    pub static mut epoxy_glDeleteFencesAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, fences: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteFencesNV"]
+    pub static mut epoxy_glDeleteFencesNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, fences: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteFragmentShaderATI"]
+    pub static mut epoxy_glDeleteFragmentShaderATI:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteFramebuffers"]
+    pub static mut epoxy_glDeleteFramebuffers:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteFramebuffersEXT"]
+    pub static mut epoxy_glDeleteFramebuffersEXT:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteFramebuffersOES"]
+    pub static mut epoxy_glDeleteFramebuffersOES:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteLists"]
+    pub static mut epoxy_glDeleteLists:
+        ::std::option::Option<unsafe extern "C" fn(list: GLuint, range: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteNamedStringARB"]
+    pub static mut epoxy_glDeleteNamedStringARB:
+        ::std::option::Option<unsafe extern "C" fn(namelen: GLint, name: *const GLchar)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteNamesAMD"]
+    pub static mut epoxy_glDeleteNamesAMD: ::std::option::Option<
+        unsafe extern "C" fn(identifier: GLenum, num: GLuint, names: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteObjectARB"]
+    pub static mut epoxy_glDeleteObjectARB:
+        ::std::option::Option<unsafe extern "C" fn(obj: GLhandleARB)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteOcclusionQueriesNV"]
+    pub static mut epoxy_glDeleteOcclusionQueriesNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeletePathsNV"]
+    pub static mut epoxy_glDeletePathsNV:
+        ::std::option::Option<unsafe extern "C" fn(path: GLuint, range: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeletePerfMonitorsAMD"]
+    pub static mut epoxy_glDeletePerfMonitorsAMD:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, monitors: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeletePerfQueryINTEL"]
+    pub static mut epoxy_glDeletePerfQueryINTEL:
+        ::std::option::Option<unsafe extern "C" fn(queryHandle: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteProgram"]
+    pub static mut epoxy_glDeleteProgram:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteProgramPipelines"]
+    pub static mut epoxy_glDeleteProgramPipelines:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, pipelines: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteProgramPipelinesEXT"]
+    pub static mut epoxy_glDeleteProgramPipelinesEXT:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, pipelines: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteProgramsARB"]
+    pub static mut epoxy_glDeleteProgramsARB:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteProgramsNV"]
+    pub static mut epoxy_glDeleteProgramsNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteQueries"]
+    pub static mut epoxy_glDeleteQueries:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteQueriesARB"]
+    pub static mut epoxy_glDeleteQueriesARB:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteQueriesEXT"]
+    pub static mut epoxy_glDeleteQueriesEXT:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteRenderbuffers"]
+    pub static mut epoxy_glDeleteRenderbuffers:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteRenderbuffersEXT"]
+    pub static mut epoxy_glDeleteRenderbuffersEXT:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteRenderbuffersOES"]
+    pub static mut epoxy_glDeleteRenderbuffersOES:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteSamplers"]
+    pub static mut epoxy_glDeleteSamplers:
+        ::std::option::Option<unsafe extern "C" fn(count: GLsizei, samplers: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteShader"]
+    pub static mut epoxy_glDeleteShader:
+        ::std::option::Option<unsafe extern "C" fn(shader: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteStatesNV"]
+    pub static mut epoxy_glDeleteStatesNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, states: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteSync"]
+    pub static mut epoxy_glDeleteSync: ::std::option::Option<unsafe extern "C" fn(sync: GLsync)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteSyncAPPLE"]
+    pub static mut epoxy_glDeleteSyncAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(sync: GLsync)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteTextures"]
+    pub static mut epoxy_glDeleteTextures:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, textures: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteTexturesEXT"]
+    pub static mut epoxy_glDeleteTexturesEXT:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, textures: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteTransformFeedbacks"]
+    pub static mut epoxy_glDeleteTransformFeedbacks:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteTransformFeedbacksNV"]
+    pub static mut epoxy_glDeleteTransformFeedbacksNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteVertexArrays"]
+    pub static mut epoxy_glDeleteVertexArrays:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteVertexArraysAPPLE"]
+    pub static mut epoxy_glDeleteVertexArraysAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteVertexArraysOES"]
+    pub static mut epoxy_glDeleteVertexArraysOES:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDeleteVertexShaderEXT"]
+    pub static mut epoxy_glDeleteVertexShaderEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthBoundsEXT"]
+    pub static mut epoxy_glDepthBoundsEXT:
+        ::std::option::Option<unsafe extern "C" fn(zmin: GLclampd, zmax: GLclampd)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthBoundsdNV"]
+    pub static mut epoxy_glDepthBoundsdNV:
+        ::std::option::Option<unsafe extern "C" fn(zmin: GLdouble, zmax: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthFunc"]
+    pub static mut epoxy_glDepthFunc: ::std::option::Option<unsafe extern "C" fn(func: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthMask"]
+    pub static mut epoxy_glDepthMask: ::std::option::Option<unsafe extern "C" fn(flag: GLboolean)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthRange"]
+    pub static mut epoxy_glDepthRange:
+        ::std::option::Option<unsafe extern "C" fn(hither: GLdouble, yon: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthRangeArrayfvNV"]
+    pub static mut epoxy_glDepthRangeArrayfvNV: ::std::option::Option<
+        unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthRangeArrayfvOES"]
+    pub static mut epoxy_glDepthRangeArrayfvOES: ::std::option::Option<
+        unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthRangeArrayv"]
+    pub static mut epoxy_glDepthRangeArrayv: ::std::option::Option<
+        unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthRangeIndexed"]
+    pub static mut epoxy_glDepthRangeIndexed:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, n: GLdouble, f: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthRangeIndexedfNV"]
+    pub static mut epoxy_glDepthRangeIndexedfNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, n: GLfloat, f: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthRangeIndexedfOES"]
+    pub static mut epoxy_glDepthRangeIndexedfOES:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, n: GLfloat, f: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthRangedNV"]
+    pub static mut epoxy_glDepthRangedNV:
+        ::std::option::Option<unsafe extern "C" fn(zNear: GLdouble, zFar: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthRangef"]
+    pub static mut epoxy_glDepthRangef:
+        ::std::option::Option<unsafe extern "C" fn(n: GLfloat, f: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthRangefOES"]
+    pub static mut epoxy_glDepthRangefOES:
+        ::std::option::Option<unsafe extern "C" fn(n: GLclampf, f: GLclampf)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthRangex"]
+    pub static mut epoxy_glDepthRangex:
+        ::std::option::Option<unsafe extern "C" fn(n: GLfixed, f: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDepthRangexOES"]
+    pub static mut epoxy_glDepthRangexOES:
+        ::std::option::Option<unsafe extern "C" fn(n: GLfixed, f: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDetachObjectARB"]
+    pub static mut epoxy_glDetachObjectARB: ::std::option::Option<
+        unsafe extern "C" fn(containerObj: GLhandleARB, attachedObj: GLhandleARB),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDetachShader"]
+    pub static mut epoxy_glDetachShader:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, shader: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDetailTexFuncSGIS"]
+    pub static mut epoxy_glDetailTexFuncSGIS: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, n: GLsizei, points: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisable"]
+    pub static mut epoxy_glDisable: ::std::option::Option<unsafe extern "C" fn(cap: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableClientState"]
+    pub static mut epoxy_glDisableClientState:
+        ::std::option::Option<unsafe extern "C" fn(array: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableClientStateIndexedEXT"]
+    pub static mut epoxy_glDisableClientStateIndexedEXT:
+        ::std::option::Option<unsafe extern "C" fn(array: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableClientStateiEXT"]
+    pub static mut epoxy_glDisableClientStateiEXT:
+        ::std::option::Option<unsafe extern "C" fn(array: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableDriverControlQCOM"]
+    pub static mut epoxy_glDisableDriverControlQCOM:
+        ::std::option::Option<unsafe extern "C" fn(driverControl: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableIndexedEXT"]
+    pub static mut epoxy_glDisableIndexedEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableVariantClientStateEXT"]
+    pub static mut epoxy_glDisableVariantClientStateEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableVertexArrayAttrib"]
+    pub static mut epoxy_glDisableVertexArrayAttrib:
+        ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableVertexArrayAttribEXT"]
+    pub static mut epoxy_glDisableVertexArrayAttribEXT:
+        ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableVertexArrayEXT"]
+    pub static mut epoxy_glDisableVertexArrayEXT:
+        ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, array: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableVertexAttribAPPLE"]
+    pub static mut epoxy_glDisableVertexAttribAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableVertexAttribArray"]
+    pub static mut epoxy_glDisableVertexAttribArray:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableVertexAttribArrayARB"]
+    pub static mut epoxy_glDisableVertexAttribArrayARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisablei"]
+    pub static mut epoxy_glDisablei:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableiEXT"]
+    pub static mut epoxy_glDisableiEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableiNV"]
+    pub static mut epoxy_glDisableiNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDisableiOES"]
+    pub static mut epoxy_glDisableiOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDiscardFramebufferEXT"]
+    pub static mut epoxy_glDiscardFramebufferEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, numAttachments: GLsizei, attachments: *const GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDispatchCompute"]
+    pub static mut epoxy_glDispatchCompute: ::std::option::Option<
+        unsafe extern "C" fn(num_groups_x: GLuint, num_groups_y: GLuint, num_groups_z: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDispatchComputeGroupSizeARB"]
+    pub static mut epoxy_glDispatchComputeGroupSizeARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            num_groups_x: GLuint,
+            num_groups_y: GLuint,
+            num_groups_z: GLuint,
+            group_size_x: GLuint,
+            group_size_y: GLuint,
+            group_size_z: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDispatchComputeIndirect"]
+    pub static mut epoxy_glDispatchComputeIndirect:
+        ::std::option::Option<unsafe extern "C" fn(indirect: GLintptr)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawArrays"]
+    pub static mut epoxy_glDrawArrays:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawArraysEXT"]
+    pub static mut epoxy_glDrawArraysEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawArraysIndirect"]
+    pub static mut epoxy_glDrawArraysIndirect: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, indirect: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawArraysInstanced"]
+    pub static mut epoxy_glDrawArraysInstanced: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei, instancecount: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawArraysInstancedANGLE"]
+    pub static mut epoxy_glDrawArraysInstancedANGLE: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawArraysInstancedARB"]
+    pub static mut epoxy_glDrawArraysInstancedARB: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawArraysInstancedBaseInstance"]
+    pub static mut epoxy_glDrawArraysInstancedBaseInstance: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            first: GLint,
+            count: GLsizei,
+            instancecount: GLsizei,
+            baseinstance: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawArraysInstancedBaseInstanceEXT"]
+    pub static mut epoxy_glDrawArraysInstancedBaseInstanceEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            first: GLint,
+            count: GLsizei,
+            instancecount: GLsizei,
+            baseinstance: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawArraysInstancedEXT"]
+    pub static mut epoxy_glDrawArraysInstancedEXT: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, start: GLint, count: GLsizei, primcount: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawArraysInstancedNV"]
+    pub static mut epoxy_glDrawArraysInstancedNV: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawBuffer"]
+    pub static mut epoxy_glDrawBuffer: ::std::option::Option<unsafe extern "C" fn(buf: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawBuffers"]
+    pub static mut epoxy_glDrawBuffers:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, bufs: *const GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawBuffersARB"]
+    pub static mut epoxy_glDrawBuffersARB:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, bufs: *const GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawBuffersATI"]
+    pub static mut epoxy_glDrawBuffersATI:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, bufs: *const GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawBuffersEXT"]
+    pub static mut epoxy_glDrawBuffersEXT:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, bufs: *const GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawBuffersIndexedEXT"]
+    pub static mut epoxy_glDrawBuffersIndexedEXT: ::std::option::Option<
+        unsafe extern "C" fn(n: GLint, location: *const GLenum, indices: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawBuffersNV"]
+    pub static mut epoxy_glDrawBuffersNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, bufs: *const GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawCommandsAddressNV"]
+    pub static mut epoxy_glDrawCommandsAddressNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            primitiveMode: GLenum,
+            indirects: *const GLuint64,
+            sizes: *const GLsizei,
+            count: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawCommandsNV"]
+    pub static mut epoxy_glDrawCommandsNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            primitiveMode: GLenum,
+            buffer: GLuint,
+            indirects: *const GLintptr,
+            sizes: *const GLsizei,
+            count: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawCommandsStatesAddressNV"]
+    pub static mut epoxy_glDrawCommandsStatesAddressNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            indirects: *const GLuint64,
+            sizes: *const GLsizei,
+            states: *const GLuint,
+            fbos: *const GLuint,
+            count: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawCommandsStatesNV"]
+    pub static mut epoxy_glDrawCommandsStatesNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            indirects: *const GLintptr,
+            sizes: *const GLsizei,
+            states: *const GLuint,
+            fbos: *const GLuint,
+            count: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementArrayAPPLE"]
+    pub static mut epoxy_glDrawElementArrayAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementArrayATI"]
+    pub static mut epoxy_glDrawElementArrayATI:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, count: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElements"]
+    pub static mut epoxy_glDrawElements: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsBaseVertex"]
+    pub static mut epoxy_glDrawElementsBaseVertex: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            basevertex: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsBaseVertexEXT"]
+    pub static mut epoxy_glDrawElementsBaseVertexEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            basevertex: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsBaseVertexOES"]
+    pub static mut epoxy_glDrawElementsBaseVertexOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            basevertex: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsIndirect"]
+    pub static mut epoxy_glDrawElementsIndirect: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, type_: GLenum, indirect: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsInstanced"]
+    pub static mut epoxy_glDrawElementsInstanced: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            instancecount: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsInstancedANGLE"]
+    pub static mut epoxy_glDrawElementsInstancedANGLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            primcount: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsInstancedARB"]
+    pub static mut epoxy_glDrawElementsInstancedARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            primcount: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsInstancedBaseInstance"]
+    pub static mut epoxy_glDrawElementsInstancedBaseInstance: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            instancecount: GLsizei,
+            baseinstance: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsInstancedBaseInstanceEXT"]
+    pub static mut epoxy_glDrawElementsInstancedBaseInstanceEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            instancecount: GLsizei,
+            baseinstance: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsInstancedBaseVertex"]
+    pub static mut epoxy_glDrawElementsInstancedBaseVertex: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            instancecount: GLsizei,
+            basevertex: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsInstancedBaseVertexBaseInstance"]
+    pub static mut epoxy_glDrawElementsInstancedBaseVertexBaseInstance: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            instancecount: GLsizei,
+            basevertex: GLint,
+            baseinstance: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsInstancedBaseVertexBaseInstanceEXT"]
+    pub static mut epoxy_glDrawElementsInstancedBaseVertexBaseInstanceEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            instancecount: GLsizei,
+            basevertex: GLint,
+            baseinstance: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsInstancedBaseVertexEXT"]
+    pub static mut epoxy_glDrawElementsInstancedBaseVertexEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            instancecount: GLsizei,
+            basevertex: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsInstancedBaseVertexOES"]
+    pub static mut epoxy_glDrawElementsInstancedBaseVertexOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            instancecount: GLsizei,
+            basevertex: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsInstancedEXT"]
+    pub static mut epoxy_glDrawElementsInstancedEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            primcount: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawElementsInstancedNV"]
+    pub static mut epoxy_glDrawElementsInstancedNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            primcount: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawMeshArraysSUN"]
+    pub static mut epoxy_glDrawMeshArraysSUN: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei, width: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawPixels"]
+    pub static mut epoxy_glDrawPixels: ::std::option::Option<
+        unsafe extern "C" fn(
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawRangeElementArrayAPPLE"]
+    pub static mut epoxy_glDrawRangeElementArrayAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            start: GLuint,
+            end: GLuint,
+            first: GLint,
+            count: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawRangeElementArrayATI"]
+    pub static mut epoxy_glDrawRangeElementArrayATI: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawRangeElements"]
+    pub static mut epoxy_glDrawRangeElements: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            start: GLuint,
+            end: GLuint,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawRangeElementsBaseVertex"]
+    pub static mut epoxy_glDrawRangeElementsBaseVertex: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            start: GLuint,
+            end: GLuint,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            basevertex: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawRangeElementsBaseVertexEXT"]
+    pub static mut epoxy_glDrawRangeElementsBaseVertexEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            start: GLuint,
+            end: GLuint,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            basevertex: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawRangeElementsBaseVertexOES"]
+    pub static mut epoxy_glDrawRangeElementsBaseVertexOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            start: GLuint,
+            end: GLuint,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+            basevertex: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawRangeElementsEXT"]
+    pub static mut epoxy_glDrawRangeElementsEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            start: GLuint,
+            end: GLuint,
+            count: GLsizei,
+            type_: GLenum,
+            indices: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTexfOES"]
+    pub static mut epoxy_glDrawTexfOES: ::std::option::Option<
+        unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat, width: GLfloat, height: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTexfvOES"]
+    pub static mut epoxy_glDrawTexfvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTexiOES"]
+    pub static mut epoxy_glDrawTexiOES: ::std::option::Option<
+        unsafe extern "C" fn(x: GLint, y: GLint, z: GLint, width: GLint, height: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTexivOES"]
+    pub static mut epoxy_glDrawTexivOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTexsOES"]
+    pub static mut epoxy_glDrawTexsOES: ::std::option::Option<
+        unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort, width: GLshort, height: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTexsvOES"]
+    pub static mut epoxy_glDrawTexsvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTextureNV"]
+    pub static mut epoxy_glDrawTextureNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            sampler: GLuint,
+            x0: GLfloat,
+            y0: GLfloat,
+            x1: GLfloat,
+            y1: GLfloat,
+            z: GLfloat,
+            s0: GLfloat,
+            t0: GLfloat,
+            s1: GLfloat,
+            t1: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTexxOES"]
+    pub static mut epoxy_glDrawTexxOES: ::std::option::Option<
+        unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed, width: GLfixed, height: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTexxvOES"]
+    pub static mut epoxy_glDrawTexxvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTransformFeedback"]
+    pub static mut epoxy_glDrawTransformFeedback:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTransformFeedbackEXT"]
+    pub static mut epoxy_glDrawTransformFeedbackEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTransformFeedbackInstanced"]
+    pub static mut epoxy_glDrawTransformFeedbackInstanced: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, id: GLuint, instancecount: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTransformFeedbackInstancedEXT"]
+    pub static mut epoxy_glDrawTransformFeedbackInstancedEXT: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, id: GLuint, instancecount: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTransformFeedbackNV"]
+    pub static mut epoxy_glDrawTransformFeedbackNV:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTransformFeedbackStream"]
+    pub static mut epoxy_glDrawTransformFeedbackStream:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, id: GLuint, stream: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glDrawTransformFeedbackStreamInstanced"]
+    pub static mut epoxy_glDrawTransformFeedbackStreamInstanced: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, id: GLuint, stream: GLuint, instancecount: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEGLImageTargetRenderbufferStorageOES"]
+    pub static mut epoxy_glEGLImageTargetRenderbufferStorageOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, image: GLeglImageOES)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEGLImageTargetTexture2DOES"]
+    pub static mut epoxy_glEGLImageTargetTexture2DOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, image: GLeglImageOES)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEdgeFlag"]
+    pub static mut epoxy_glEdgeFlag: ::std::option::Option<unsafe extern "C" fn(flag: GLboolean)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEdgeFlagFormatNV"]
+    pub static mut epoxy_glEdgeFlagFormatNV:
+        ::std::option::Option<unsafe extern "C" fn(stride: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEdgeFlagPointer"]
+    pub static mut epoxy_glEdgeFlagPointer: ::std::option::Option<
+        unsafe extern "C" fn(stride: GLsizei, pointer: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEdgeFlagPointerEXT"]
+    pub static mut epoxy_glEdgeFlagPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(stride: GLsizei, count: GLsizei, pointer: *const GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEdgeFlagPointerListIBM"]
+    pub static mut epoxy_glEdgeFlagPointerListIBM: ::std::option::Option<
+        unsafe extern "C" fn(stride: GLint, pointer: *mut *const GLboolean, ptrstride: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEdgeFlagv"]
+    pub static mut epoxy_glEdgeFlagv:
+        ::std::option::Option<unsafe extern "C" fn(flag: *const GLboolean)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glElementPointerAPPLE"]
+    pub static mut epoxy_glElementPointerAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(type_: GLenum, pointer: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glElementPointerATI"]
+    pub static mut epoxy_glElementPointerATI: ::std::option::Option<
+        unsafe extern "C" fn(type_: GLenum, pointer: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnable"]
+    pub static mut epoxy_glEnable: ::std::option::Option<unsafe extern "C" fn(cap: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableClientState"]
+    pub static mut epoxy_glEnableClientState:
+        ::std::option::Option<unsafe extern "C" fn(array: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableClientStateIndexedEXT"]
+    pub static mut epoxy_glEnableClientStateIndexedEXT:
+        ::std::option::Option<unsafe extern "C" fn(array: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableClientStateiEXT"]
+    pub static mut epoxy_glEnableClientStateiEXT:
+        ::std::option::Option<unsafe extern "C" fn(array: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableDriverControlQCOM"]
+    pub static mut epoxy_glEnableDriverControlQCOM:
+        ::std::option::Option<unsafe extern "C" fn(driverControl: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableIndexedEXT"]
+    pub static mut epoxy_glEnableIndexedEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableVariantClientStateEXT"]
+    pub static mut epoxy_glEnableVariantClientStateEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableVertexArrayAttrib"]
+    pub static mut epoxy_glEnableVertexArrayAttrib:
+        ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableVertexArrayAttribEXT"]
+    pub static mut epoxy_glEnableVertexArrayAttribEXT:
+        ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableVertexArrayEXT"]
+    pub static mut epoxy_glEnableVertexArrayEXT:
+        ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, array: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableVertexAttribAPPLE"]
+    pub static mut epoxy_glEnableVertexAttribAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableVertexAttribArray"]
+    pub static mut epoxy_glEnableVertexAttribArray:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableVertexAttribArrayARB"]
+    pub static mut epoxy_glEnableVertexAttribArrayARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnablei"]
+    pub static mut epoxy_glEnablei:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableiEXT"]
+    pub static mut epoxy_glEnableiEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableiNV"]
+    pub static mut epoxy_glEnableiNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnableiOES"]
+    pub static mut epoxy_glEnableiOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEnd"]
+    pub static mut epoxy_glEnd: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndConditionalRender"]
+    pub static mut epoxy_glEndConditionalRender: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndConditionalRenderNV"]
+    pub static mut epoxy_glEndConditionalRenderNV: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndConditionalRenderNVX"]
+    pub static mut epoxy_glEndConditionalRenderNVX: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndFragmentShaderATI"]
+    pub static mut epoxy_glEndFragmentShaderATI: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndList"]
+    pub static mut epoxy_glEndList: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndOcclusionQueryNV"]
+    pub static mut epoxy_glEndOcclusionQueryNV: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndPerfMonitorAMD"]
+    pub static mut epoxy_glEndPerfMonitorAMD:
+        ::std::option::Option<unsafe extern "C" fn(monitor: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndPerfQueryINTEL"]
+    pub static mut epoxy_glEndPerfQueryINTEL:
+        ::std::option::Option<unsafe extern "C" fn(queryHandle: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndQuery"]
+    pub static mut epoxy_glEndQuery: ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndQueryARB"]
+    pub static mut epoxy_glEndQueryARB: ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndQueryEXT"]
+    pub static mut epoxy_glEndQueryEXT: ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndQueryIndexed"]
+    pub static mut epoxy_glEndQueryIndexed:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndTilingQCOM"]
+    pub static mut epoxy_glEndTilingQCOM:
+        ::std::option::Option<unsafe extern "C" fn(preserveMask: GLbitfield)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndTransformFeedback"]
+    pub static mut epoxy_glEndTransformFeedback: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndTransformFeedbackEXT"]
+    pub static mut epoxy_glEndTransformFeedbackEXT: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndTransformFeedbackNV"]
+    pub static mut epoxy_glEndTransformFeedbackNV: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndVertexShaderEXT"]
+    pub static mut epoxy_glEndVertexShaderEXT: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEndVideoCaptureNV"]
+    pub static mut epoxy_glEndVideoCaptureNV:
+        ::std::option::Option<unsafe extern "C" fn(video_capture_slot: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalCoord1d"]
+    pub static mut epoxy_glEvalCoord1d: ::std::option::Option<unsafe extern "C" fn(u: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalCoord1dv"]
+    pub static mut epoxy_glEvalCoord1dv:
+        ::std::option::Option<unsafe extern "C" fn(u: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalCoord1f"]
+    pub static mut epoxy_glEvalCoord1f: ::std::option::Option<unsafe extern "C" fn(u: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalCoord1fv"]
+    pub static mut epoxy_glEvalCoord1fv:
+        ::std::option::Option<unsafe extern "C" fn(u: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalCoord1xOES"]
+    pub static mut epoxy_glEvalCoord1xOES: ::std::option::Option<unsafe extern "C" fn(u: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalCoord1xvOES"]
+    pub static mut epoxy_glEvalCoord1xvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalCoord2d"]
+    pub static mut epoxy_glEvalCoord2d:
+        ::std::option::Option<unsafe extern "C" fn(u: GLdouble, v: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalCoord2dv"]
+    pub static mut epoxy_glEvalCoord2dv:
+        ::std::option::Option<unsafe extern "C" fn(u: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalCoord2f"]
+    pub static mut epoxy_glEvalCoord2f:
+        ::std::option::Option<unsafe extern "C" fn(u: GLfloat, v: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalCoord2fv"]
+    pub static mut epoxy_glEvalCoord2fv:
+        ::std::option::Option<unsafe extern "C" fn(u: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalCoord2xOES"]
+    pub static mut epoxy_glEvalCoord2xOES:
+        ::std::option::Option<unsafe extern "C" fn(u: GLfixed, v: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalCoord2xvOES"]
+    pub static mut epoxy_glEvalCoord2xvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalMapsNV"]
+    pub static mut epoxy_glEvalMapsNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalMesh1"]
+    pub static mut epoxy_glEvalMesh1:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, i1: GLint, i2: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalMesh2"]
+    pub static mut epoxy_glEvalMesh2: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, i1: GLint, i2: GLint, j1: GLint, j2: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalPoint1"]
+    pub static mut epoxy_glEvalPoint1: ::std::option::Option<unsafe extern "C" fn(i: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvalPoint2"]
+    pub static mut epoxy_glEvalPoint2:
+        ::std::option::Option<unsafe extern "C" fn(i: GLint, j: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glEvaluateDepthValuesARB"]
+    pub static mut epoxy_glEvaluateDepthValuesARB: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExecuteProgramNV"]
+    pub static mut epoxy_glExecuteProgramNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, id: GLuint, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExtGetBufferPointervQCOM"]
+    pub static mut epoxy_glExtGetBufferPointervQCOM: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, params: *mut *mut ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExtGetBuffersQCOM"]
+    pub static mut epoxy_glExtGetBuffersQCOM: ::std::option::Option<
+        unsafe extern "C" fn(buffers: *mut GLuint, maxBuffers: GLint, numBuffers: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExtGetFramebuffersQCOM"]
+    pub static mut epoxy_glExtGetFramebuffersQCOM: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffers: *mut GLuint,
+            maxFramebuffers: GLint,
+            numFramebuffers: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExtGetProgramBinarySourceQCOM"]
+    pub static mut epoxy_glExtGetProgramBinarySourceQCOM: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            shadertype: GLenum,
+            source: *mut GLchar,
+            length: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExtGetProgramsQCOM"]
+    pub static mut epoxy_glExtGetProgramsQCOM: ::std::option::Option<
+        unsafe extern "C" fn(programs: *mut GLuint, maxPrograms: GLint, numPrograms: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExtGetRenderbuffersQCOM"]
+    pub static mut epoxy_glExtGetRenderbuffersQCOM: ::std::option::Option<
+        unsafe extern "C" fn(
+            renderbuffers: *mut GLuint,
+            maxRenderbuffers: GLint,
+            numRenderbuffers: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExtGetShadersQCOM"]
+    pub static mut epoxy_glExtGetShadersQCOM: ::std::option::Option<
+        unsafe extern "C" fn(shaders: *mut GLuint, maxShaders: GLint, numShaders: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExtGetTexLevelParameterivQCOM"]
+    pub static mut epoxy_glExtGetTexLevelParameterivQCOM: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            face: GLenum,
+            level: GLint,
+            pname: GLenum,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExtGetTexSubImageQCOM"]
+    pub static mut epoxy_glExtGetTexSubImageQCOM: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            texels: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExtGetTexturesQCOM"]
+    pub static mut epoxy_glExtGetTexturesQCOM: ::std::option::Option<
+        unsafe extern "C" fn(textures: *mut GLuint, maxTextures: GLint, numTextures: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExtIsProgramBinaryQCOM"]
+    pub static mut epoxy_glExtIsProgramBinaryQCOM:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExtTexObjectStateOverrideiQCOM"]
+    pub static mut epoxy_glExtTexObjectStateOverrideiQCOM:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glExtractComponentEXT"]
+    pub static mut epoxy_glExtractComponentEXT:
+        ::std::option::Option<unsafe extern "C" fn(res: GLuint, src: GLuint, num: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFeedbackBuffer"]
+    pub static mut epoxy_glFeedbackBuffer: ::std::option::Option<
+        unsafe extern "C" fn(size: GLsizei, type_: GLenum, buffer: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFeedbackBufferxOES"]
+    pub static mut epoxy_glFeedbackBufferxOES: ::std::option::Option<
+        unsafe extern "C" fn(n: GLsizei, type_: GLenum, buffer: *const GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFenceSync"]
+    pub static mut epoxy_glFenceSync:
+        ::std::option::Option<unsafe extern "C" fn(condition: GLenum, flags: GLbitfield) -> GLsync>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFenceSyncAPPLE"]
+    pub static mut epoxy_glFenceSyncAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(condition: GLenum, flags: GLbitfield) -> GLsync>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFinalCombinerInputNV"]
+    pub static mut epoxy_glFinalCombinerInputNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            variable: GLenum,
+            input: GLenum,
+            mapping: GLenum,
+            componentUsage: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFinish"]
+    pub static mut epoxy_glFinish: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFinishAsyncSGIX"]
+    pub static mut epoxy_glFinishAsyncSGIX:
+        ::std::option::Option<unsafe extern "C" fn(markerp: *mut GLuint) -> GLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFinishFenceAPPLE"]
+    pub static mut epoxy_glFinishFenceAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(fence: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFinishFenceNV"]
+    pub static mut epoxy_glFinishFenceNV:
+        ::std::option::Option<unsafe extern "C" fn(fence: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFinishObjectAPPLE"]
+    pub static mut epoxy_glFinishObjectAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(object: GLenum, name: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFinishTextureSUNX"]
+    pub static mut epoxy_glFinishTextureSUNX: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFlush"]
+    pub static mut epoxy_glFlush: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFlushMappedBufferRange"]
+    pub static mut epoxy_glFlushMappedBufferRange: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, offset: GLintptr, length: GLsizeiptr),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFlushMappedBufferRangeAPPLE"]
+    pub static mut epoxy_glFlushMappedBufferRangeAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, offset: GLintptr, size: GLsizeiptr),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFlushMappedBufferRangeEXT"]
+    pub static mut epoxy_glFlushMappedBufferRangeEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, offset: GLintptr, length: GLsizeiptr),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFlushMappedNamedBufferRange"]
+    pub static mut epoxy_glFlushMappedNamedBufferRange: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, length: GLsizeiptr),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFlushMappedNamedBufferRangeEXT"]
+    pub static mut epoxy_glFlushMappedNamedBufferRangeEXT: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, length: GLsizeiptr),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFlushPixelDataRangeNV"]
+    pub static mut epoxy_glFlushPixelDataRangeNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFlushRasterSGIX"]
+    pub static mut epoxy_glFlushRasterSGIX: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFlushStaticDataIBM"]
+    pub static mut epoxy_glFlushStaticDataIBM:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFlushVertexArrayRangeAPPLE"]
+    pub static mut epoxy_glFlushVertexArrayRangeAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(length: GLsizei, pointer: *mut ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFlushVertexArrayRangeNV"]
+    pub static mut epoxy_glFlushVertexArrayRangeNV: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoordFormatNV"]
+    pub static mut epoxy_glFogCoordFormatNV:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, stride: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoordPointer"]
+    pub static mut epoxy_glFogCoordPointer: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoordPointerEXT"]
+    pub static mut epoxy_glFogCoordPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoordPointerListIBM"]
+    pub static mut epoxy_glFogCoordPointerListIBM: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            stride: GLint,
+            pointer: *mut *const ::std::os::raw::c_void,
+            ptrstride: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoordd"]
+    pub static mut epoxy_glFogCoordd: ::std::option::Option<unsafe extern "C" fn(coord: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoorddEXT"]
+    pub static mut epoxy_glFogCoorddEXT:
+        ::std::option::Option<unsafe extern "C" fn(coord: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoorddv"]
+    pub static mut epoxy_glFogCoorddv:
+        ::std::option::Option<unsafe extern "C" fn(coord: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoorddvEXT"]
+    pub static mut epoxy_glFogCoorddvEXT:
+        ::std::option::Option<unsafe extern "C" fn(coord: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoordf"]
+    pub static mut epoxy_glFogCoordf: ::std::option::Option<unsafe extern "C" fn(coord: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoordfEXT"]
+    pub static mut epoxy_glFogCoordfEXT:
+        ::std::option::Option<unsafe extern "C" fn(coord: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoordfv"]
+    pub static mut epoxy_glFogCoordfv:
+        ::std::option::Option<unsafe extern "C" fn(coord: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoordfvEXT"]
+    pub static mut epoxy_glFogCoordfvEXT:
+        ::std::option::Option<unsafe extern "C" fn(coord: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoordhNV"]
+    pub static mut epoxy_glFogCoordhNV: ::std::option::Option<unsafe extern "C" fn(fog: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogCoordhvNV"]
+    pub static mut epoxy_glFogCoordhvNV:
+        ::std::option::Option<unsafe extern "C" fn(fog: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogFuncSGIS"]
+    pub static mut epoxy_glFogFuncSGIS:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, points: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogf"]
+    pub static mut epoxy_glFogf:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogfv"]
+    pub static mut epoxy_glFogfv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogi"]
+    pub static mut epoxy_glFogi:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogiv"]
+    pub static mut epoxy_glFogiv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogx"]
+    pub static mut epoxy_glFogx:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogxOES"]
+    pub static mut epoxy_glFogxOES:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogxv"]
+    pub static mut epoxy_glFogxv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFogxvOES"]
+    pub static mut epoxy_glFogxvOES:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentColorMaterialSGIX"]
+    pub static mut epoxy_glFragmentColorMaterialSGIX:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentCoverageColorNV"]
+    pub static mut epoxy_glFragmentCoverageColorNV:
+        ::std::option::Option<unsafe extern "C" fn(color: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentLightModelfSGIX"]
+    pub static mut epoxy_glFragmentLightModelfSGIX:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentLightModelfvSGIX"]
+    pub static mut epoxy_glFragmentLightModelfvSGIX:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentLightModeliSGIX"]
+    pub static mut epoxy_glFragmentLightModeliSGIX:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentLightModelivSGIX"]
+    pub static mut epoxy_glFragmentLightModelivSGIX:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentLightfSGIX"]
+    pub static mut epoxy_glFragmentLightfSGIX:
+        ::std::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentLightfvSGIX"]
+    pub static mut epoxy_glFragmentLightfvSGIX: ::std::option::Option<
+        unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentLightiSGIX"]
+    pub static mut epoxy_glFragmentLightiSGIX:
+        ::std::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentLightivSGIX"]
+    pub static mut epoxy_glFragmentLightivSGIX: ::std::option::Option<
+        unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentMaterialfSGIX"]
+    pub static mut epoxy_glFragmentMaterialfSGIX:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentMaterialfvSGIX"]
+    pub static mut epoxy_glFragmentMaterialfvSGIX: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentMaterialiSGIX"]
+    pub static mut epoxy_glFragmentMaterialiSGIX:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFragmentMaterialivSGIX"]
+    pub static mut epoxy_glFragmentMaterialivSGIX: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFrameTerminatorGREMEDY"]
+    pub static mut epoxy_glFrameTerminatorGREMEDY: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFrameZoomSGIX"]
+    pub static mut epoxy_glFrameZoomSGIX:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferDrawBufferEXT"]
+    pub static mut epoxy_glFramebufferDrawBufferEXT:
+        ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferDrawBuffersEXT"]
+    pub static mut epoxy_glFramebufferDrawBuffersEXT: ::std::option::Option<
+        unsafe extern "C" fn(framebuffer: GLuint, n: GLsizei, bufs: *const GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferParameteri"]
+    pub static mut epoxy_glFramebufferParameteri:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferPixelLocalStorageSizeEXT"]
+    pub static mut epoxy_glFramebufferPixelLocalStorageSizeEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLuint, size: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferReadBufferEXT"]
+    pub static mut epoxy_glFramebufferReadBufferEXT:
+        ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferRenderbuffer"]
+    pub static mut epoxy_glFramebufferRenderbuffer: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            renderbuffertarget: GLenum,
+            renderbuffer: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferRenderbufferEXT"]
+    pub static mut epoxy_glFramebufferRenderbufferEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            renderbuffertarget: GLenum,
+            renderbuffer: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferRenderbufferOES"]
+    pub static mut epoxy_glFramebufferRenderbufferOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            renderbuffertarget: GLenum,
+            renderbuffer: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferSampleLocationsfvARB"]
+    pub static mut epoxy_glFramebufferSampleLocationsfvARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, start: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferSampleLocationsfvNV"]
+    pub static mut epoxy_glFramebufferSampleLocationsfvNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, start: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferSamplePositionsfvAMD"]
+    pub static mut epoxy_glFramebufferSamplePositionsfvAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            numsamples: GLuint,
+            pixelindex: GLuint,
+            values: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTexture"]
+    pub static mut epoxy_glFramebufferTexture: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, attachment: GLenum, texture: GLuint, level: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTexture1D"]
+    pub static mut epoxy_glFramebufferTexture1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTexture1DEXT"]
+    pub static mut epoxy_glFramebufferTexture1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTexture2D"]
+    pub static mut epoxy_glFramebufferTexture2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTexture2DDownsampleIMG"]
+    pub static mut epoxy_glFramebufferTexture2DDownsampleIMG: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+            xscale: GLint,
+            yscale: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTexture2DEXT"]
+    pub static mut epoxy_glFramebufferTexture2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTexture2DMultisampleEXT"]
+    pub static mut epoxy_glFramebufferTexture2DMultisampleEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+            samples: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTexture2DMultisampleIMG"]
+    pub static mut epoxy_glFramebufferTexture2DMultisampleIMG: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+            samples: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTexture2DOES"]
+    pub static mut epoxy_glFramebufferTexture2DOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTexture3D"]
+    pub static mut epoxy_glFramebufferTexture3D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+            zoffset: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTexture3DEXT"]
+    pub static mut epoxy_glFramebufferTexture3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+            zoffset: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTexture3DOES"]
+    pub static mut epoxy_glFramebufferTexture3DOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+            zoffset: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTextureARB"]
+    pub static mut epoxy_glFramebufferTextureARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, attachment: GLenum, texture: GLuint, level: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTextureEXT"]
+    pub static mut epoxy_glFramebufferTextureEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, attachment: GLenum, texture: GLuint, level: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTextureFaceARB"]
+    pub static mut epoxy_glFramebufferTextureFaceARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            texture: GLuint,
+            level: GLint,
+            face: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTextureFaceEXT"]
+    pub static mut epoxy_glFramebufferTextureFaceEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            texture: GLuint,
+            level: GLint,
+            face: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTextureLayer"]
+    pub static mut epoxy_glFramebufferTextureLayer: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            texture: GLuint,
+            level: GLint,
+            layer: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTextureLayerARB"]
+    pub static mut epoxy_glFramebufferTextureLayerARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            texture: GLuint,
+            level: GLint,
+            layer: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTextureLayerDownsampleIMG"]
+    pub static mut epoxy_glFramebufferTextureLayerDownsampleIMG: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            texture: GLuint,
+            level: GLint,
+            layer: GLint,
+            xscale: GLint,
+            yscale: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTextureLayerEXT"]
+    pub static mut epoxy_glFramebufferTextureLayerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            texture: GLuint,
+            level: GLint,
+            layer: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTextureMultisampleMultiviewOVR"]
+    pub static mut epoxy_glFramebufferTextureMultisampleMultiviewOVR: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            texture: GLuint,
+            level: GLint,
+            samples: GLsizei,
+            baseViewIndex: GLint,
+            numViews: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTextureMultiviewOVR"]
+    pub static mut epoxy_glFramebufferTextureMultiviewOVR: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            attachment: GLenum,
+            texture: GLuint,
+            level: GLint,
+            baseViewIndex: GLint,
+            numViews: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFramebufferTextureOES"]
+    pub static mut epoxy_glFramebufferTextureOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, attachment: GLenum, texture: GLuint, level: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFreeObjectBufferATI"]
+    pub static mut epoxy_glFreeObjectBufferATI:
+        ::std::option::Option<unsafe extern "C" fn(buffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFrontFace"]
+    pub static mut epoxy_glFrontFace: ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFrustum"]
+    pub static mut epoxy_glFrustum: ::std::option::Option<
+        unsafe extern "C" fn(
+            left: GLdouble,
+            right: GLdouble,
+            bottom: GLdouble,
+            top: GLdouble,
+            zNear: GLdouble,
+            zFar: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFrustumf"]
+    pub static mut epoxy_glFrustumf: ::std::option::Option<
+        unsafe extern "C" fn(
+            l: GLfloat,
+            r: GLfloat,
+            b: GLfloat,
+            t: GLfloat,
+            n: GLfloat,
+            f: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFrustumfOES"]
+    pub static mut epoxy_glFrustumfOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            l: GLfloat,
+            r: GLfloat,
+            b: GLfloat,
+            t: GLfloat,
+            n: GLfloat,
+            f: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFrustumx"]
+    pub static mut epoxy_glFrustumx: ::std::option::Option<
+        unsafe extern "C" fn(
+            l: GLfixed,
+            r: GLfixed,
+            b: GLfixed,
+            t: GLfixed,
+            n: GLfixed,
+            f: GLfixed,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glFrustumxOES"]
+    pub static mut epoxy_glFrustumxOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            l: GLfixed,
+            r: GLfixed,
+            b: GLfixed,
+            t: GLfixed,
+            n: GLfixed,
+            f: GLfixed,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenAsyncMarkersSGIX"]
+    pub static mut epoxy_glGenAsyncMarkersSGIX:
+        ::std::option::Option<unsafe extern "C" fn(range: GLsizei) -> GLuint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenBuffers"]
+    pub static mut epoxy_glGenBuffers:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenBuffersARB"]
+    pub static mut epoxy_glGenBuffersARB:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenFencesAPPLE"]
+    pub static mut epoxy_glGenFencesAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, fences: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenFencesNV"]
+    pub static mut epoxy_glGenFencesNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, fences: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenFragmentShadersATI"]
+    pub static mut epoxy_glGenFragmentShadersATI:
+        ::std::option::Option<unsafe extern "C" fn(range: GLuint) -> GLuint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenFramebuffers"]
+    pub static mut epoxy_glGenFramebuffers:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenFramebuffersEXT"]
+    pub static mut epoxy_glGenFramebuffersEXT:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenFramebuffersOES"]
+    pub static mut epoxy_glGenFramebuffersOES:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenLists"]
+    pub static mut epoxy_glGenLists:
+        ::std::option::Option<unsafe extern "C" fn(range: GLsizei) -> GLuint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenNamesAMD"]
+    pub static mut epoxy_glGenNamesAMD: ::std::option::Option<
+        unsafe extern "C" fn(identifier: GLenum, num: GLuint, names: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenOcclusionQueriesNV"]
+    pub static mut epoxy_glGenOcclusionQueriesNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenPathsNV"]
+    pub static mut epoxy_glGenPathsNV:
+        ::std::option::Option<unsafe extern "C" fn(range: GLsizei) -> GLuint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenPerfMonitorsAMD"]
+    pub static mut epoxy_glGenPerfMonitorsAMD:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, monitors: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenProgramPipelines"]
+    pub static mut epoxy_glGenProgramPipelines:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, pipelines: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenProgramPipelinesEXT"]
+    pub static mut epoxy_glGenProgramPipelinesEXT:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, pipelines: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenProgramsARB"]
+    pub static mut epoxy_glGenProgramsARB:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenProgramsNV"]
+    pub static mut epoxy_glGenProgramsNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenQueries"]
+    pub static mut epoxy_glGenQueries:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenQueriesARB"]
+    pub static mut epoxy_glGenQueriesARB:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenQueriesEXT"]
+    pub static mut epoxy_glGenQueriesEXT:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenRenderbuffers"]
+    pub static mut epoxy_glGenRenderbuffers:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenRenderbuffersEXT"]
+    pub static mut epoxy_glGenRenderbuffersEXT:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenRenderbuffersOES"]
+    pub static mut epoxy_glGenRenderbuffersOES:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenSamplers"]
+    pub static mut epoxy_glGenSamplers:
+        ::std::option::Option<unsafe extern "C" fn(count: GLsizei, samplers: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenSymbolsEXT"]
+    pub static mut epoxy_glGenSymbolsEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            datatype: GLenum,
+            storagetype: GLenum,
+            range: GLenum,
+            components: GLuint,
+        ) -> GLuint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenTextures"]
+    pub static mut epoxy_glGenTextures:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, textures: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenTexturesEXT"]
+    pub static mut epoxy_glGenTexturesEXT:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, textures: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenTransformFeedbacks"]
+    pub static mut epoxy_glGenTransformFeedbacks:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenTransformFeedbacksNV"]
+    pub static mut epoxy_glGenTransformFeedbacksNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenVertexArrays"]
+    pub static mut epoxy_glGenVertexArrays:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenVertexArraysAPPLE"]
+    pub static mut epoxy_glGenVertexArraysAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenVertexArraysOES"]
+    pub static mut epoxy_glGenVertexArraysOES:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenVertexShadersEXT"]
+    pub static mut epoxy_glGenVertexShadersEXT:
+        ::std::option::Option<unsafe extern "C" fn(range: GLuint) -> GLuint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenerateMipmap"]
+    pub static mut epoxy_glGenerateMipmap:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenerateMipmapEXT"]
+    pub static mut epoxy_glGenerateMipmapEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenerateMipmapOES"]
+    pub static mut epoxy_glGenerateMipmapOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenerateMultiTexMipmapEXT"]
+    pub static mut epoxy_glGenerateMultiTexMipmapEXT:
+        ::std::option::Option<unsafe extern "C" fn(texunit: GLenum, target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenerateTextureMipmap"]
+    pub static mut epoxy_glGenerateTextureMipmap:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGenerateTextureMipmapEXT"]
+    pub static mut epoxy_glGenerateTextureMipmapEXT:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint, target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetActiveAtomicCounterBufferiv"]
+    pub static mut epoxy_glGetActiveAtomicCounterBufferiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            bufferIndex: GLuint,
+            pname: GLenum,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetActiveAttrib"]
+    pub static mut epoxy_glGetActiveAttrib: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            index: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            size: *mut GLint,
+            type_: *mut GLenum,
+            name: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetActiveAttribARB"]
+    pub static mut epoxy_glGetActiveAttribARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            programObj: GLhandleARB,
+            index: GLuint,
+            maxLength: GLsizei,
+            length: *mut GLsizei,
+            size: *mut GLint,
+            type_: *mut GLenum,
+            name: *mut GLcharARB,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetActiveSubroutineName"]
+    pub static mut epoxy_glGetActiveSubroutineName: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            shadertype: GLenum,
+            index: GLuint,
+            bufsize: GLsizei,
+            length: *mut GLsizei,
+            name: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetActiveSubroutineUniformName"]
+    pub static mut epoxy_glGetActiveSubroutineUniformName: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            shadertype: GLenum,
+            index: GLuint,
+            bufsize: GLsizei,
+            length: *mut GLsizei,
+            name: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetActiveSubroutineUniformiv"]
+    pub static mut epoxy_glGetActiveSubroutineUniformiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            shadertype: GLenum,
+            index: GLuint,
+            pname: GLenum,
+            values: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetActiveUniform"]
+    pub static mut epoxy_glGetActiveUniform: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            index: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            size: *mut GLint,
+            type_: *mut GLenum,
+            name: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetActiveUniformARB"]
+    pub static mut epoxy_glGetActiveUniformARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            programObj: GLhandleARB,
+            index: GLuint,
+            maxLength: GLsizei,
+            length: *mut GLsizei,
+            size: *mut GLint,
+            type_: *mut GLenum,
+            name: *mut GLcharARB,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetActiveUniformBlockName"]
+    pub static mut epoxy_glGetActiveUniformBlockName: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            uniformBlockIndex: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            uniformBlockName: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetActiveUniformBlockiv"]
+    pub static mut epoxy_glGetActiveUniformBlockiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            uniformBlockIndex: GLuint,
+            pname: GLenum,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetActiveUniformName"]
+    pub static mut epoxy_glGetActiveUniformName: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            uniformIndex: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            uniformName: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetActiveUniformsiv"]
+    pub static mut epoxy_glGetActiveUniformsiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            uniformCount: GLsizei,
+            uniformIndices: *const GLuint,
+            pname: GLenum,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetActiveVaryingNV"]
+    pub static mut epoxy_glGetActiveVaryingNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            index: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            size: *mut GLsizei,
+            type_: *mut GLenum,
+            name: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetArrayObjectfvATI"]
+    pub static mut epoxy_glGetArrayObjectfvATI: ::std::option::Option<
+        unsafe extern "C" fn(array: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetArrayObjectivATI"]
+    pub static mut epoxy_glGetArrayObjectivATI: ::std::option::Option<
+        unsafe extern "C" fn(array: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetAttachedObjectsARB"]
+    pub static mut epoxy_glGetAttachedObjectsARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            containerObj: GLhandleARB,
+            maxCount: GLsizei,
+            count: *mut GLsizei,
+            obj: *mut GLhandleARB,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetAttachedShaders"]
+    pub static mut epoxy_glGetAttachedShaders: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            maxCount: GLsizei,
+            count: *mut GLsizei,
+            shaders: *mut GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetAttribLocation"]
+    pub static mut epoxy_glGetAttribLocation:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetAttribLocationARB"]
+    pub static mut epoxy_glGetAttribLocationARB: ::std::option::Option<
+        unsafe extern "C" fn(programObj: GLhandleARB, name: *const GLcharARB) -> GLint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetBooleanIndexedvEXT"]
+    pub static mut epoxy_glGetBooleanIndexedvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetBooleani_v"]
+    pub static mut epoxy_glGetBooleani_v: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetBooleanv"]
+    pub static mut epoxy_glGetBooleanv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, data: *mut GLboolean)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetBufferParameteri64v"]
+    pub static mut epoxy_glGetBufferParameteri64v: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetBufferParameteriv"]
+    pub static mut epoxy_glGetBufferParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetBufferParameterivARB"]
+    pub static mut epoxy_glGetBufferParameterivARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetBufferParameterui64vNV"]
+    pub static mut epoxy_glGetBufferParameterui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetBufferPointerv"]
+    pub static mut epoxy_glGetBufferPointerv: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            pname: GLenum,
+            params: *mut *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetBufferPointervARB"]
+    pub static mut epoxy_glGetBufferPointervARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            pname: GLenum,
+            params: *mut *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetBufferPointervOES"]
+    pub static mut epoxy_glGetBufferPointervOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            pname: GLenum,
+            params: *mut *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetBufferSubData"]
+    pub static mut epoxy_glGetBufferSubData: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            offset: GLintptr,
+            size: GLsizeiptr,
+            data: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetBufferSubDataARB"]
+    pub static mut epoxy_glGetBufferSubDataARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            offset: GLintptrARB,
+            size: GLsizeiptrARB,
+            data: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetClipPlane"]
+    pub static mut epoxy_glGetClipPlane:
+        ::std::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *mut GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetClipPlanef"]
+    pub static mut epoxy_glGetClipPlanef:
+        ::std::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetClipPlanefOES"]
+    pub static mut epoxy_glGetClipPlanefOES:
+        ::std::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetClipPlanex"]
+    pub static mut epoxy_glGetClipPlanex:
+        ::std::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *mut GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetClipPlanexOES"]
+    pub static mut epoxy_glGetClipPlanexOES:
+        ::std::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *mut GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetColorTable"]
+    pub static mut epoxy_glGetColorTable: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            table: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetColorTableEXT"]
+    pub static mut epoxy_glGetColorTableEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            data: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetColorTableParameterfv"]
+    pub static mut epoxy_glGetColorTableParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetColorTableParameterfvEXT"]
+    pub static mut epoxy_glGetColorTableParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetColorTableParameterfvSGI"]
+    pub static mut epoxy_glGetColorTableParameterfvSGI: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetColorTableParameteriv"]
+    pub static mut epoxy_glGetColorTableParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetColorTableParameterivEXT"]
+    pub static mut epoxy_glGetColorTableParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetColorTableParameterivSGI"]
+    pub static mut epoxy_glGetColorTableParameterivSGI: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetColorTableSGI"]
+    pub static mut epoxy_glGetColorTableSGI: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            table: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetCombinerInputParameterfvNV"]
+    pub static mut epoxy_glGetCombinerInputParameterfvNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            stage: GLenum,
+            portion: GLenum,
+            variable: GLenum,
+            pname: GLenum,
+            params: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetCombinerInputParameterivNV"]
+    pub static mut epoxy_glGetCombinerInputParameterivNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            stage: GLenum,
+            portion: GLenum,
+            variable: GLenum,
+            pname: GLenum,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetCombinerOutputParameterfvNV"]
+    pub static mut epoxy_glGetCombinerOutputParameterfvNV: ::std::option::Option<
+        unsafe extern "C" fn(stage: GLenum, portion: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetCombinerOutputParameterivNV"]
+    pub static mut epoxy_glGetCombinerOutputParameterivNV: ::std::option::Option<
+        unsafe extern "C" fn(stage: GLenum, portion: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetCombinerStageParameterfvNV"]
+    pub static mut epoxy_glGetCombinerStageParameterfvNV: ::std::option::Option<
+        unsafe extern "C" fn(stage: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetCommandHeaderNV"]
+    pub static mut epoxy_glGetCommandHeaderNV:
+        ::std::option::Option<unsafe extern "C" fn(tokenID: GLenum, size: GLuint) -> GLuint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetCompressedMultiTexImageEXT"]
+    pub static mut epoxy_glGetCompressedMultiTexImageEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            lod: GLint,
+            img: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetCompressedTexImage"]
+    pub static mut epoxy_glGetCompressedTexImage: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, level: GLint, img: *mut ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetCompressedTexImageARB"]
+    pub static mut epoxy_glGetCompressedTexImageARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, level: GLint, img: *mut ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetCompressedTextureImage"]
+    pub static mut epoxy_glGetCompressedTextureImage: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            bufSize: GLsizei,
+            pixels: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetCompressedTextureImageEXT"]
+    pub static mut epoxy_glGetCompressedTextureImageEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            lod: GLint,
+            img: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetCompressedTextureSubImage"]
+    pub static mut epoxy_glGetCompressedTextureSubImage: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            bufSize: GLsizei,
+            pixels: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetConvolutionFilter"]
+    pub static mut epoxy_glGetConvolutionFilter: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            image: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetConvolutionFilterEXT"]
+    pub static mut epoxy_glGetConvolutionFilterEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            image: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetConvolutionParameterfv"]
+    pub static mut epoxy_glGetConvolutionParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetConvolutionParameterfvEXT"]
+    pub static mut epoxy_glGetConvolutionParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetConvolutionParameteriv"]
+    pub static mut epoxy_glGetConvolutionParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetConvolutionParameterivEXT"]
+    pub static mut epoxy_glGetConvolutionParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetConvolutionParameterxvOES"]
+    pub static mut epoxy_glGetConvolutionParameterxvOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetCoverageModulationTableNV"]
+    pub static mut epoxy_glGetCoverageModulationTableNV:
+        ::std::option::Option<unsafe extern "C" fn(bufsize: GLsizei, v: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetDebugMessageLog"]
+    pub static mut epoxy_glGetDebugMessageLog: ::std::option::Option<
+        unsafe extern "C" fn(
+            count: GLuint,
+            bufSize: GLsizei,
+            sources: *mut GLenum,
+            types: *mut GLenum,
+            ids: *mut GLuint,
+            severities: *mut GLenum,
+            lengths: *mut GLsizei,
+            messageLog: *mut GLchar,
+        ) -> GLuint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetDebugMessageLogAMD"]
+    pub static mut epoxy_glGetDebugMessageLogAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            count: GLuint,
+            bufsize: GLsizei,
+            categories: *mut GLenum,
+            severities: *mut GLuint,
+            ids: *mut GLuint,
+            lengths: *mut GLsizei,
+            message: *mut GLchar,
+        ) -> GLuint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetDebugMessageLogARB"]
+    pub static mut epoxy_glGetDebugMessageLogARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            count: GLuint,
+            bufSize: GLsizei,
+            sources: *mut GLenum,
+            types: *mut GLenum,
+            ids: *mut GLuint,
+            severities: *mut GLenum,
+            lengths: *mut GLsizei,
+            messageLog: *mut GLchar,
+        ) -> GLuint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetDebugMessageLogKHR"]
+    pub static mut epoxy_glGetDebugMessageLogKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            count: GLuint,
+            bufSize: GLsizei,
+            sources: *mut GLenum,
+            types: *mut GLenum,
+            ids: *mut GLuint,
+            severities: *mut GLenum,
+            lengths: *mut GLsizei,
+            messageLog: *mut GLchar,
+        ) -> GLuint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetDetailTexFuncSGIS"]
+    pub static mut epoxy_glGetDetailTexFuncSGIS:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, points: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetDoubleIndexedvEXT"]
+    pub static mut epoxy_glGetDoubleIndexedvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetDoublei_v"]
+    pub static mut epoxy_glGetDoublei_v: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetDoublei_vEXT"]
+    pub static mut epoxy_glGetDoublei_vEXT: ::std::option::Option<
+        unsafe extern "C" fn(pname: GLenum, index: GLuint, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetDoublev"]
+    pub static mut epoxy_glGetDoublev:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, data: *mut GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetDriverControlStringQCOM"]
+    pub static mut epoxy_glGetDriverControlStringQCOM: ::std::option::Option<
+        unsafe extern "C" fn(
+            driverControl: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            driverControlString: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetDriverControlsQCOM"]
+    pub static mut epoxy_glGetDriverControlsQCOM: ::std::option::Option<
+        unsafe extern "C" fn(num: *mut GLint, size: GLsizei, driverControls: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetError"]
+    pub static mut epoxy_glGetError: ::std::option::Option<unsafe extern "C" fn() -> GLenum>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFenceivNV"]
+    pub static mut epoxy_glGetFenceivNV: ::std::option::Option<
+        unsafe extern "C" fn(fence: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFinalCombinerInputParameterfvNV"]
+    pub static mut epoxy_glGetFinalCombinerInputParameterfvNV: ::std::option::Option<
+        unsafe extern "C" fn(variable: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFinalCombinerInputParameterivNV"]
+    pub static mut epoxy_glGetFinalCombinerInputParameterivNV: ::std::option::Option<
+        unsafe extern "C" fn(variable: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFirstPerfQueryIdINTEL"]
+    pub static mut epoxy_glGetFirstPerfQueryIdINTEL:
+        ::std::option::Option<unsafe extern "C" fn(queryId: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFixedv"]
+    pub static mut epoxy_glGetFixedv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFixedvOES"]
+    pub static mut epoxy_glGetFixedvOES:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFloatIndexedvEXT"]
+    pub static mut epoxy_glGetFloatIndexedvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFloati_v"]
+    pub static mut epoxy_glGetFloati_v: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFloati_vEXT"]
+    pub static mut epoxy_glGetFloati_vEXT: ::std::option::Option<
+        unsafe extern "C" fn(pname: GLenum, index: GLuint, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFloati_vNV"]
+    pub static mut epoxy_glGetFloati_vNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFloati_vOES"]
+    pub static mut epoxy_glGetFloati_vOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFloatv"]
+    pub static mut epoxy_glGetFloatv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, data: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFogFuncSGIS"]
+    pub static mut epoxy_glGetFogFuncSGIS:
+        ::std::option::Option<unsafe extern "C" fn(points: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFragDataIndex"]
+    pub static mut epoxy_glGetFragDataIndex:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFragDataIndexEXT"]
+    pub static mut epoxy_glGetFragDataIndexEXT:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFragDataLocation"]
+    pub static mut epoxy_glGetFragDataLocation:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFragDataLocationEXT"]
+    pub static mut epoxy_glGetFragDataLocationEXT:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFragmentLightfvSGIX"]
+    pub static mut epoxy_glGetFragmentLightfvSGIX: ::std::option::Option<
+        unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFragmentLightivSGIX"]
+    pub static mut epoxy_glGetFragmentLightivSGIX: ::std::option::Option<
+        unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFragmentMaterialfvSGIX"]
+    pub static mut epoxy_glGetFragmentMaterialfvSGIX: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFragmentMaterialivSGIX"]
+    pub static mut epoxy_glGetFragmentMaterialivSGIX: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFramebufferAttachmentParameteriv"]
+    pub static mut epoxy_glGetFramebufferAttachmentParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, attachment: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFramebufferAttachmentParameterivEXT"]
+    pub static mut epoxy_glGetFramebufferAttachmentParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, attachment: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFramebufferAttachmentParameterivOES"]
+    pub static mut epoxy_glGetFramebufferAttachmentParameterivOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, attachment: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFramebufferParameterfvAMD"]
+    pub static mut epoxy_glGetFramebufferParameterfvAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            pname: GLenum,
+            numsamples: GLuint,
+            pixelindex: GLuint,
+            size: GLsizei,
+            values: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFramebufferParameteriv"]
+    pub static mut epoxy_glGetFramebufferParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFramebufferParameterivEXT"]
+    pub static mut epoxy_glGetFramebufferParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetFramebufferPixelLocalStorageSizeEXT"]
+    pub static mut epoxy_glGetFramebufferPixelLocalStorageSizeEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLuint) -> GLsizei>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetGraphicsResetStatus"]
+    pub static mut epoxy_glGetGraphicsResetStatus:
+        ::std::option::Option<unsafe extern "C" fn() -> GLenum>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetGraphicsResetStatusARB"]
+    pub static mut epoxy_glGetGraphicsResetStatusARB:
+        ::std::option::Option<unsafe extern "C" fn() -> GLenum>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetGraphicsResetStatusEXT"]
+    pub static mut epoxy_glGetGraphicsResetStatusEXT:
+        ::std::option::Option<unsafe extern "C" fn() -> GLenum>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetGraphicsResetStatusKHR"]
+    pub static mut epoxy_glGetGraphicsResetStatusKHR:
+        ::std::option::Option<unsafe extern "C" fn() -> GLenum>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetHandleARB"]
+    pub static mut epoxy_glGetHandleARB:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum) -> GLhandleARB>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetHistogram"]
+    pub static mut epoxy_glGetHistogram: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            reset: GLboolean,
+            format: GLenum,
+            type_: GLenum,
+            values: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetHistogramEXT"]
+    pub static mut epoxy_glGetHistogramEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            reset: GLboolean,
+            format: GLenum,
+            type_: GLenum,
+            values: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetHistogramParameterfv"]
+    pub static mut epoxy_glGetHistogramParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetHistogramParameterfvEXT"]
+    pub static mut epoxy_glGetHistogramParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetHistogramParameteriv"]
+    pub static mut epoxy_glGetHistogramParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetHistogramParameterivEXT"]
+    pub static mut epoxy_glGetHistogramParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetHistogramParameterxvOES"]
+    pub static mut epoxy_glGetHistogramParameterxvOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetImageHandleARB"]
+    pub static mut epoxy_glGetImageHandleARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            layered: GLboolean,
+            layer: GLint,
+            format: GLenum,
+        ) -> GLuint64,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetImageHandleNV"]
+    pub static mut epoxy_glGetImageHandleNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            layered: GLboolean,
+            layer: GLint,
+            format: GLenum,
+        ) -> GLuint64,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetImageTransformParameterfvHP"]
+    pub static mut epoxy_glGetImageTransformParameterfvHP: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetImageTransformParameterivHP"]
+    pub static mut epoxy_glGetImageTransformParameterivHP: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetInfoLogARB"]
+    pub static mut epoxy_glGetInfoLogARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            obj: GLhandleARB,
+            maxLength: GLsizei,
+            length: *mut GLsizei,
+            infoLog: *mut GLcharARB,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetInstrumentsSGIX"]
+    pub static mut epoxy_glGetInstrumentsSGIX:
+        ::std::option::Option<unsafe extern "C" fn() -> GLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetInteger64i_v"]
+    pub static mut epoxy_glGetInteger64i_v: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetInteger64v"]
+    pub static mut epoxy_glGetInteger64v:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, data: *mut GLint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetInteger64vAPPLE"]
+    pub static mut epoxy_glGetInteger64vAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetIntegerIndexedvEXT"]
+    pub static mut epoxy_glGetIntegerIndexedvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetIntegeri_v"]
+    pub static mut epoxy_glGetIntegeri_v: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetIntegeri_vEXT"]
+    pub static mut epoxy_glGetIntegeri_vEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetIntegerui64i_vNV"]
+    pub static mut epoxy_glGetIntegerui64i_vNV: ::std::option::Option<
+        unsafe extern "C" fn(value: GLenum, index: GLuint, result: *mut GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetIntegerui64vNV"]
+    pub static mut epoxy_glGetIntegerui64vNV:
+        ::std::option::Option<unsafe extern "C" fn(value: GLenum, result: *mut GLuint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetIntegerv"]
+    pub static mut epoxy_glGetIntegerv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, data: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetInternalformatSampleivNV"]
+    pub static mut epoxy_glGetInternalformatSampleivNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            samples: GLsizei,
+            pname: GLenum,
+            bufSize: GLsizei,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetInternalformati64v"]
+    pub static mut epoxy_glGetInternalformati64v: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            pname: GLenum,
+            bufSize: GLsizei,
+            params: *mut GLint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetInternalformativ"]
+    pub static mut epoxy_glGetInternalformativ: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            pname: GLenum,
+            bufSize: GLsizei,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetInvariantBooleanvEXT"]
+    pub static mut epoxy_glGetInvariantBooleanvEXT: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetInvariantFloatvEXT"]
+    pub static mut epoxy_glGetInvariantFloatvEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetInvariantIntegervEXT"]
+    pub static mut epoxy_glGetInvariantIntegervEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetLightfv"]
+    pub static mut epoxy_glGetLightfv: ::std::option::Option<
+        unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetLightiv"]
+    pub static mut epoxy_glGetLightiv: ::std::option::Option<
+        unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetLightxOES"]
+    pub static mut epoxy_glGetLightxOES: ::std::option::Option<
+        unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *mut GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetLightxv"]
+    pub static mut epoxy_glGetLightxv: ::std::option::Option<
+        unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *mut GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetLightxvOES"]
+    pub static mut epoxy_glGetLightxvOES: ::std::option::Option<
+        unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *mut GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetListParameterfvSGIX"]
+    pub static mut epoxy_glGetListParameterfvSGIX: ::std::option::Option<
+        unsafe extern "C" fn(list: GLuint, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetListParameterivSGIX"]
+    pub static mut epoxy_glGetListParameterivSGIX: ::std::option::Option<
+        unsafe extern "C" fn(list: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetLocalConstantBooleanvEXT"]
+    pub static mut epoxy_glGetLocalConstantBooleanvEXT: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetLocalConstantFloatvEXT"]
+    pub static mut epoxy_glGetLocalConstantFloatvEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetLocalConstantIntegervEXT"]
+    pub static mut epoxy_glGetLocalConstantIntegervEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMapAttribParameterfvNV"]
+    pub static mut epoxy_glGetMapAttribParameterfvNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMapAttribParameterivNV"]
+    pub static mut epoxy_glGetMapAttribParameterivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMapControlPointsNV"]
+    pub static mut epoxy_glGetMapControlPointsNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            index: GLuint,
+            type_: GLenum,
+            ustride: GLsizei,
+            vstride: GLsizei,
+            packed: GLboolean,
+            points: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMapParameterfvNV"]
+    pub static mut epoxy_glGetMapParameterfvNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMapParameterivNV"]
+    pub static mut epoxy_glGetMapParameterivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMapdv"]
+    pub static mut epoxy_glGetMapdv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, query: GLenum, v: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMapfv"]
+    pub static mut epoxy_glGetMapfv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, query: GLenum, v: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMapiv"]
+    pub static mut epoxy_glGetMapiv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, query: GLenum, v: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMapxvOES"]
+    pub static mut epoxy_glGetMapxvOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, query: GLenum, v: *mut GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMaterialfv"]
+    pub static mut epoxy_glGetMaterialfv: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMaterialiv"]
+    pub static mut epoxy_glGetMaterialiv: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMaterialxOES"]
+    pub static mut epoxy_glGetMaterialxOES:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMaterialxv"]
+    pub static mut epoxy_glGetMaterialxv: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *mut GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMaterialxvOES"]
+    pub static mut epoxy_glGetMaterialxvOES: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *mut GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMinmax"]
+    pub static mut epoxy_glGetMinmax: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            reset: GLboolean,
+            format: GLenum,
+            type_: GLenum,
+            values: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMinmaxEXT"]
+    pub static mut epoxy_glGetMinmaxEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            reset: GLboolean,
+            format: GLenum,
+            type_: GLenum,
+            values: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMinmaxParameterfv"]
+    pub static mut epoxy_glGetMinmaxParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMinmaxParameterfvEXT"]
+    pub static mut epoxy_glGetMinmaxParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMinmaxParameteriv"]
+    pub static mut epoxy_glGetMinmaxParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMinmaxParameterivEXT"]
+    pub static mut epoxy_glGetMinmaxParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultiTexEnvfvEXT"]
+    pub static mut epoxy_glGetMultiTexEnvfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultiTexEnvivEXT"]
+    pub static mut epoxy_glGetMultiTexEnvivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultiTexGendvEXT"]
+    pub static mut epoxy_glGetMultiTexGendvEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultiTexGenfvEXT"]
+    pub static mut epoxy_glGetMultiTexGenfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultiTexGenivEXT"]
+    pub static mut epoxy_glGetMultiTexGenivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultiTexImageEXT"]
+    pub static mut epoxy_glGetMultiTexImageEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultiTexLevelParameterfvEXT"]
+    pub static mut epoxy_glGetMultiTexLevelParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            pname: GLenum,
+            params: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultiTexLevelParameterivEXT"]
+    pub static mut epoxy_glGetMultiTexLevelParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            pname: GLenum,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultiTexParameterIivEXT"]
+    pub static mut epoxy_glGetMultiTexParameterIivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultiTexParameterIuivEXT"]
+    pub static mut epoxy_glGetMultiTexParameterIuivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultiTexParameterfvEXT"]
+    pub static mut epoxy_glGetMultiTexParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultiTexParameterivEXT"]
+    pub static mut epoxy_glGetMultiTexParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultisamplefv"]
+    pub static mut epoxy_glGetMultisamplefv: ::std::option::Option<
+        unsafe extern "C" fn(pname: GLenum, index: GLuint, val: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetMultisamplefvNV"]
+    pub static mut epoxy_glGetMultisamplefvNV: ::std::option::Option<
+        unsafe extern "C" fn(pname: GLenum, index: GLuint, val: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedBufferParameteri64v"]
+    pub static mut epoxy_glGetNamedBufferParameteri64v: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedBufferParameteriv"]
+    pub static mut epoxy_glGetNamedBufferParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedBufferParameterivEXT"]
+    pub static mut epoxy_glGetNamedBufferParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedBufferParameterui64vNV"]
+    pub static mut epoxy_glGetNamedBufferParameterui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedBufferPointerv"]
+    pub static mut epoxy_glGetNamedBufferPointerv: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            pname: GLenum,
+            params: *mut *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedBufferPointervEXT"]
+    pub static mut epoxy_glGetNamedBufferPointervEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            pname: GLenum,
+            params: *mut *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedBufferSubData"]
+    pub static mut epoxy_glGetNamedBufferSubData: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            offset: GLintptr,
+            size: GLsizeiptr,
+            data: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedBufferSubDataEXT"]
+    pub static mut epoxy_glGetNamedBufferSubDataEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            offset: GLintptr,
+            size: GLsizeiptr,
+            data: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedFramebufferAttachmentParameteriv"]
+    pub static mut epoxy_glGetNamedFramebufferAttachmentParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            attachment: GLenum,
+            pname: GLenum,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedFramebufferAttachmentParameterivEXT"]
+    pub static mut epoxy_glGetNamedFramebufferAttachmentParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            attachment: GLenum,
+            pname: GLenum,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedFramebufferParameterfvAMD"]
+    pub static mut epoxy_glGetNamedFramebufferParameterfvAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLenum,
+            pname: GLenum,
+            numsamples: GLuint,
+            pixelindex: GLuint,
+            size: GLsizei,
+            values: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedFramebufferParameteriv"]
+    pub static mut epoxy_glGetNamedFramebufferParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, param: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedFramebufferParameterivEXT"]
+    pub static mut epoxy_glGetNamedFramebufferParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedProgramLocalParameterIivEXT"]
+    pub static mut epoxy_glGetNamedProgramLocalParameterIivEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedProgramLocalParameterIuivEXT"]
+    pub static mut epoxy_glGetNamedProgramLocalParameterIuivEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedProgramLocalParameterdvEXT"]
+    pub static mut epoxy_glGetNamedProgramLocalParameterdvEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedProgramLocalParameterfvEXT"]
+    pub static mut epoxy_glGetNamedProgramLocalParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedProgramStringEXT"]
+    pub static mut epoxy_glGetNamedProgramStringEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            target: GLenum,
+            pname: GLenum,
+            string: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedProgramivEXT"]
+    pub static mut epoxy_glGetNamedProgramivEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedRenderbufferParameteriv"]
+    pub static mut epoxy_glGetNamedRenderbufferParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(renderbuffer: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedRenderbufferParameterivEXT"]
+    pub static mut epoxy_glGetNamedRenderbufferParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(renderbuffer: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedStringARB"]
+    pub static mut epoxy_glGetNamedStringARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            namelen: GLint,
+            name: *const GLchar,
+            bufSize: GLsizei,
+            stringlen: *mut GLint,
+            string: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNamedStringivARB"]
+    pub static mut epoxy_glGetNamedStringivARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            namelen: GLint,
+            name: *const GLchar,
+            pname: GLenum,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetNextPerfQueryIdINTEL"]
+    pub static mut epoxy_glGetNextPerfQueryIdINTEL:
+        ::std::option::Option<unsafe extern "C" fn(queryId: GLuint, nextQueryId: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetObjectBufferfvATI"]
+    pub static mut epoxy_glGetObjectBufferfvATI: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetObjectBufferivATI"]
+    pub static mut epoxy_glGetObjectBufferivATI: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetObjectLabel"]
+    pub static mut epoxy_glGetObjectLabel: ::std::option::Option<
+        unsafe extern "C" fn(
+            identifier: GLenum,
+            name: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            label: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetObjectLabelEXT"]
+    pub static mut epoxy_glGetObjectLabelEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            object: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            label: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetObjectLabelKHR"]
+    pub static mut epoxy_glGetObjectLabelKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            identifier: GLenum,
+            name: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            label: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetObjectParameterfvARB"]
+    pub static mut epoxy_glGetObjectParameterfvARB: ::std::option::Option<
+        unsafe extern "C" fn(obj: GLhandleARB, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetObjectParameterivAPPLE"]
+    pub static mut epoxy_glGetObjectParameterivAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(objectType: GLenum, name: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetObjectParameterivARB"]
+    pub static mut epoxy_glGetObjectParameterivARB: ::std::option::Option<
+        unsafe extern "C" fn(obj: GLhandleARB, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetObjectPtrLabel"]
+    pub static mut epoxy_glGetObjectPtrLabel: ::std::option::Option<
+        unsafe extern "C" fn(
+            ptr: *const ::std::os::raw::c_void,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            label: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetObjectPtrLabelKHR"]
+    pub static mut epoxy_glGetObjectPtrLabelKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            ptr: *const ::std::os::raw::c_void,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            label: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetOcclusionQueryivNV"]
+    pub static mut epoxy_glGetOcclusionQueryivNV:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetOcclusionQueryuivNV"]
+    pub static mut epoxy_glGetOcclusionQueryuivNV:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPathColorGenfvNV"]
+    pub static mut epoxy_glGetPathColorGenfvNV: ::std::option::Option<
+        unsafe extern "C" fn(color: GLenum, pname: GLenum, value: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPathColorGenivNV"]
+    pub static mut epoxy_glGetPathColorGenivNV: ::std::option::Option<
+        unsafe extern "C" fn(color: GLenum, pname: GLenum, value: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPathCommandsNV"]
+    pub static mut epoxy_glGetPathCommandsNV:
+        ::std::option::Option<unsafe extern "C" fn(path: GLuint, commands: *mut GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPathCoordsNV"]
+    pub static mut epoxy_glGetPathCoordsNV:
+        ::std::option::Option<unsafe extern "C" fn(path: GLuint, coords: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPathDashArrayNV"]
+    pub static mut epoxy_glGetPathDashArrayNV:
+        ::std::option::Option<unsafe extern "C" fn(path: GLuint, dashArray: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPathLengthNV"]
+    pub static mut epoxy_glGetPathLengthNV: ::std::option::Option<
+        unsafe extern "C" fn(path: GLuint, startSegment: GLsizei, numSegments: GLsizei) -> GLfloat,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPathMetricRangeNV"]
+    pub static mut epoxy_glGetPathMetricRangeNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            metricQueryMask: GLbitfield,
+            firstPathName: GLuint,
+            numPaths: GLsizei,
+            stride: GLsizei,
+            metrics: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPathMetricsNV"]
+    pub static mut epoxy_glGetPathMetricsNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            metricQueryMask: GLbitfield,
+            numPaths: GLsizei,
+            pathNameType: GLenum,
+            paths: *const ::std::os::raw::c_void,
+            pathBase: GLuint,
+            stride: GLsizei,
+            metrics: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPathParameterfvNV"]
+    pub static mut epoxy_glGetPathParameterfvNV: ::std::option::Option<
+        unsafe extern "C" fn(path: GLuint, pname: GLenum, value: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPathParameterivNV"]
+    pub static mut epoxy_glGetPathParameterivNV:
+        ::std::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPathSpacingNV"]
+    pub static mut epoxy_glGetPathSpacingNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            pathListMode: GLenum,
+            numPaths: GLsizei,
+            pathNameType: GLenum,
+            paths: *const ::std::os::raw::c_void,
+            pathBase: GLuint,
+            advanceScale: GLfloat,
+            kerningScale: GLfloat,
+            transformType: GLenum,
+            returnedSpacing: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPathTexGenfvNV"]
+    pub static mut epoxy_glGetPathTexGenfvNV: ::std::option::Option<
+        unsafe extern "C" fn(texCoordSet: GLenum, pname: GLenum, value: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPathTexGenivNV"]
+    pub static mut epoxy_glGetPathTexGenivNV: ::std::option::Option<
+        unsafe extern "C" fn(texCoordSet: GLenum, pname: GLenum, value: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPerfCounterInfoINTEL"]
+    pub static mut epoxy_glGetPerfCounterInfoINTEL: ::std::option::Option<
+        unsafe extern "C" fn(
+            queryId: GLuint,
+            counterId: GLuint,
+            counterNameLength: GLuint,
+            counterName: *mut GLchar,
+            counterDescLength: GLuint,
+            counterDesc: *mut GLchar,
+            counterOffset: *mut GLuint,
+            counterDataSize: *mut GLuint,
+            counterTypeEnum: *mut GLuint,
+            counterDataTypeEnum: *mut GLuint,
+            rawCounterMaxValue: *mut GLuint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPerfMonitorCounterDataAMD"]
+    pub static mut epoxy_glGetPerfMonitorCounterDataAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            monitor: GLuint,
+            pname: GLenum,
+            dataSize: GLsizei,
+            data: *mut GLuint,
+            bytesWritten: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPerfMonitorCounterInfoAMD"]
+    pub static mut epoxy_glGetPerfMonitorCounterInfoAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            group: GLuint,
+            counter: GLuint,
+            pname: GLenum,
+            data: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPerfMonitorCounterStringAMD"]
+    pub static mut epoxy_glGetPerfMonitorCounterStringAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            group: GLuint,
+            counter: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            counterString: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPerfMonitorCountersAMD"]
+    pub static mut epoxy_glGetPerfMonitorCountersAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            group: GLuint,
+            numCounters: *mut GLint,
+            maxActiveCounters: *mut GLint,
+            counterSize: GLsizei,
+            counters: *mut GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPerfMonitorGroupStringAMD"]
+    pub static mut epoxy_glGetPerfMonitorGroupStringAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            group: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            groupString: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPerfMonitorGroupsAMD"]
+    pub static mut epoxy_glGetPerfMonitorGroupsAMD: ::std::option::Option<
+        unsafe extern "C" fn(numGroups: *mut GLint, groupsSize: GLsizei, groups: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPerfQueryDataINTEL"]
+    pub static mut epoxy_glGetPerfQueryDataINTEL: ::std::option::Option<
+        unsafe extern "C" fn(
+            queryHandle: GLuint,
+            flags: GLuint,
+            dataSize: GLsizei,
+            data: *mut GLvoid,
+            bytesWritten: *mut GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPerfQueryIdByNameINTEL"]
+    pub static mut epoxy_glGetPerfQueryIdByNameINTEL:
+        ::std::option::Option<unsafe extern "C" fn(queryName: *mut GLchar, queryId: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPerfQueryInfoINTEL"]
+    pub static mut epoxy_glGetPerfQueryInfoINTEL: ::std::option::Option<
+        unsafe extern "C" fn(
+            queryId: GLuint,
+            queryNameLength: GLuint,
+            queryName: *mut GLchar,
+            dataSize: *mut GLuint,
+            noCounters: *mut GLuint,
+            noInstances: *mut GLuint,
+            capsMask: *mut GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPixelMapfv"]
+    pub static mut epoxy_glGetPixelMapfv:
+        ::std::option::Option<unsafe extern "C" fn(map: GLenum, values: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPixelMapuiv"]
+    pub static mut epoxy_glGetPixelMapuiv:
+        ::std::option::Option<unsafe extern "C" fn(map: GLenum, values: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPixelMapusv"]
+    pub static mut epoxy_glGetPixelMapusv:
+        ::std::option::Option<unsafe extern "C" fn(map: GLenum, values: *mut GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPixelMapxv"]
+    pub static mut epoxy_glGetPixelMapxv:
+        ::std::option::Option<unsafe extern "C" fn(map: GLenum, size: GLint, values: *mut GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPixelTexGenParameterfvSGIS"]
+    pub static mut epoxy_glGetPixelTexGenParameterfvSGIS:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPixelTexGenParameterivSGIS"]
+    pub static mut epoxy_glGetPixelTexGenParameterivSGIS:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPixelTransformParameterfvEXT"]
+    pub static mut epoxy_glGetPixelTransformParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPixelTransformParameterivEXT"]
+    pub static mut epoxy_glGetPixelTransformParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPointerIndexedvEXT"]
+    pub static mut epoxy_glGetPointerIndexedvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut *mut ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPointeri_vEXT"]
+    pub static mut epoxy_glGetPointeri_vEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            pname: GLenum,
+            index: GLuint,
+            params: *mut *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPointerv"]
+    pub static mut epoxy_glGetPointerv: ::std::option::Option<
+        unsafe extern "C" fn(pname: GLenum, params: *mut *mut ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPointervEXT"]
+    pub static mut epoxy_glGetPointervEXT: ::std::option::Option<
+        unsafe extern "C" fn(pname: GLenum, params: *mut *mut ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPointervKHR"]
+    pub static mut epoxy_glGetPointervKHR: ::std::option::Option<
+        unsafe extern "C" fn(pname: GLenum, params: *mut *mut ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetPolygonStipple"]
+    pub static mut epoxy_glGetPolygonStipple:
+        ::std::option::Option<unsafe extern "C" fn(mask: *mut GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramBinary"]
+    pub static mut epoxy_glGetProgramBinary: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            binaryFormat: *mut GLenum,
+            binary: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramBinaryOES"]
+    pub static mut epoxy_glGetProgramBinaryOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            binaryFormat: *mut GLenum,
+            binary: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramEnvParameterIivNV"]
+    pub static mut epoxy_glGetProgramEnvParameterIivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramEnvParameterIuivNV"]
+    pub static mut epoxy_glGetProgramEnvParameterIuivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramEnvParameterdvARB"]
+    pub static mut epoxy_glGetProgramEnvParameterdvARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramEnvParameterfvARB"]
+    pub static mut epoxy_glGetProgramEnvParameterfvARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramInfoLog"]
+    pub static mut epoxy_glGetProgramInfoLog: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            infoLog: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramInterfaceiv"]
+    pub static mut epoxy_glGetProgramInterfaceiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            programInterface: GLenum,
+            pname: GLenum,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramLocalParameterIivNV"]
+    pub static mut epoxy_glGetProgramLocalParameterIivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramLocalParameterIuivNV"]
+    pub static mut epoxy_glGetProgramLocalParameterIuivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramLocalParameterdvARB"]
+    pub static mut epoxy_glGetProgramLocalParameterdvARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramLocalParameterfvARB"]
+    pub static mut epoxy_glGetProgramLocalParameterfvARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramNamedParameterdvNV"]
+    pub static mut epoxy_glGetProgramNamedParameterdvNV: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, len: GLsizei, name: *const GLubyte, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramNamedParameterfvNV"]
+    pub static mut epoxy_glGetProgramNamedParameterfvNV: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, len: GLsizei, name: *const GLubyte, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramParameterdvNV"]
+    pub static mut epoxy_glGetProgramParameterdvNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramParameterfvNV"]
+    pub static mut epoxy_glGetProgramParameterfvNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramPipelineInfoLog"]
+    pub static mut epoxy_glGetProgramPipelineInfoLog: ::std::option::Option<
+        unsafe extern "C" fn(
+            pipeline: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            infoLog: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramPipelineInfoLogEXT"]
+    pub static mut epoxy_glGetProgramPipelineInfoLogEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            pipeline: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            infoLog: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramPipelineiv"]
+    pub static mut epoxy_glGetProgramPipelineiv: ::std::option::Option<
+        unsafe extern "C" fn(pipeline: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramPipelineivEXT"]
+    pub static mut epoxy_glGetProgramPipelineivEXT: ::std::option::Option<
+        unsafe extern "C" fn(pipeline: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramResourceIndex"]
+    pub static mut epoxy_glGetProgramResourceIndex: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, programInterface: GLenum, name: *const GLchar)
+            -> GLuint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramResourceLocation"]
+    pub static mut epoxy_glGetProgramResourceLocation: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, programInterface: GLenum, name: *const GLchar)
+            -> GLint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramResourceLocationIndex"]
+    pub static mut epoxy_glGetProgramResourceLocationIndex: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, programInterface: GLenum, name: *const GLchar)
+            -> GLint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramResourceLocationIndexEXT"]
+    pub static mut epoxy_glGetProgramResourceLocationIndexEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, programInterface: GLenum, name: *const GLchar)
+            -> GLint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramResourceName"]
+    pub static mut epoxy_glGetProgramResourceName: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            programInterface: GLenum,
+            index: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            name: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramResourcefvNV"]
+    pub static mut epoxy_glGetProgramResourcefvNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            programInterface: GLenum,
+            index: GLuint,
+            propCount: GLsizei,
+            props: *const GLenum,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            params: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramResourceiv"]
+    pub static mut epoxy_glGetProgramResourceiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            programInterface: GLenum,
+            index: GLuint,
+            propCount: GLsizei,
+            props: *const GLenum,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramStageiv"]
+    pub static mut epoxy_glGetProgramStageiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            shadertype: GLenum,
+            pname: GLenum,
+            values: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramStringARB"]
+    pub static mut epoxy_glGetProgramStringARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, string: *mut ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramStringNV"]
+    pub static mut epoxy_glGetProgramStringNV: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, pname: GLenum, program: *mut GLubyte),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramSubroutineParameteruivNV"]
+    pub static mut epoxy_glGetProgramSubroutineParameteruivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, param: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramiv"]
+    pub static mut epoxy_glGetProgramiv: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramivARB"]
+    pub static mut epoxy_glGetProgramivARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetProgramivNV"]
+    pub static mut epoxy_glGetProgramivNV:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryBufferObjecti64v"]
+    pub static mut epoxy_glGetQueryBufferObjecti64v: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, buffer: GLuint, pname: GLenum, offset: GLintptr),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryBufferObjectiv"]
+    pub static mut epoxy_glGetQueryBufferObjectiv: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, buffer: GLuint, pname: GLenum, offset: GLintptr),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryBufferObjectui64v"]
+    pub static mut epoxy_glGetQueryBufferObjectui64v: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, buffer: GLuint, pname: GLenum, offset: GLintptr),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryBufferObjectuiv"]
+    pub static mut epoxy_glGetQueryBufferObjectuiv: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, buffer: GLuint, pname: GLenum, offset: GLintptr),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryIndexediv"]
+    pub static mut epoxy_glGetQueryIndexediv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryObjecti64v"]
+    pub static mut epoxy_glGetQueryObjecti64v: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryObjecti64vEXT"]
+    pub static mut epoxy_glGetQueryObjecti64vEXT: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryObjectiv"]
+    pub static mut epoxy_glGetQueryObjectiv:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryObjectivARB"]
+    pub static mut epoxy_glGetQueryObjectivARB:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryObjectivEXT"]
+    pub static mut epoxy_glGetQueryObjectivEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryObjectui64v"]
+    pub static mut epoxy_glGetQueryObjectui64v: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryObjectui64vEXT"]
+    pub static mut epoxy_glGetQueryObjectui64vEXT: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryObjectuiv"]
+    pub static mut epoxy_glGetQueryObjectuiv:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryObjectuivARB"]
+    pub static mut epoxy_glGetQueryObjectuivARB:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryObjectuivEXT"]
+    pub static mut epoxy_glGetQueryObjectuivEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryiv"]
+    pub static mut epoxy_glGetQueryiv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryivARB"]
+    pub static mut epoxy_glGetQueryivARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetQueryivEXT"]
+    pub static mut epoxy_glGetQueryivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetRenderbufferParameteriv"]
+    pub static mut epoxy_glGetRenderbufferParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetRenderbufferParameterivEXT"]
+    pub static mut epoxy_glGetRenderbufferParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetRenderbufferParameterivOES"]
+    pub static mut epoxy_glGetRenderbufferParameterivOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSamplerParameterIiv"]
+    pub static mut epoxy_glGetSamplerParameterIiv: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSamplerParameterIivEXT"]
+    pub static mut epoxy_glGetSamplerParameterIivEXT: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSamplerParameterIivOES"]
+    pub static mut epoxy_glGetSamplerParameterIivOES: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSamplerParameterIuiv"]
+    pub static mut epoxy_glGetSamplerParameterIuiv: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSamplerParameterIuivEXT"]
+    pub static mut epoxy_glGetSamplerParameterIuivEXT: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSamplerParameterIuivOES"]
+    pub static mut epoxy_glGetSamplerParameterIuivOES: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSamplerParameterfv"]
+    pub static mut epoxy_glGetSamplerParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSamplerParameteriv"]
+    pub static mut epoxy_glGetSamplerParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSeparableFilter"]
+    pub static mut epoxy_glGetSeparableFilter: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            row: *mut ::std::os::raw::c_void,
+            column: *mut ::std::os::raw::c_void,
+            span: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSeparableFilterEXT"]
+    pub static mut epoxy_glGetSeparableFilterEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            row: *mut ::std::os::raw::c_void,
+            column: *mut ::std::os::raw::c_void,
+            span: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetShaderInfoLog"]
+    pub static mut epoxy_glGetShaderInfoLog: ::std::option::Option<
+        unsafe extern "C" fn(
+            shader: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            infoLog: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetShaderPrecisionFormat"]
+    pub static mut epoxy_glGetShaderPrecisionFormat: ::std::option::Option<
+        unsafe extern "C" fn(
+            shadertype: GLenum,
+            precisiontype: GLenum,
+            range: *mut GLint,
+            precision: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetShaderSource"]
+    pub static mut epoxy_glGetShaderSource: ::std::option::Option<
+        unsafe extern "C" fn(
+            shader: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            source: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetShaderSourceARB"]
+    pub static mut epoxy_glGetShaderSourceARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            obj: GLhandleARB,
+            maxLength: GLsizei,
+            length: *mut GLsizei,
+            source: *mut GLcharARB,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetShaderiv"]
+    pub static mut epoxy_glGetShaderiv: ::std::option::Option<
+        unsafe extern "C" fn(shader: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSharpenTexFuncSGIS"]
+    pub static mut epoxy_glGetSharpenTexFuncSGIS:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, points: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetStageIndexNV"]
+    pub static mut epoxy_glGetStageIndexNV:
+        ::std::option::Option<unsafe extern "C" fn(shadertype: GLenum) -> GLushort>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetString"]
+    pub static mut epoxy_glGetString:
+        ::std::option::Option<unsafe extern "C" fn(name: GLenum) -> *const GLubyte>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetStringi"]
+    pub static mut epoxy_glGetStringi:
+        ::std::option::Option<unsafe extern "C" fn(name: GLenum, index: GLuint) -> *const GLubyte>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSubroutineIndex"]
+    pub static mut epoxy_glGetSubroutineIndex: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, shadertype: GLenum, name: *const GLchar) -> GLuint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSubroutineUniformLocation"]
+    pub static mut epoxy_glGetSubroutineUniformLocation: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, shadertype: GLenum, name: *const GLchar) -> GLint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSynciv"]
+    pub static mut epoxy_glGetSynciv: ::std::option::Option<
+        unsafe extern "C" fn(
+            sync: GLsync,
+            pname: GLenum,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            values: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetSyncivAPPLE"]
+    pub static mut epoxy_glGetSyncivAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            sync: GLsync,
+            pname: GLenum,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            values: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexBumpParameterfvATI"]
+    pub static mut epoxy_glGetTexBumpParameterfvATI:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexBumpParameterivATI"]
+    pub static mut epoxy_glGetTexBumpParameterivATI:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexEnvfv"]
+    pub static mut epoxy_glGetTexEnvfv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexEnviv"]
+    pub static mut epoxy_glGetTexEnviv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexEnvxv"]
+    pub static mut epoxy_glGetTexEnvxv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexEnvxvOES"]
+    pub static mut epoxy_glGetTexEnvxvOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexFilterFuncSGIS"]
+    pub static mut epoxy_glGetTexFilterFuncSGIS: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, filter: GLenum, weights: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexGendv"]
+    pub static mut epoxy_glGetTexGendv: ::std::option::Option<
+        unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexGenfv"]
+    pub static mut epoxy_glGetTexGenfv: ::std::option::Option<
+        unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexGenfvOES"]
+    pub static mut epoxy_glGetTexGenfvOES: ::std::option::Option<
+        unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexGeniv"]
+    pub static mut epoxy_glGetTexGeniv: ::std::option::Option<
+        unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexGenivOES"]
+    pub static mut epoxy_glGetTexGenivOES: ::std::option::Option<
+        unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexGenxvOES"]
+    pub static mut epoxy_glGetTexGenxvOES: ::std::option::Option<
+        unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *mut GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexImage"]
+    pub static mut epoxy_glGetTexImage: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexLevelParameterfv"]
+    pub static mut epoxy_glGetTexLevelParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, level: GLint, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexLevelParameteriv"]
+    pub static mut epoxy_glGetTexLevelParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, level: GLint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexLevelParameterxvOES"]
+    pub static mut epoxy_glGetTexLevelParameterxvOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, level: GLint, pname: GLenum, params: *mut GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexParameterIiv"]
+    pub static mut epoxy_glGetTexParameterIiv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexParameterIivEXT"]
+    pub static mut epoxy_glGetTexParameterIivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexParameterIivOES"]
+    pub static mut epoxy_glGetTexParameterIivOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexParameterIuiv"]
+    pub static mut epoxy_glGetTexParameterIuiv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexParameterIuivEXT"]
+    pub static mut epoxy_glGetTexParameterIuivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexParameterIuivOES"]
+    pub static mut epoxy_glGetTexParameterIuivOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexParameterPointervAPPLE"]
+    pub static mut epoxy_glGetTexParameterPointervAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            pname: GLenum,
+            params: *mut *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexParameterfv"]
+    pub static mut epoxy_glGetTexParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexParameteriv"]
+    pub static mut epoxy_glGetTexParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexParameterxv"]
+    pub static mut epoxy_glGetTexParameterxv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTexParameterxvOES"]
+    pub static mut epoxy_glGetTexParameterxvOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureHandleARB"]
+    pub static mut epoxy_glGetTextureHandleARB:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint) -> GLuint64>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureHandleIMG"]
+    pub static mut epoxy_glGetTextureHandleIMG:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint) -> GLuint64>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureHandleNV"]
+    pub static mut epoxy_glGetTextureHandleNV:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint) -> GLuint64>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureImage"]
+    pub static mut epoxy_glGetTextureImage: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            pixels: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureImageEXT"]
+    pub static mut epoxy_glGetTextureImageEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureLevelParameterfv"]
+    pub static mut epoxy_glGetTextureLevelParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, level: GLint, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureLevelParameterfvEXT"]
+    pub static mut epoxy_glGetTextureLevelParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            pname: GLenum,
+            params: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureLevelParameteriv"]
+    pub static mut epoxy_glGetTextureLevelParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, level: GLint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureLevelParameterivEXT"]
+    pub static mut epoxy_glGetTextureLevelParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            pname: GLenum,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureParameterIiv"]
+    pub static mut epoxy_glGetTextureParameterIiv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureParameterIivEXT"]
+    pub static mut epoxy_glGetTextureParameterIivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureParameterIuiv"]
+    pub static mut epoxy_glGetTextureParameterIuiv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureParameterIuivEXT"]
+    pub static mut epoxy_glGetTextureParameterIuivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureParameterfv"]
+    pub static mut epoxy_glGetTextureParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureParameterfvEXT"]
+    pub static mut epoxy_glGetTextureParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureParameteriv"]
+    pub static mut epoxy_glGetTextureParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureParameterivEXT"]
+    pub static mut epoxy_glGetTextureParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureSamplerHandleARB"]
+    pub static mut epoxy_glGetTextureSamplerHandleARB:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint, sampler: GLuint) -> GLuint64>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureSamplerHandleIMG"]
+    pub static mut epoxy_glGetTextureSamplerHandleIMG:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint, sampler: GLuint) -> GLuint64>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureSamplerHandleNV"]
+    pub static mut epoxy_glGetTextureSamplerHandleNV:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint, sampler: GLuint) -> GLuint64>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTextureSubImage"]
+    pub static mut epoxy_glGetTextureSubImage: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            pixels: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTrackMatrixivNV"]
+    pub static mut epoxy_glGetTrackMatrixivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, address: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTransformFeedbackVarying"]
+    pub static mut epoxy_glGetTransformFeedbackVarying: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            index: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            size: *mut GLsizei,
+            type_: *mut GLenum,
+            name: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTransformFeedbackVaryingEXT"]
+    pub static mut epoxy_glGetTransformFeedbackVaryingEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            index: GLuint,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            size: *mut GLsizei,
+            type_: *mut GLenum,
+            name: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTransformFeedbackVaryingNV"]
+    pub static mut epoxy_glGetTransformFeedbackVaryingNV: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, index: GLuint, location: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTransformFeedbacki64_v"]
+    pub static mut epoxy_glGetTransformFeedbacki64_v: ::std::option::Option<
+        unsafe extern "C" fn(xfb: GLuint, pname: GLenum, index: GLuint, param: *mut GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTransformFeedbacki_v"]
+    pub static mut epoxy_glGetTransformFeedbacki_v: ::std::option::Option<
+        unsafe extern "C" fn(xfb: GLuint, pname: GLenum, index: GLuint, param: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTransformFeedbackiv"]
+    pub static mut epoxy_glGetTransformFeedbackiv:
+        ::std::option::Option<unsafe extern "C" fn(xfb: GLuint, pname: GLenum, param: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetTranslatedShaderSourceANGLE"]
+    pub static mut epoxy_glGetTranslatedShaderSourceANGLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            shader: GLuint,
+            bufsize: GLsizei,
+            length: *mut GLsizei,
+            source: *mut GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformBlockIndex"]
+    pub static mut epoxy_glGetUniformBlockIndex: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, uniformBlockName: *const GLchar) -> GLuint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformBufferSizeEXT"]
+    pub static mut epoxy_glGetUniformBufferSizeEXT:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint) -> GLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformIndices"]
+    pub static mut epoxy_glGetUniformIndices: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            uniformCount: GLsizei,
+            uniformNames: *const *const GLchar,
+            uniformIndices: *mut GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformLocation"]
+    pub static mut epoxy_glGetUniformLocation:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformLocationARB"]
+    pub static mut epoxy_glGetUniformLocationARB: ::std::option::Option<
+        unsafe extern "C" fn(programObj: GLhandleARB, name: *const GLcharARB) -> GLint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformOffsetEXT"]
+    pub static mut epoxy_glGetUniformOffsetEXT:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint) -> GLintptr>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformSubroutineuiv"]
+    pub static mut epoxy_glGetUniformSubroutineuiv: ::std::option::Option<
+        unsafe extern "C" fn(shadertype: GLenum, location: GLint, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformdv"]
+    pub static mut epoxy_glGetUniformdv: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformfv"]
+    pub static mut epoxy_glGetUniformfv: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformfvARB"]
+    pub static mut epoxy_glGetUniformfvARB: ::std::option::Option<
+        unsafe extern "C" fn(programObj: GLhandleARB, location: GLint, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformi64vARB"]
+    pub static mut epoxy_glGetUniformi64vARB: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformi64vNV"]
+    pub static mut epoxy_glGetUniformi64vNV: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformiv"]
+    pub static mut epoxy_glGetUniformiv: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformivARB"]
+    pub static mut epoxy_glGetUniformivARB: ::std::option::Option<
+        unsafe extern "C" fn(programObj: GLhandleARB, location: GLint, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformui64vARB"]
+    pub static mut epoxy_glGetUniformui64vARB: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformui64vNV"]
+    pub static mut epoxy_glGetUniformui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformuiv"]
+    pub static mut epoxy_glGetUniformuiv: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetUniformuivEXT"]
+    pub static mut epoxy_glGetUniformuivEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVariantArrayObjectfvATI"]
+    pub static mut epoxy_glGetVariantArrayObjectfvATI: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVariantArrayObjectivATI"]
+    pub static mut epoxy_glGetVariantArrayObjectivATI:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVariantBooleanvEXT"]
+    pub static mut epoxy_glGetVariantBooleanvEXT: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVariantFloatvEXT"]
+    pub static mut epoxy_glGetVariantFloatvEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVariantIntegervEXT"]
+    pub static mut epoxy_glGetVariantIntegervEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVariantPointervEXT"]
+    pub static mut epoxy_glGetVariantPointervEXT: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut *mut ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVaryingLocationNV"]
+    pub static mut epoxy_glGetVaryingLocationNV:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexArrayIndexed64iv"]
+    pub static mut epoxy_glGetVertexArrayIndexed64iv: ::std::option::Option<
+        unsafe extern "C" fn(vaobj: GLuint, index: GLuint, pname: GLenum, param: *mut GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexArrayIndexediv"]
+    pub static mut epoxy_glGetVertexArrayIndexediv: ::std::option::Option<
+        unsafe extern "C" fn(vaobj: GLuint, index: GLuint, pname: GLenum, param: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexArrayIntegeri_vEXT"]
+    pub static mut epoxy_glGetVertexArrayIntegeri_vEXT: ::std::option::Option<
+        unsafe extern "C" fn(vaobj: GLuint, index: GLuint, pname: GLenum, param: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexArrayIntegervEXT"]
+    pub static mut epoxy_glGetVertexArrayIntegervEXT: ::std::option::Option<
+        unsafe extern "C" fn(vaobj: GLuint, pname: GLenum, param: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexArrayPointeri_vEXT"]
+    pub static mut epoxy_glGetVertexArrayPointeri_vEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            index: GLuint,
+            pname: GLenum,
+            param: *mut *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexArrayPointervEXT"]
+    pub static mut epoxy_glGetVertexArrayPointervEXT: ::std::option::Option<
+        unsafe extern "C" fn(vaobj: GLuint, pname: GLenum, param: *mut *mut ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexArrayiv"]
+    pub static mut epoxy_glGetVertexArrayiv: ::std::option::Option<
+        unsafe extern "C" fn(vaobj: GLuint, pname: GLenum, param: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribArrayObjectfvATI"]
+    pub static mut epoxy_glGetVertexAttribArrayObjectfvATI: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribArrayObjectivATI"]
+    pub static mut epoxy_glGetVertexAttribArrayObjectivATI: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribIiv"]
+    pub static mut epoxy_glGetVertexAttribIiv: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribIivEXT"]
+    pub static mut epoxy_glGetVertexAttribIivEXT: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribIuiv"]
+    pub static mut epoxy_glGetVertexAttribIuiv: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribIuivEXT"]
+    pub static mut epoxy_glGetVertexAttribIuivEXT: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribLdv"]
+    pub static mut epoxy_glGetVertexAttribLdv: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribLdvEXT"]
+    pub static mut epoxy_glGetVertexAttribLdvEXT: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribLi64vNV"]
+    pub static mut epoxy_glGetVertexAttribLi64vNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribLui64vARB"]
+    pub static mut epoxy_glGetVertexAttribLui64vARB: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribLui64vNV"]
+    pub static mut epoxy_glGetVertexAttribLui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribPointerv"]
+    pub static mut epoxy_glGetVertexAttribPointerv: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            pname: GLenum,
+            pointer: *mut *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribPointervARB"]
+    pub static mut epoxy_glGetVertexAttribPointervARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            pname: GLenum,
+            pointer: *mut *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribPointervNV"]
+    pub static mut epoxy_glGetVertexAttribPointervNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            pname: GLenum,
+            pointer: *mut *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribdv"]
+    pub static mut epoxy_glGetVertexAttribdv: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribdvARB"]
+    pub static mut epoxy_glGetVertexAttribdvARB: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribdvNV"]
+    pub static mut epoxy_glGetVertexAttribdvNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribfv"]
+    pub static mut epoxy_glGetVertexAttribfv: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribfvARB"]
+    pub static mut epoxy_glGetVertexAttribfvARB: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribfvNV"]
+    pub static mut epoxy_glGetVertexAttribfvNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribiv"]
+    pub static mut epoxy_glGetVertexAttribiv: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribivARB"]
+    pub static mut epoxy_glGetVertexAttribivARB: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVertexAttribivNV"]
+    pub static mut epoxy_glGetVertexAttribivNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVideoCaptureStreamdvNV"]
+    pub static mut epoxy_glGetVideoCaptureStreamdvNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            video_capture_slot: GLuint,
+            stream: GLuint,
+            pname: GLenum,
+            params: *mut GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVideoCaptureStreamfvNV"]
+    pub static mut epoxy_glGetVideoCaptureStreamfvNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            video_capture_slot: GLuint,
+            stream: GLuint,
+            pname: GLenum,
+            params: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVideoCaptureStreamivNV"]
+    pub static mut epoxy_glGetVideoCaptureStreamivNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            video_capture_slot: GLuint,
+            stream: GLuint,
+            pname: GLenum,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVideoCaptureivNV"]
+    pub static mut epoxy_glGetVideoCaptureivNV: ::std::option::Option<
+        unsafe extern "C" fn(video_capture_slot: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVideoi64vNV"]
+    pub static mut epoxy_glGetVideoi64vNV: ::std::option::Option<
+        unsafe extern "C" fn(video_slot: GLuint, pname: GLenum, params: *mut GLint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVideoivNV"]
+    pub static mut epoxy_glGetVideoivNV: ::std::option::Option<
+        unsafe extern "C" fn(video_slot: GLuint, pname: GLenum, params: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVideoui64vNV"]
+    pub static mut epoxy_glGetVideoui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(video_slot: GLuint, pname: GLenum, params: *mut GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetVideouivNV"]
+    pub static mut epoxy_glGetVideouivNV: ::std::option::Option<
+        unsafe extern "C" fn(video_slot: GLuint, pname: GLenum, params: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnColorTable"]
+    pub static mut epoxy_glGetnColorTable: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            table: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnColorTableARB"]
+    pub static mut epoxy_glGetnColorTableARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            table: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnCompressedTexImage"]
+    pub static mut epoxy_glGetnCompressedTexImage: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            lod: GLint,
+            bufSize: GLsizei,
+            pixels: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnCompressedTexImageARB"]
+    pub static mut epoxy_glGetnCompressedTexImageARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            lod: GLint,
+            bufSize: GLsizei,
+            img: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnConvolutionFilter"]
+    pub static mut epoxy_glGetnConvolutionFilter: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            image: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnConvolutionFilterARB"]
+    pub static mut epoxy_glGetnConvolutionFilterARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            image: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnHistogram"]
+    pub static mut epoxy_glGetnHistogram: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            reset: GLboolean,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            values: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnHistogramARB"]
+    pub static mut epoxy_glGetnHistogramARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            reset: GLboolean,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            values: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnMapdv"]
+    pub static mut epoxy_glGetnMapdv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnMapdvARB"]
+    pub static mut epoxy_glGetnMapdvARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnMapfv"]
+    pub static mut epoxy_glGetnMapfv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnMapfvARB"]
+    pub static mut epoxy_glGetnMapfvARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnMapiv"]
+    pub static mut epoxy_glGetnMapiv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnMapivARB"]
+    pub static mut epoxy_glGetnMapivARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnMinmax"]
+    pub static mut epoxy_glGetnMinmax: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            reset: GLboolean,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            values: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnMinmaxARB"]
+    pub static mut epoxy_glGetnMinmaxARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            reset: GLboolean,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            values: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnPixelMapfv"]
+    pub static mut epoxy_glGetnPixelMapfv: ::std::option::Option<
+        unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnPixelMapfvARB"]
+    pub static mut epoxy_glGetnPixelMapfvARB: ::std::option::Option<
+        unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnPixelMapuiv"]
+    pub static mut epoxy_glGetnPixelMapuiv: ::std::option::Option<
+        unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnPixelMapuivARB"]
+    pub static mut epoxy_glGetnPixelMapuivARB: ::std::option::Option<
+        unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnPixelMapusv"]
+    pub static mut epoxy_glGetnPixelMapusv: ::std::option::Option<
+        unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLushort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnPixelMapusvARB"]
+    pub static mut epoxy_glGetnPixelMapusvARB: ::std::option::Option<
+        unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLushort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnPolygonStipple"]
+    pub static mut epoxy_glGetnPolygonStipple:
+        ::std::option::Option<unsafe extern "C" fn(bufSize: GLsizei, pattern: *mut GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnPolygonStippleARB"]
+    pub static mut epoxy_glGetnPolygonStippleARB:
+        ::std::option::Option<unsafe extern "C" fn(bufSize: GLsizei, pattern: *mut GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnSeparableFilter"]
+    pub static mut epoxy_glGetnSeparableFilter: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            rowBufSize: GLsizei,
+            row: *mut ::std::os::raw::c_void,
+            columnBufSize: GLsizei,
+            column: *mut ::std::os::raw::c_void,
+            span: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnSeparableFilterARB"]
+    pub static mut epoxy_glGetnSeparableFilterARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            type_: GLenum,
+            rowBufSize: GLsizei,
+            row: *mut ::std::os::raw::c_void,
+            columnBufSize: GLsizei,
+            column: *mut ::std::os::raw::c_void,
+            span: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnTexImage"]
+    pub static mut epoxy_glGetnTexImage: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            pixels: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnTexImageARB"]
+    pub static mut epoxy_glGetnTexImageARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            img: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformdv"]
+    pub static mut epoxy_glGetnUniformdv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformdvARB"]
+    pub static mut epoxy_glGetnUniformdvARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformfv"]
+    pub static mut epoxy_glGetnUniformfv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformfvARB"]
+    pub static mut epoxy_glGetnUniformfvARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformfvEXT"]
+    pub static mut epoxy_glGetnUniformfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformfvKHR"]
+    pub static mut epoxy_glGetnUniformfvKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformi64vARB"]
+    pub static mut epoxy_glGetnUniformi64vARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformiv"]
+    pub static mut epoxy_glGetnUniformiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformivARB"]
+    pub static mut epoxy_glGetnUniformivARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformivEXT"]
+    pub static mut epoxy_glGetnUniformivEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformivKHR"]
+    pub static mut epoxy_glGetnUniformivKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformui64vARB"]
+    pub static mut epoxy_glGetnUniformui64vARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLuint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformuiv"]
+    pub static mut epoxy_glGetnUniformuiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformuivARB"]
+    pub static mut epoxy_glGetnUniformuivARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGetnUniformuivKHR"]
+    pub static mut epoxy_glGetnUniformuivKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            bufSize: GLsizei,
+            params: *mut GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGlobalAlphaFactorbSUN"]
+    pub static mut epoxy_glGlobalAlphaFactorbSUN:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGlobalAlphaFactordSUN"]
+    pub static mut epoxy_glGlobalAlphaFactordSUN:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGlobalAlphaFactorfSUN"]
+    pub static mut epoxy_glGlobalAlphaFactorfSUN:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGlobalAlphaFactoriSUN"]
+    pub static mut epoxy_glGlobalAlphaFactoriSUN:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGlobalAlphaFactorsSUN"]
+    pub static mut epoxy_glGlobalAlphaFactorsSUN:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGlobalAlphaFactorubSUN"]
+    pub static mut epoxy_glGlobalAlphaFactorubSUN:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGlobalAlphaFactoruiSUN"]
+    pub static mut epoxy_glGlobalAlphaFactoruiSUN:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glGlobalAlphaFactorusSUN"]
+    pub static mut epoxy_glGlobalAlphaFactorusSUN:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glHint"]
+    pub static mut epoxy_glHint:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glHintPGI"]
+    pub static mut epoxy_glHintPGI:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, mode: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glHistogram"]
+    pub static mut epoxy_glHistogram: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            width: GLsizei,
+            internalformat: GLenum,
+            sink: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glHistogramEXT"]
+    pub static mut epoxy_glHistogramEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            width: GLsizei,
+            internalformat: GLenum,
+            sink: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIglooInterfaceSGIX"]
+    pub static mut epoxy_glIglooInterfaceSGIX: ::std::option::Option<
+        unsafe extern "C" fn(pname: GLenum, params: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glImageTransformParameterfHP"]
+    pub static mut epoxy_glImageTransformParameterfHP:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glImageTransformParameterfvHP"]
+    pub static mut epoxy_glImageTransformParameterfvHP: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glImageTransformParameteriHP"]
+    pub static mut epoxy_glImageTransformParameteriHP:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glImageTransformParameterivHP"]
+    pub static mut epoxy_glImageTransformParameterivHP: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glImportSyncEXT"]
+    pub static mut epoxy_glImportSyncEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            external_sync_type: GLenum,
+            external_sync: GLintptr,
+            flags: GLbitfield,
+        ) -> GLsync,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexFormatNV"]
+    pub static mut epoxy_glIndexFormatNV:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, stride: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexFuncEXT"]
+    pub static mut epoxy_glIndexFuncEXT:
+        ::std::option::Option<unsafe extern "C" fn(func: GLenum, ref_: GLclampf)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexMask"]
+    pub static mut epoxy_glIndexMask: ::std::option::Option<unsafe extern "C" fn(mask: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexMaterialEXT"]
+    pub static mut epoxy_glIndexMaterialEXT:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexPointer"]
+    pub static mut epoxy_glIndexPointer: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexPointerEXT"]
+    pub static mut epoxy_glIndexPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            stride: GLsizei,
+            count: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexPointerListIBM"]
+    pub static mut epoxy_glIndexPointerListIBM: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            stride: GLint,
+            pointer: *mut *const ::std::os::raw::c_void,
+            ptrstride: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexd"]
+    pub static mut epoxy_glIndexd: ::std::option::Option<unsafe extern "C" fn(c: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexdv"]
+    pub static mut epoxy_glIndexdv: ::std::option::Option<unsafe extern "C" fn(c: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexf"]
+    pub static mut epoxy_glIndexf: ::std::option::Option<unsafe extern "C" fn(c: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexfv"]
+    pub static mut epoxy_glIndexfv: ::std::option::Option<unsafe extern "C" fn(c: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexi"]
+    pub static mut epoxy_glIndexi: ::std::option::Option<unsafe extern "C" fn(c: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexiv"]
+    pub static mut epoxy_glIndexiv: ::std::option::Option<unsafe extern "C" fn(c: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexs"]
+    pub static mut epoxy_glIndexs: ::std::option::Option<unsafe extern "C" fn(c: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexsv"]
+    pub static mut epoxy_glIndexsv: ::std::option::Option<unsafe extern "C" fn(c: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexub"]
+    pub static mut epoxy_glIndexub: ::std::option::Option<unsafe extern "C" fn(c: GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexubv"]
+    pub static mut epoxy_glIndexubv: ::std::option::Option<unsafe extern "C" fn(c: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexxOES"]
+    pub static mut epoxy_glIndexxOES:
+        ::std::option::Option<unsafe extern "C" fn(component: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIndexxvOES"]
+    pub static mut epoxy_glIndexxvOES:
+        ::std::option::Option<unsafe extern "C" fn(component: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInitNames"]
+    pub static mut epoxy_glInitNames: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInsertComponentEXT"]
+    pub static mut epoxy_glInsertComponentEXT:
+        ::std::option::Option<unsafe extern "C" fn(res: GLuint, src: GLuint, num: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInsertEventMarkerEXT"]
+    pub static mut epoxy_glInsertEventMarkerEXT:
+        ::std::option::Option<unsafe extern "C" fn(length: GLsizei, marker: *const GLchar)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInstrumentsBufferSGIX"]
+    pub static mut epoxy_glInstrumentsBufferSGIX:
+        ::std::option::Option<unsafe extern "C" fn(size: GLsizei, buffer: *mut GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInterleavedArrays"]
+    pub static mut epoxy_glInterleavedArrays: ::std::option::Option<
+        unsafe extern "C" fn(
+            format: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInterpolatePathsNV"]
+    pub static mut epoxy_glInterpolatePathsNV: ::std::option::Option<
+        unsafe extern "C" fn(resultPath: GLuint, pathA: GLuint, pathB: GLuint, weight: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInvalidateBufferData"]
+    pub static mut epoxy_glInvalidateBufferData:
+        ::std::option::Option<unsafe extern "C" fn(buffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInvalidateBufferSubData"]
+    pub static mut epoxy_glInvalidateBufferSubData: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, length: GLsizeiptr),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInvalidateFramebuffer"]
+    pub static mut epoxy_glInvalidateFramebuffer: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, numAttachments: GLsizei, attachments: *const GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInvalidateNamedFramebufferData"]
+    pub static mut epoxy_glInvalidateNamedFramebufferData: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            numAttachments: GLsizei,
+            attachments: *const GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInvalidateNamedFramebufferSubData"]
+    pub static mut epoxy_glInvalidateNamedFramebufferSubData: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            numAttachments: GLsizei,
+            attachments: *const GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInvalidateSubFramebuffer"]
+    pub static mut epoxy_glInvalidateSubFramebuffer: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            numAttachments: GLsizei,
+            attachments: *const GLenum,
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInvalidateTexImage"]
+    pub static mut epoxy_glInvalidateTexImage:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint, level: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glInvalidateTexSubImage"]
+    pub static mut epoxy_glInvalidateTexSubImage: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsAsyncMarkerSGIX"]
+    pub static mut epoxy_glIsAsyncMarkerSGIX:
+        ::std::option::Option<unsafe extern "C" fn(marker: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsBuffer"]
+    pub static mut epoxy_glIsBuffer:
+        ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsBufferARB"]
+    pub static mut epoxy_glIsBufferARB:
+        ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsBufferResidentNV"]
+    pub static mut epoxy_glIsBufferResidentNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsCommandListNV"]
+    pub static mut epoxy_glIsCommandListNV:
+        ::std::option::Option<unsafe extern "C" fn(list: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsEnabled"]
+    pub static mut epoxy_glIsEnabled:
+        ::std::option::Option<unsafe extern "C" fn(cap: GLenum) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsEnabledIndexedEXT"]
+    pub static mut epoxy_glIsEnabledIndexedEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsEnabledi"]
+    pub static mut epoxy_glIsEnabledi:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsEnablediEXT"]
+    pub static mut epoxy_glIsEnablediEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsEnablediNV"]
+    pub static mut epoxy_glIsEnablediNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsEnablediOES"]
+    pub static mut epoxy_glIsEnablediOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsFenceAPPLE"]
+    pub static mut epoxy_glIsFenceAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(fence: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsFenceNV"]
+    pub static mut epoxy_glIsFenceNV:
+        ::std::option::Option<unsafe extern "C" fn(fence: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsFramebuffer"]
+    pub static mut epoxy_glIsFramebuffer:
+        ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsFramebufferEXT"]
+    pub static mut epoxy_glIsFramebufferEXT:
+        ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsFramebufferOES"]
+    pub static mut epoxy_glIsFramebufferOES:
+        ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsImageHandleResidentARB"]
+    pub static mut epoxy_glIsImageHandleResidentARB:
+        ::std::option::Option<unsafe extern "C" fn(handle: GLuint64) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsImageHandleResidentNV"]
+    pub static mut epoxy_glIsImageHandleResidentNV:
+        ::std::option::Option<unsafe extern "C" fn(handle: GLuint64) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsList"]
+    pub static mut epoxy_glIsList:
+        ::std::option::Option<unsafe extern "C" fn(list: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsNameAMD"]
+    pub static mut epoxy_glIsNameAMD:
+        ::std::option::Option<unsafe extern "C" fn(identifier: GLenum, name: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsNamedBufferResidentNV"]
+    pub static mut epoxy_glIsNamedBufferResidentNV:
+        ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsNamedStringARB"]
+    pub static mut epoxy_glIsNamedStringARB: ::std::option::Option<
+        unsafe extern "C" fn(namelen: GLint, name: *const GLchar) -> GLboolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsObjectBufferATI"]
+    pub static mut epoxy_glIsObjectBufferATI:
+        ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsOcclusionQueryNV"]
+    pub static mut epoxy_glIsOcclusionQueryNV:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsPathNV"]
+    pub static mut epoxy_glIsPathNV:
+        ::std::option::Option<unsafe extern "C" fn(path: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsPointInFillPathNV"]
+    pub static mut epoxy_glIsPointInFillPathNV: ::std::option::Option<
+        unsafe extern "C" fn(path: GLuint, mask: GLuint, x: GLfloat, y: GLfloat) -> GLboolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsPointInStrokePathNV"]
+    pub static mut epoxy_glIsPointInStrokePathNV: ::std::option::Option<
+        unsafe extern "C" fn(path: GLuint, x: GLfloat, y: GLfloat) -> GLboolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsProgram"]
+    pub static mut epoxy_glIsProgram:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsProgramARB"]
+    pub static mut epoxy_glIsProgramARB:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsProgramNV"]
+    pub static mut epoxy_glIsProgramNV:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsProgramPipeline"]
+    pub static mut epoxy_glIsProgramPipeline:
+        ::std::option::Option<unsafe extern "C" fn(pipeline: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsProgramPipelineEXT"]
+    pub static mut epoxy_glIsProgramPipelineEXT:
+        ::std::option::Option<unsafe extern "C" fn(pipeline: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsQuery"]
+    pub static mut epoxy_glIsQuery:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsQueryARB"]
+    pub static mut epoxy_glIsQueryARB:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsQueryEXT"]
+    pub static mut epoxy_glIsQueryEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsRenderbuffer"]
+    pub static mut epoxy_glIsRenderbuffer:
+        ::std::option::Option<unsafe extern "C" fn(renderbuffer: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsRenderbufferEXT"]
+    pub static mut epoxy_glIsRenderbufferEXT:
+        ::std::option::Option<unsafe extern "C" fn(renderbuffer: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsRenderbufferOES"]
+    pub static mut epoxy_glIsRenderbufferOES:
+        ::std::option::Option<unsafe extern "C" fn(renderbuffer: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsSampler"]
+    pub static mut epoxy_glIsSampler:
+        ::std::option::Option<unsafe extern "C" fn(sampler: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsShader"]
+    pub static mut epoxy_glIsShader:
+        ::std::option::Option<unsafe extern "C" fn(shader: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsStateNV"]
+    pub static mut epoxy_glIsStateNV:
+        ::std::option::Option<unsafe extern "C" fn(state: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsSync"]
+    pub static mut epoxy_glIsSync:
+        ::std::option::Option<unsafe extern "C" fn(sync: GLsync) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsSyncAPPLE"]
+    pub static mut epoxy_glIsSyncAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(sync: GLsync) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsTexture"]
+    pub static mut epoxy_glIsTexture:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsTextureEXT"]
+    pub static mut epoxy_glIsTextureEXT:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsTextureHandleResidentARB"]
+    pub static mut epoxy_glIsTextureHandleResidentARB:
+        ::std::option::Option<unsafe extern "C" fn(handle: GLuint64) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsTextureHandleResidentNV"]
+    pub static mut epoxy_glIsTextureHandleResidentNV:
+        ::std::option::Option<unsafe extern "C" fn(handle: GLuint64) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsTransformFeedback"]
+    pub static mut epoxy_glIsTransformFeedback:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsTransformFeedbackNV"]
+    pub static mut epoxy_glIsTransformFeedbackNV:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsVariantEnabledEXT"]
+    pub static mut epoxy_glIsVariantEnabledEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, cap: GLenum) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsVertexArray"]
+    pub static mut epoxy_glIsVertexArray:
+        ::std::option::Option<unsafe extern "C" fn(array: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsVertexArrayAPPLE"]
+    pub static mut epoxy_glIsVertexArrayAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(array: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsVertexArrayOES"]
+    pub static mut epoxy_glIsVertexArrayOES:
+        ::std::option::Option<unsafe extern "C" fn(array: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glIsVertexAttribEnabledAPPLE"]
+    pub static mut epoxy_glIsVertexAttribEnabledAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLabelObjectEXT"]
+    pub static mut epoxy_glLabelObjectEXT: ::std::option::Option<
+        unsafe extern "C" fn(type_: GLenum, object: GLuint, length: GLsizei, label: *const GLchar),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightEnviSGIX"]
+    pub static mut epoxy_glLightEnviSGIX:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightModelf"]
+    pub static mut epoxy_glLightModelf:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightModelfv"]
+    pub static mut epoxy_glLightModelfv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightModeli"]
+    pub static mut epoxy_glLightModeli:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightModeliv"]
+    pub static mut epoxy_glLightModeliv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightModelx"]
+    pub static mut epoxy_glLightModelx:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightModelxOES"]
+    pub static mut epoxy_glLightModelxOES:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightModelxv"]
+    pub static mut epoxy_glLightModelxv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightModelxvOES"]
+    pub static mut epoxy_glLightModelxvOES:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightf"]
+    pub static mut epoxy_glLightf:
+        ::std::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightfv"]
+    pub static mut epoxy_glLightfv: ::std::option::Option<
+        unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLighti"]
+    pub static mut epoxy_glLighti:
+        ::std::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightiv"]
+    pub static mut epoxy_glLightiv: ::std::option::Option<
+        unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightx"]
+    pub static mut epoxy_glLightx:
+        ::std::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightxOES"]
+    pub static mut epoxy_glLightxOES:
+        ::std::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightxv"]
+    pub static mut epoxy_glLightxv: ::std::option::Option<
+        unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *const GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLightxvOES"]
+    pub static mut epoxy_glLightxvOES: ::std::option::Option<
+        unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *const GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLineStipple"]
+    pub static mut epoxy_glLineStipple:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLint, pattern: GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLineWidth"]
+    pub static mut epoxy_glLineWidth: ::std::option::Option<unsafe extern "C" fn(width: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLineWidthx"]
+    pub static mut epoxy_glLineWidthx: ::std::option::Option<unsafe extern "C" fn(width: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLineWidthxOES"]
+    pub static mut epoxy_glLineWidthxOES:
+        ::std::option::Option<unsafe extern "C" fn(width: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLinkProgram"]
+    pub static mut epoxy_glLinkProgram:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLinkProgramARB"]
+    pub static mut epoxy_glLinkProgramARB:
+        ::std::option::Option<unsafe extern "C" fn(programObj: GLhandleARB)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glListBase"]
+    pub static mut epoxy_glListBase: ::std::option::Option<unsafe extern "C" fn(base: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glListDrawCommandsStatesClientNV"]
+    pub static mut epoxy_glListDrawCommandsStatesClientNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            list: GLuint,
+            segment: GLuint,
+            indirects: *mut *const ::std::os::raw::c_void,
+            sizes: *const GLsizei,
+            states: *const GLuint,
+            fbos: *const GLuint,
+            count: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glListParameterfSGIX"]
+    pub static mut epoxy_glListParameterfSGIX:
+        ::std::option::Option<unsafe extern "C" fn(list: GLuint, pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glListParameterfvSGIX"]
+    pub static mut epoxy_glListParameterfvSGIX: ::std::option::Option<
+        unsafe extern "C" fn(list: GLuint, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glListParameteriSGIX"]
+    pub static mut epoxy_glListParameteriSGIX:
+        ::std::option::Option<unsafe extern "C" fn(list: GLuint, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glListParameterivSGIX"]
+    pub static mut epoxy_glListParameterivSGIX: ::std::option::Option<
+        unsafe extern "C" fn(list: GLuint, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadIdentity"]
+    pub static mut epoxy_glLoadIdentity: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadIdentityDeformationMapSGIX"]
+    pub static mut epoxy_glLoadIdentityDeformationMapSGIX:
+        ::std::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadMatrixd"]
+    pub static mut epoxy_glLoadMatrixd:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadMatrixf"]
+    pub static mut epoxy_glLoadMatrixf:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadMatrixx"]
+    pub static mut epoxy_glLoadMatrixx:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadMatrixxOES"]
+    pub static mut epoxy_glLoadMatrixxOES:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadName"]
+    pub static mut epoxy_glLoadName: ::std::option::Option<unsafe extern "C" fn(name: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadPaletteFromModelViewMatrixOES"]
+    pub static mut epoxy_glLoadPaletteFromModelViewMatrixOES:
+        ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadProgramNV"]
+    pub static mut epoxy_glLoadProgramNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, id: GLuint, len: GLsizei, program: *const GLubyte),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadTransposeMatrixd"]
+    pub static mut epoxy_glLoadTransposeMatrixd:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadTransposeMatrixdARB"]
+    pub static mut epoxy_glLoadTransposeMatrixdARB:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadTransposeMatrixf"]
+    pub static mut epoxy_glLoadTransposeMatrixf:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadTransposeMatrixfARB"]
+    pub static mut epoxy_glLoadTransposeMatrixfARB:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLoadTransposeMatrixxOES"]
+    pub static mut epoxy_glLoadTransposeMatrixxOES:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLockArraysEXT"]
+    pub static mut epoxy_glLockArraysEXT:
+        ::std::option::Option<unsafe extern "C" fn(first: GLint, count: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glLogicOp"]
+    pub static mut epoxy_glLogicOp: ::std::option::Option<unsafe extern "C" fn(opcode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMakeBufferNonResidentNV"]
+    pub static mut epoxy_glMakeBufferNonResidentNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMakeBufferResidentNV"]
+    pub static mut epoxy_glMakeBufferResidentNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, access: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMakeImageHandleNonResidentARB"]
+    pub static mut epoxy_glMakeImageHandleNonResidentARB:
+        ::std::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMakeImageHandleNonResidentNV"]
+    pub static mut epoxy_glMakeImageHandleNonResidentNV:
+        ::std::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMakeImageHandleResidentARB"]
+    pub static mut epoxy_glMakeImageHandleResidentARB:
+        ::std::option::Option<unsafe extern "C" fn(handle: GLuint64, access: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMakeImageHandleResidentNV"]
+    pub static mut epoxy_glMakeImageHandleResidentNV:
+        ::std::option::Option<unsafe extern "C" fn(handle: GLuint64, access: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMakeNamedBufferNonResidentNV"]
+    pub static mut epoxy_glMakeNamedBufferNonResidentNV:
+        ::std::option::Option<unsafe extern "C" fn(buffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMakeNamedBufferResidentNV"]
+    pub static mut epoxy_glMakeNamedBufferResidentNV:
+        ::std::option::Option<unsafe extern "C" fn(buffer: GLuint, access: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMakeTextureHandleNonResidentARB"]
+    pub static mut epoxy_glMakeTextureHandleNonResidentARB:
+        ::std::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMakeTextureHandleNonResidentNV"]
+    pub static mut epoxy_glMakeTextureHandleNonResidentNV:
+        ::std::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMakeTextureHandleResidentARB"]
+    pub static mut epoxy_glMakeTextureHandleResidentARB:
+        ::std::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMakeTextureHandleResidentNV"]
+    pub static mut epoxy_glMakeTextureHandleResidentNV:
+        ::std::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMap1d"]
+    pub static mut epoxy_glMap1d: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            u1: GLdouble,
+            u2: GLdouble,
+            stride: GLint,
+            order: GLint,
+            points: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMap1f"]
+    pub static mut epoxy_glMap1f: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            u1: GLfloat,
+            u2: GLfloat,
+            stride: GLint,
+            order: GLint,
+            points: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMap1xOES"]
+    pub static mut epoxy_glMap1xOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            u1: GLfixed,
+            u2: GLfixed,
+            stride: GLint,
+            order: GLint,
+            points: GLfixed,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMap2d"]
+    pub static mut epoxy_glMap2d: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            u1: GLdouble,
+            u2: GLdouble,
+            ustride: GLint,
+            uorder: GLint,
+            v1: GLdouble,
+            v2: GLdouble,
+            vstride: GLint,
+            vorder: GLint,
+            points: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMap2f"]
+    pub static mut epoxy_glMap2f: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            u1: GLfloat,
+            u2: GLfloat,
+            ustride: GLint,
+            uorder: GLint,
+            v1: GLfloat,
+            v2: GLfloat,
+            vstride: GLint,
+            vorder: GLint,
+            points: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMap2xOES"]
+    pub static mut epoxy_glMap2xOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            u1: GLfixed,
+            u2: GLfixed,
+            ustride: GLint,
+            uorder: GLint,
+            v1: GLfixed,
+            v2: GLfixed,
+            vstride: GLint,
+            vorder: GLint,
+            points: GLfixed,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapBuffer"]
+    pub static mut epoxy_glMapBuffer: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, access: GLenum) -> *mut ::std::os::raw::c_void,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapBufferARB"]
+    pub static mut epoxy_glMapBufferARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, access: GLenum) -> *mut ::std::os::raw::c_void,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapBufferOES"]
+    pub static mut epoxy_glMapBufferOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, access: GLenum) -> *mut ::std::os::raw::c_void,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapBufferRange"]
+    pub static mut epoxy_glMapBufferRange: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            offset: GLintptr,
+            length: GLsizeiptr,
+            access: GLbitfield,
+        ) -> *mut ::std::os::raw::c_void,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapBufferRangeEXT"]
+    pub static mut epoxy_glMapBufferRangeEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            offset: GLintptr,
+            length: GLsizeiptr,
+            access: GLbitfield,
+        ) -> *mut ::std::os::raw::c_void,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapControlPointsNV"]
+    pub static mut epoxy_glMapControlPointsNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            index: GLuint,
+            type_: GLenum,
+            ustride: GLsizei,
+            vstride: GLsizei,
+            uorder: GLint,
+            vorder: GLint,
+            packed: GLboolean,
+            points: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapGrid1d"]
+    pub static mut epoxy_glMapGrid1d:
+        ::std::option::Option<unsafe extern "C" fn(un: GLint, u1: GLdouble, u2: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapGrid1f"]
+    pub static mut epoxy_glMapGrid1f:
+        ::std::option::Option<unsafe extern "C" fn(un: GLint, u1: GLfloat, u2: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapGrid1xOES"]
+    pub static mut epoxy_glMapGrid1xOES:
+        ::std::option::Option<unsafe extern "C" fn(n: GLint, u1: GLfixed, u2: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapGrid2d"]
+    pub static mut epoxy_glMapGrid2d: ::std::option::Option<
+        unsafe extern "C" fn(
+            un: GLint,
+            u1: GLdouble,
+            u2: GLdouble,
+            vn: GLint,
+            v1: GLdouble,
+            v2: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapGrid2f"]
+    pub static mut epoxy_glMapGrid2f: ::std::option::Option<
+        unsafe extern "C" fn(
+            un: GLint,
+            u1: GLfloat,
+            u2: GLfloat,
+            vn: GLint,
+            v1: GLfloat,
+            v2: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapGrid2xOES"]
+    pub static mut epoxy_glMapGrid2xOES: ::std::option::Option<
+        unsafe extern "C" fn(n: GLint, u1: GLfixed, u2: GLfixed, v1: GLfixed, v2: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapNamedBuffer"]
+    pub static mut epoxy_glMapNamedBuffer: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLuint, access: GLenum) -> *mut ::std::os::raw::c_void,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapNamedBufferEXT"]
+    pub static mut epoxy_glMapNamedBufferEXT: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLuint, access: GLenum) -> *mut ::std::os::raw::c_void,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapNamedBufferRange"]
+    pub static mut epoxy_glMapNamedBufferRange: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            offset: GLintptr,
+            length: GLsizeiptr,
+            access: GLbitfield,
+        ) -> *mut ::std::os::raw::c_void,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapNamedBufferRangeEXT"]
+    pub static mut epoxy_glMapNamedBufferRangeEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            offset: GLintptr,
+            length: GLsizeiptr,
+            access: GLbitfield,
+        ) -> *mut ::std::os::raw::c_void,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapObjectBufferATI"]
+    pub static mut epoxy_glMapObjectBufferATI:
+        ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> *mut ::std::os::raw::c_void>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapParameterfvNV"]
+    pub static mut epoxy_glMapParameterfvNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapParameterivNV"]
+    pub static mut epoxy_glMapParameterivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapTexture2DINTEL"]
+    pub static mut epoxy_glMapTexture2DINTEL: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            access: GLbitfield,
+            stride: *mut GLint,
+            layout: *mut GLenum,
+        ) -> *mut ::std::os::raw::c_void,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapVertexAttrib1dAPPLE"]
+    pub static mut epoxy_glMapVertexAttrib1dAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            size: GLuint,
+            u1: GLdouble,
+            u2: GLdouble,
+            stride: GLint,
+            order: GLint,
+            points: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapVertexAttrib1fAPPLE"]
+    pub static mut epoxy_glMapVertexAttrib1fAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            size: GLuint,
+            u1: GLfloat,
+            u2: GLfloat,
+            stride: GLint,
+            order: GLint,
+            points: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapVertexAttrib2dAPPLE"]
+    pub static mut epoxy_glMapVertexAttrib2dAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            size: GLuint,
+            u1: GLdouble,
+            u2: GLdouble,
+            ustride: GLint,
+            uorder: GLint,
+            v1: GLdouble,
+            v2: GLdouble,
+            vstride: GLint,
+            vorder: GLint,
+            points: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMapVertexAttrib2fAPPLE"]
+    pub static mut epoxy_glMapVertexAttrib2fAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            size: GLuint,
+            u1: GLfloat,
+            u2: GLfloat,
+            ustride: GLint,
+            uorder: GLint,
+            v1: GLfloat,
+            v2: GLfloat,
+            vstride: GLint,
+            vorder: GLint,
+            points: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMaterialf"]
+    pub static mut epoxy_glMaterialf:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMaterialfv"]
+    pub static mut epoxy_glMaterialfv: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMateriali"]
+    pub static mut epoxy_glMateriali:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMaterialiv"]
+    pub static mut epoxy_glMaterialiv: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMaterialx"]
+    pub static mut epoxy_glMaterialx:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMaterialxOES"]
+    pub static mut epoxy_glMaterialxOES:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMaterialxv"]
+    pub static mut epoxy_glMaterialxv: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, pname: GLenum, param: *const GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMaterialxvOES"]
+    pub static mut epoxy_glMaterialxvOES: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, pname: GLenum, param: *const GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixFrustumEXT"]
+    pub static mut epoxy_glMatrixFrustumEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            left: GLdouble,
+            right: GLdouble,
+            bottom: GLdouble,
+            top: GLdouble,
+            zNear: GLdouble,
+            zFar: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixIndexPointerARB"]
+    pub static mut epoxy_glMatrixIndexPointerARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixIndexPointerOES"]
+    pub static mut epoxy_glMatrixIndexPointerOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixIndexubvARB"]
+    pub static mut epoxy_glMatrixIndexubvARB:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, indices: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixIndexuivARB"]
+    pub static mut epoxy_glMatrixIndexuivARB:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, indices: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixIndexusvARB"]
+    pub static mut epoxy_glMatrixIndexusvARB:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, indices: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixLoad3x2fNV"]
+    pub static mut epoxy_glMatrixLoad3x2fNV:
+        ::std::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixLoad3x3fNV"]
+    pub static mut epoxy_glMatrixLoad3x3fNV:
+        ::std::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixLoadIdentityEXT"]
+    pub static mut epoxy_glMatrixLoadIdentityEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixLoadTranspose3x3fNV"]
+    pub static mut epoxy_glMatrixLoadTranspose3x3fNV:
+        ::std::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixLoadTransposedEXT"]
+    pub static mut epoxy_glMatrixLoadTransposedEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixLoadTransposefEXT"]
+    pub static mut epoxy_glMatrixLoadTransposefEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixLoaddEXT"]
+    pub static mut epoxy_glMatrixLoaddEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixLoadfEXT"]
+    pub static mut epoxy_glMatrixLoadfEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixMode"]
+    pub static mut epoxy_glMatrixMode: ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixMult3x2fNV"]
+    pub static mut epoxy_glMatrixMult3x2fNV:
+        ::std::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixMult3x3fNV"]
+    pub static mut epoxy_glMatrixMult3x3fNV:
+        ::std::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixMultTranspose3x3fNV"]
+    pub static mut epoxy_glMatrixMultTranspose3x3fNV:
+        ::std::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixMultTransposedEXT"]
+    pub static mut epoxy_glMatrixMultTransposedEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixMultTransposefEXT"]
+    pub static mut epoxy_glMatrixMultTransposefEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixMultdEXT"]
+    pub static mut epoxy_glMatrixMultdEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixMultfEXT"]
+    pub static mut epoxy_glMatrixMultfEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixOrthoEXT"]
+    pub static mut epoxy_glMatrixOrthoEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            left: GLdouble,
+            right: GLdouble,
+            bottom: GLdouble,
+            top: GLdouble,
+            zNear: GLdouble,
+            zFar: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixPopEXT"]
+    pub static mut epoxy_glMatrixPopEXT: ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixPushEXT"]
+    pub static mut epoxy_glMatrixPushEXT: ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixRotatedEXT"]
+    pub static mut epoxy_glMatrixRotatedEXT: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, angle: GLdouble, x: GLdouble, y: GLdouble, z: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixRotatefEXT"]
+    pub static mut epoxy_glMatrixRotatefEXT: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, angle: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixScaledEXT"]
+    pub static mut epoxy_glMatrixScaledEXT: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, x: GLdouble, y: GLdouble, z: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixScalefEXT"]
+    pub static mut epoxy_glMatrixScalefEXT: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, x: GLfloat, y: GLfloat, z: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixTranslatedEXT"]
+    pub static mut epoxy_glMatrixTranslatedEXT: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, x: GLdouble, y: GLdouble, z: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMatrixTranslatefEXT"]
+    pub static mut epoxy_glMatrixTranslatefEXT: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, x: GLfloat, y: GLfloat, z: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMaxShaderCompilerThreadsARB"]
+    pub static mut epoxy_glMaxShaderCompilerThreadsARB:
+        ::std::option::Option<unsafe extern "C" fn(count: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMemoryBarrier"]
+    pub static mut epoxy_glMemoryBarrier:
+        ::std::option::Option<unsafe extern "C" fn(barriers: GLbitfield)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMemoryBarrierByRegion"]
+    pub static mut epoxy_glMemoryBarrierByRegion:
+        ::std::option::Option<unsafe extern "C" fn(barriers: GLbitfield)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMemoryBarrierEXT"]
+    pub static mut epoxy_glMemoryBarrierEXT:
+        ::std::option::Option<unsafe extern "C" fn(barriers: GLbitfield)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMinSampleShading"]
+    pub static mut epoxy_glMinSampleShading:
+        ::std::option::Option<unsafe extern "C" fn(value: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMinSampleShadingARB"]
+    pub static mut epoxy_glMinSampleShadingARB:
+        ::std::option::Option<unsafe extern "C" fn(value: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMinSampleShadingOES"]
+    pub static mut epoxy_glMinSampleShadingOES:
+        ::std::option::Option<unsafe extern "C" fn(value: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMinmax"]
+    pub static mut epoxy_glMinmax: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, internalformat: GLenum, sink: GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMinmaxEXT"]
+    pub static mut epoxy_glMinmaxEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, internalformat: GLenum, sink: GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultMatrixd"]
+    pub static mut epoxy_glMultMatrixd:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultMatrixf"]
+    pub static mut epoxy_glMultMatrixf:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultMatrixx"]
+    pub static mut epoxy_glMultMatrixx:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultMatrixxOES"]
+    pub static mut epoxy_glMultMatrixxOES:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultTransposeMatrixd"]
+    pub static mut epoxy_glMultTransposeMatrixd:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultTransposeMatrixdARB"]
+    pub static mut epoxy_glMultTransposeMatrixdARB:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultTransposeMatrixf"]
+    pub static mut epoxy_glMultTransposeMatrixf:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultTransposeMatrixfARB"]
+    pub static mut epoxy_glMultTransposeMatrixfARB:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultTransposeMatrixxOES"]
+    pub static mut epoxy_glMultTransposeMatrixxOES:
+        ::std::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawArrays"]
+    pub static mut epoxy_glMultiDrawArrays: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            first: *const GLint,
+            count: *const GLsizei,
+            drawcount: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawArraysEXT"]
+    pub static mut epoxy_glMultiDrawArraysEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            first: *const GLint,
+            count: *const GLsizei,
+            primcount: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawArraysIndirect"]
+    pub static mut epoxy_glMultiDrawArraysIndirect: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            indirect: *const ::std::os::raw::c_void,
+            drawcount: GLsizei,
+            stride: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawArraysIndirectAMD"]
+    pub static mut epoxy_glMultiDrawArraysIndirectAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            indirect: *const ::std::os::raw::c_void,
+            primcount: GLsizei,
+            stride: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawArraysIndirectBindlessCountNV"]
+    pub static mut epoxy_glMultiDrawArraysIndirectBindlessCountNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            indirect: *const ::std::os::raw::c_void,
+            drawCount: GLsizei,
+            maxDrawCount: GLsizei,
+            stride: GLsizei,
+            vertexBufferCount: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawArraysIndirectBindlessNV"]
+    pub static mut epoxy_glMultiDrawArraysIndirectBindlessNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            indirect: *const ::std::os::raw::c_void,
+            drawCount: GLsizei,
+            stride: GLsizei,
+            vertexBufferCount: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawArraysIndirectCountARB"]
+    pub static mut epoxy_glMultiDrawArraysIndirectCountARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            indirect: GLintptr,
+            drawcount: GLintptr,
+            maxdrawcount: GLsizei,
+            stride: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawArraysIndirectEXT"]
+    pub static mut epoxy_glMultiDrawArraysIndirectEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            indirect: *const ::std::os::raw::c_void,
+            drawcount: GLsizei,
+            stride: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawElementArrayAPPLE"]
+    pub static mut epoxy_glMultiDrawElementArrayAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            first: *const GLint,
+            count: *const GLsizei,
+            primcount: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawElements"]
+    pub static mut epoxy_glMultiDrawElements: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: *const GLsizei,
+            type_: GLenum,
+            indices: *const *const ::std::os::raw::c_void,
+            drawcount: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawElementsBaseVertex"]
+    pub static mut epoxy_glMultiDrawElementsBaseVertex: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: *const GLsizei,
+            type_: GLenum,
+            indices: *const *const ::std::os::raw::c_void,
+            drawcount: GLsizei,
+            basevertex: *const GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawElementsBaseVertexEXT"]
+    pub static mut epoxy_glMultiDrawElementsBaseVertexEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: *const GLsizei,
+            type_: GLenum,
+            indices: *const *const ::std::os::raw::c_void,
+            primcount: GLsizei,
+            basevertex: *const GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawElementsBaseVertexOES"]
+    pub static mut epoxy_glMultiDrawElementsBaseVertexOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: *const GLsizei,
+            type_: GLenum,
+            indices: *const *const ::std::os::raw::c_void,
+            primcount: GLsizei,
+            basevertex: *const GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawElementsEXT"]
+    pub static mut epoxy_glMultiDrawElementsEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            count: *const GLsizei,
+            type_: GLenum,
+            indices: *const *const ::std::os::raw::c_void,
+            primcount: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawElementsIndirect"]
+    pub static mut epoxy_glMultiDrawElementsIndirect: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            type_: GLenum,
+            indirect: *const ::std::os::raw::c_void,
+            drawcount: GLsizei,
+            stride: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawElementsIndirectAMD"]
+    pub static mut epoxy_glMultiDrawElementsIndirectAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            type_: GLenum,
+            indirect: *const ::std::os::raw::c_void,
+            primcount: GLsizei,
+            stride: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawElementsIndirectBindlessCountNV"]
+    pub static mut epoxy_glMultiDrawElementsIndirectBindlessCountNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            type_: GLenum,
+            indirect: *const ::std::os::raw::c_void,
+            drawCount: GLsizei,
+            maxDrawCount: GLsizei,
+            stride: GLsizei,
+            vertexBufferCount: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawElementsIndirectBindlessNV"]
+    pub static mut epoxy_glMultiDrawElementsIndirectBindlessNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            type_: GLenum,
+            indirect: *const ::std::os::raw::c_void,
+            drawCount: GLsizei,
+            stride: GLsizei,
+            vertexBufferCount: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawElementsIndirectCountARB"]
+    pub static mut epoxy_glMultiDrawElementsIndirectCountARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            type_: GLenum,
+            indirect: GLintptr,
+            drawcount: GLintptr,
+            maxdrawcount: GLsizei,
+            stride: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawElementsIndirectEXT"]
+    pub static mut epoxy_glMultiDrawElementsIndirectEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            type_: GLenum,
+            indirect: *const ::std::os::raw::c_void,
+            drawcount: GLsizei,
+            stride: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiDrawRangeElementArrayAPPLE"]
+    pub static mut epoxy_glMultiDrawRangeElementArrayAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: GLenum,
+            start: GLuint,
+            end: GLuint,
+            first: *const GLint,
+            count: *const GLsizei,
+            primcount: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiModeDrawArraysIBM"]
+    pub static mut epoxy_glMultiModeDrawArraysIBM: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: *const GLenum,
+            first: *const GLint,
+            count: *const GLsizei,
+            primcount: GLsizei,
+            modestride: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiModeDrawElementsIBM"]
+    pub static mut epoxy_glMultiModeDrawElementsIBM: ::std::option::Option<
+        unsafe extern "C" fn(
+            mode: *const GLenum,
+            count: *const GLsizei,
+            type_: GLenum,
+            indices: *const *const ::std::os::raw::c_void,
+            primcount: GLsizei,
+            modestride: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexBufferEXT"]
+    pub static mut epoxy_glMultiTexBufferEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            internalformat: GLenum,
+            buffer: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1bOES"]
+    pub static mut epoxy_glMultiTexCoord1bOES:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1bvOES"]
+    pub static mut epoxy_glMultiTexCoord1bvOES:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1d"]
+    pub static mut epoxy_glMultiTexCoord1d:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1dARB"]
+    pub static mut epoxy_glMultiTexCoord1dARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1dv"]
+    pub static mut epoxy_glMultiTexCoord1dv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1dvARB"]
+    pub static mut epoxy_glMultiTexCoord1dvARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1f"]
+    pub static mut epoxy_glMultiTexCoord1f:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1fARB"]
+    pub static mut epoxy_glMultiTexCoord1fARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1fv"]
+    pub static mut epoxy_glMultiTexCoord1fv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1fvARB"]
+    pub static mut epoxy_glMultiTexCoord1fvARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1hNV"]
+    pub static mut epoxy_glMultiTexCoord1hNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1hvNV"]
+    pub static mut epoxy_glMultiTexCoord1hvNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1i"]
+    pub static mut epoxy_glMultiTexCoord1i:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1iARB"]
+    pub static mut epoxy_glMultiTexCoord1iARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1iv"]
+    pub static mut epoxy_glMultiTexCoord1iv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1ivARB"]
+    pub static mut epoxy_glMultiTexCoord1ivARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1s"]
+    pub static mut epoxy_glMultiTexCoord1s:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1sARB"]
+    pub static mut epoxy_glMultiTexCoord1sARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1sv"]
+    pub static mut epoxy_glMultiTexCoord1sv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1svARB"]
+    pub static mut epoxy_glMultiTexCoord1svARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1xOES"]
+    pub static mut epoxy_glMultiTexCoord1xOES:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord1xvOES"]
+    pub static mut epoxy_glMultiTexCoord1xvOES:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2bOES"]
+    pub static mut epoxy_glMultiTexCoord2bOES:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLbyte, t: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2bvOES"]
+    pub static mut epoxy_glMultiTexCoord2bvOES:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2d"]
+    pub static mut epoxy_glMultiTexCoord2d:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLdouble, t: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2dARB"]
+    pub static mut epoxy_glMultiTexCoord2dARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLdouble, t: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2dv"]
+    pub static mut epoxy_glMultiTexCoord2dv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2dvARB"]
+    pub static mut epoxy_glMultiTexCoord2dvARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2f"]
+    pub static mut epoxy_glMultiTexCoord2f:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLfloat, t: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2fARB"]
+    pub static mut epoxy_glMultiTexCoord2fARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLfloat, t: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2fv"]
+    pub static mut epoxy_glMultiTexCoord2fv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2fvARB"]
+    pub static mut epoxy_glMultiTexCoord2fvARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2hNV"]
+    pub static mut epoxy_glMultiTexCoord2hNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLhalfNV, t: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2hvNV"]
+    pub static mut epoxy_glMultiTexCoord2hvNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2i"]
+    pub static mut epoxy_glMultiTexCoord2i:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLint, t: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2iARB"]
+    pub static mut epoxy_glMultiTexCoord2iARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLint, t: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2iv"]
+    pub static mut epoxy_glMultiTexCoord2iv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2ivARB"]
+    pub static mut epoxy_glMultiTexCoord2ivARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2s"]
+    pub static mut epoxy_glMultiTexCoord2s:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLshort, t: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2sARB"]
+    pub static mut epoxy_glMultiTexCoord2sARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLshort, t: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2sv"]
+    pub static mut epoxy_glMultiTexCoord2sv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2svARB"]
+    pub static mut epoxy_glMultiTexCoord2svARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2xOES"]
+    pub static mut epoxy_glMultiTexCoord2xOES:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLfixed, t: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord2xvOES"]
+    pub static mut epoxy_glMultiTexCoord2xvOES:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3bOES"]
+    pub static mut epoxy_glMultiTexCoord3bOES: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLenum, s: GLbyte, t: GLbyte, r: GLbyte),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3bvOES"]
+    pub static mut epoxy_glMultiTexCoord3bvOES:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3d"]
+    pub static mut epoxy_glMultiTexCoord3d: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3dARB"]
+    pub static mut epoxy_glMultiTexCoord3dARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3dv"]
+    pub static mut epoxy_glMultiTexCoord3dv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3dvARB"]
+    pub static mut epoxy_glMultiTexCoord3dvARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3f"]
+    pub static mut epoxy_glMultiTexCoord3f: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3fARB"]
+    pub static mut epoxy_glMultiTexCoord3fARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3fv"]
+    pub static mut epoxy_glMultiTexCoord3fv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3fvARB"]
+    pub static mut epoxy_glMultiTexCoord3fvARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3hNV"]
+    pub static mut epoxy_glMultiTexCoord3hNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLhalfNV, t: GLhalfNV, r: GLhalfNV),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3hvNV"]
+    pub static mut epoxy_glMultiTexCoord3hvNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3i"]
+    pub static mut epoxy_glMultiTexCoord3i:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLint, t: GLint, r: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3iARB"]
+    pub static mut epoxy_glMultiTexCoord3iARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLint, t: GLint, r: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3iv"]
+    pub static mut epoxy_glMultiTexCoord3iv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3ivARB"]
+    pub static mut epoxy_glMultiTexCoord3ivARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3s"]
+    pub static mut epoxy_glMultiTexCoord3s: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLshort, t: GLshort, r: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3sARB"]
+    pub static mut epoxy_glMultiTexCoord3sARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLshort, t: GLshort, r: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3sv"]
+    pub static mut epoxy_glMultiTexCoord3sv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3svARB"]
+    pub static mut epoxy_glMultiTexCoord3svARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3xOES"]
+    pub static mut epoxy_glMultiTexCoord3xOES: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLenum, s: GLfixed, t: GLfixed, r: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord3xvOES"]
+    pub static mut epoxy_glMultiTexCoord3xvOES:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4bOES"]
+    pub static mut epoxy_glMultiTexCoord4bOES: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLenum, s: GLbyte, t: GLbyte, r: GLbyte, q: GLbyte),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4bvOES"]
+    pub static mut epoxy_glMultiTexCoord4bvOES:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4d"]
+    pub static mut epoxy_glMultiTexCoord4d: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble, q: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4dARB"]
+    pub static mut epoxy_glMultiTexCoord4dARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble, q: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4dv"]
+    pub static mut epoxy_glMultiTexCoord4dv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4dvARB"]
+    pub static mut epoxy_glMultiTexCoord4dvARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4f"]
+    pub static mut epoxy_glMultiTexCoord4f: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat, q: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4fARB"]
+    pub static mut epoxy_glMultiTexCoord4fARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat, q: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4fv"]
+    pub static mut epoxy_glMultiTexCoord4fv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4fvARB"]
+    pub static mut epoxy_glMultiTexCoord4fvARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4hNV"]
+    pub static mut epoxy_glMultiTexCoord4hNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLhalfNV, t: GLhalfNV, r: GLhalfNV, q: GLhalfNV),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4hvNV"]
+    pub static mut epoxy_glMultiTexCoord4hvNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4i"]
+    pub static mut epoxy_glMultiTexCoord4i: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLint, t: GLint, r: GLint, q: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4iARB"]
+    pub static mut epoxy_glMultiTexCoord4iARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLint, t: GLint, r: GLint, q: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4iv"]
+    pub static mut epoxy_glMultiTexCoord4iv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4ivARB"]
+    pub static mut epoxy_glMultiTexCoord4ivARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4s"]
+    pub static mut epoxy_glMultiTexCoord4s: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLshort, t: GLshort, r: GLshort, q: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4sARB"]
+    pub static mut epoxy_glMultiTexCoord4sARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, s: GLshort, t: GLshort, r: GLshort, q: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4sv"]
+    pub static mut epoxy_glMultiTexCoord4sv:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4svARB"]
+    pub static mut epoxy_glMultiTexCoord4svARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4x"]
+    pub static mut epoxy_glMultiTexCoord4x: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLenum, s: GLfixed, t: GLfixed, r: GLfixed, q: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4xOES"]
+    pub static mut epoxy_glMultiTexCoord4xOES: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLenum, s: GLfixed, t: GLfixed, r: GLfixed, q: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoord4xvOES"]
+    pub static mut epoxy_glMultiTexCoord4xvOES:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoordP1ui"]
+    pub static mut epoxy_glMultiTexCoordP1ui:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoordP1uiv"]
+    pub static mut epoxy_glMultiTexCoordP1uiv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoordP2ui"]
+    pub static mut epoxy_glMultiTexCoordP2ui:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoordP2uiv"]
+    pub static mut epoxy_glMultiTexCoordP2uiv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoordP3ui"]
+    pub static mut epoxy_glMultiTexCoordP3ui:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoordP3uiv"]
+    pub static mut epoxy_glMultiTexCoordP3uiv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoordP4ui"]
+    pub static mut epoxy_glMultiTexCoordP4ui:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoordP4uiv"]
+    pub static mut epoxy_glMultiTexCoordP4uiv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexCoordPointerEXT"]
+    pub static mut epoxy_glMultiTexCoordPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexEnvfEXT"]
+    pub static mut epoxy_glMultiTexEnvfEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, param: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexEnvfvEXT"]
+    pub static mut epoxy_glMultiTexEnvfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            pname: GLenum,
+            params: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexEnviEXT"]
+    pub static mut epoxy_glMultiTexEnviEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, param: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexEnvivEXT"]
+    pub static mut epoxy_glMultiTexEnvivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexGendEXT"]
+    pub static mut epoxy_glMultiTexGendEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, param: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexGendvEXT"]
+    pub static mut epoxy_glMultiTexGendvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            coord: GLenum,
+            pname: GLenum,
+            params: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexGenfEXT"]
+    pub static mut epoxy_glMultiTexGenfEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, param: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexGenfvEXT"]
+    pub static mut epoxy_glMultiTexGenfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexGeniEXT"]
+    pub static mut epoxy_glMultiTexGeniEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, param: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexGenivEXT"]
+    pub static mut epoxy_glMultiTexGenivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexImage1DEXT"]
+    pub static mut epoxy_glMultiTexImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLint,
+            width: GLsizei,
+            border: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexImage2DEXT"]
+    pub static mut epoxy_glMultiTexImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            border: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexImage3DEXT"]
+    pub static mut epoxy_glMultiTexImage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            border: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexParameterIivEXT"]
+    pub static mut epoxy_glMultiTexParameterIivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexParameterIuivEXT"]
+    pub static mut epoxy_glMultiTexParameterIuivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexParameterfEXT"]
+    pub static mut epoxy_glMultiTexParameterfEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, param: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexParameterfvEXT"]
+    pub static mut epoxy_glMultiTexParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            pname: GLenum,
+            params: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexParameteriEXT"]
+    pub static mut epoxy_glMultiTexParameteriEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, param: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexParameterivEXT"]
+    pub static mut epoxy_glMultiTexParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexRenderbufferEXT"]
+    pub static mut epoxy_glMultiTexRenderbufferEXT: ::std::option::Option<
+        unsafe extern "C" fn(texunit: GLenum, target: GLenum, renderbuffer: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexSubImage1DEXT"]
+    pub static mut epoxy_glMultiTexSubImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            width: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexSubImage2DEXT"]
+    pub static mut epoxy_glMultiTexSubImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glMultiTexSubImage3DEXT"]
+    pub static mut epoxy_glMultiTexSubImage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texunit: GLenum,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedBufferData"]
+    pub static mut epoxy_glNamedBufferData: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            size: GLsizeiptr,
+            data: *const ::std::os::raw::c_void,
+            usage: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedBufferDataEXT"]
+    pub static mut epoxy_glNamedBufferDataEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            size: GLsizeiptr,
+            data: *const ::std::os::raw::c_void,
+            usage: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedBufferPageCommitmentARB"]
+    pub static mut epoxy_glNamedBufferPageCommitmentARB: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, size: GLsizeiptr, commit: GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedBufferPageCommitmentEXT"]
+    pub static mut epoxy_glNamedBufferPageCommitmentEXT: ::std::option::Option<
+        unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, size: GLsizeiptr, commit: GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedBufferStorage"]
+    pub static mut epoxy_glNamedBufferStorage: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            size: GLsizeiptr,
+            data: *const ::std::os::raw::c_void,
+            flags: GLbitfield,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedBufferStorageEXT"]
+    pub static mut epoxy_glNamedBufferStorageEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            size: GLsizeiptr,
+            data: *const ::std::os::raw::c_void,
+            flags: GLbitfield,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedBufferSubData"]
+    pub static mut epoxy_glNamedBufferSubData: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            offset: GLintptr,
+            size: GLsizeiptr,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedBufferSubDataEXT"]
+    pub static mut epoxy_glNamedBufferSubDataEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            offset: GLintptr,
+            size: GLsizeiptr,
+            data: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedCopyBufferSubDataEXT"]
+    pub static mut epoxy_glNamedCopyBufferSubDataEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            readBuffer: GLuint,
+            writeBuffer: GLuint,
+            readOffset: GLintptr,
+            writeOffset: GLintptr,
+            size: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferDrawBuffer"]
+    pub static mut epoxy_glNamedFramebufferDrawBuffer:
+        ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, buf: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferDrawBuffers"]
+    pub static mut epoxy_glNamedFramebufferDrawBuffers: ::std::option::Option<
+        unsafe extern "C" fn(framebuffer: GLuint, n: GLsizei, bufs: *const GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferParameteri"]
+    pub static mut epoxy_glNamedFramebufferParameteri: ::std::option::Option<
+        unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, param: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferParameteriEXT"]
+    pub static mut epoxy_glNamedFramebufferParameteriEXT: ::std::option::Option<
+        unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, param: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferReadBuffer"]
+    pub static mut epoxy_glNamedFramebufferReadBuffer:
+        ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, src: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferRenderbuffer"]
+    pub static mut epoxy_glNamedFramebufferRenderbuffer: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            attachment: GLenum,
+            renderbuffertarget: GLenum,
+            renderbuffer: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferRenderbufferEXT"]
+    pub static mut epoxy_glNamedFramebufferRenderbufferEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            attachment: GLenum,
+            renderbuffertarget: GLenum,
+            renderbuffer: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferSampleLocationsfvARB"]
+    pub static mut epoxy_glNamedFramebufferSampleLocationsfvARB: ::std::option::Option<
+        unsafe extern "C" fn(framebuffer: GLuint, start: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferSampleLocationsfvNV"]
+    pub static mut epoxy_glNamedFramebufferSampleLocationsfvNV: ::std::option::Option<
+        unsafe extern "C" fn(framebuffer: GLuint, start: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferSamplePositionsfvAMD"]
+    pub static mut epoxy_glNamedFramebufferSamplePositionsfvAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            numsamples: GLuint,
+            pixelindex: GLuint,
+            values: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferTexture"]
+    pub static mut epoxy_glNamedFramebufferTexture: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            attachment: GLenum,
+            texture: GLuint,
+            level: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferTexture1DEXT"]
+    pub static mut epoxy_glNamedFramebufferTexture1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferTexture2DEXT"]
+    pub static mut epoxy_glNamedFramebufferTexture2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferTexture3DEXT"]
+    pub static mut epoxy_glNamedFramebufferTexture3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            attachment: GLenum,
+            textarget: GLenum,
+            texture: GLuint,
+            level: GLint,
+            zoffset: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferTextureEXT"]
+    pub static mut epoxy_glNamedFramebufferTextureEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            attachment: GLenum,
+            texture: GLuint,
+            level: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferTextureFaceEXT"]
+    pub static mut epoxy_glNamedFramebufferTextureFaceEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            attachment: GLenum,
+            texture: GLuint,
+            level: GLint,
+            face: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferTextureLayer"]
+    pub static mut epoxy_glNamedFramebufferTextureLayer: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            attachment: GLenum,
+            texture: GLuint,
+            level: GLint,
+            layer: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedFramebufferTextureLayerEXT"]
+    pub static mut epoxy_glNamedFramebufferTextureLayerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            framebuffer: GLuint,
+            attachment: GLenum,
+            texture: GLuint,
+            level: GLint,
+            layer: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedProgramLocalParameter4dEXT"]
+    pub static mut epoxy_glNamedProgramLocalParameter4dEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            target: GLenum,
+            index: GLuint,
+            x: GLdouble,
+            y: GLdouble,
+            z: GLdouble,
+            w: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedProgramLocalParameter4dvEXT"]
+    pub static mut epoxy_glNamedProgramLocalParameter4dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            target: GLenum,
+            index: GLuint,
+            params: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedProgramLocalParameter4fEXT"]
+    pub static mut epoxy_glNamedProgramLocalParameter4fEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            target: GLenum,
+            index: GLuint,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+            w: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedProgramLocalParameter4fvEXT"]
+    pub static mut epoxy_glNamedProgramLocalParameter4fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            target: GLenum,
+            index: GLuint,
+            params: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedProgramLocalParameterI4iEXT"]
+    pub static mut epoxy_glNamedProgramLocalParameterI4iEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            target: GLenum,
+            index: GLuint,
+            x: GLint,
+            y: GLint,
+            z: GLint,
+            w: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedProgramLocalParameterI4ivEXT"]
+    pub static mut epoxy_glNamedProgramLocalParameterI4ivEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedProgramLocalParameterI4uiEXT"]
+    pub static mut epoxy_glNamedProgramLocalParameterI4uiEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            target: GLenum,
+            index: GLuint,
+            x: GLuint,
+            y: GLuint,
+            z: GLuint,
+            w: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedProgramLocalParameterI4uivEXT"]
+    pub static mut epoxy_glNamedProgramLocalParameterI4uivEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedProgramLocalParameters4fvEXT"]
+    pub static mut epoxy_glNamedProgramLocalParameters4fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            target: GLenum,
+            index: GLuint,
+            count: GLsizei,
+            params: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedProgramLocalParametersI4ivEXT"]
+    pub static mut epoxy_glNamedProgramLocalParametersI4ivEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            target: GLenum,
+            index: GLuint,
+            count: GLsizei,
+            params: *const GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedProgramLocalParametersI4uivEXT"]
+    pub static mut epoxy_glNamedProgramLocalParametersI4uivEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            target: GLenum,
+            index: GLuint,
+            count: GLsizei,
+            params: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedProgramStringEXT"]
+    pub static mut epoxy_glNamedProgramStringEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            target: GLenum,
+            format: GLenum,
+            len: GLsizei,
+            string: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedRenderbufferStorage"]
+    pub static mut epoxy_glNamedRenderbufferStorage: ::std::option::Option<
+        unsafe extern "C" fn(
+            renderbuffer: GLuint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedRenderbufferStorageEXT"]
+    pub static mut epoxy_glNamedRenderbufferStorageEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            renderbuffer: GLuint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedRenderbufferStorageMultisample"]
+    pub static mut epoxy_glNamedRenderbufferStorageMultisample: ::std::option::Option<
+        unsafe extern "C" fn(
+            renderbuffer: GLuint,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedRenderbufferStorageMultisampleCoverageEXT"]
+    pub static mut epoxy_glNamedRenderbufferStorageMultisampleCoverageEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            renderbuffer: GLuint,
+            coverageSamples: GLsizei,
+            colorSamples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedRenderbufferStorageMultisampleEXT"]
+    pub static mut epoxy_glNamedRenderbufferStorageMultisampleEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            renderbuffer: GLuint,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNamedStringARB"]
+    pub static mut epoxy_glNamedStringARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            namelen: GLint,
+            name: *const GLchar,
+            stringlen: GLint,
+            string: *const GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNewList"]
+    pub static mut epoxy_glNewList:
+        ::std::option::Option<unsafe extern "C" fn(list: GLuint, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNewObjectBufferATI"]
+    pub static mut epoxy_glNewObjectBufferATI: ::std::option::Option<
+        unsafe extern "C" fn(size: GLsizei, pointer: *const ::std::os::raw::c_void, usage: GLenum)
+            -> GLuint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3b"]
+    pub static mut epoxy_glNormal3b:
+        ::std::option::Option<unsafe extern "C" fn(nx: GLbyte, ny: GLbyte, nz: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3bv"]
+    pub static mut epoxy_glNormal3bv: ::std::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3d"]
+    pub static mut epoxy_glNormal3d:
+        ::std::option::Option<unsafe extern "C" fn(nx: GLdouble, ny: GLdouble, nz: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3dv"]
+    pub static mut epoxy_glNormal3dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3f"]
+    pub static mut epoxy_glNormal3f:
+        ::std::option::Option<unsafe extern "C" fn(nx: GLfloat, ny: GLfloat, nz: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3fVertex3fSUN"]
+    pub static mut epoxy_glNormal3fVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            nx: GLfloat,
+            ny: GLfloat,
+            nz: GLfloat,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3fVertex3fvSUN"]
+    pub static mut epoxy_glNormal3fVertex3fvSUN:
+        ::std::option::Option<unsafe extern "C" fn(n: *const GLfloat, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3fv"]
+    pub static mut epoxy_glNormal3fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3hNV"]
+    pub static mut epoxy_glNormal3hNV:
+        ::std::option::Option<unsafe extern "C" fn(nx: GLhalfNV, ny: GLhalfNV, nz: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3hvNV"]
+    pub static mut epoxy_glNormal3hvNV:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3i"]
+    pub static mut epoxy_glNormal3i:
+        ::std::option::Option<unsafe extern "C" fn(nx: GLint, ny: GLint, nz: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3iv"]
+    pub static mut epoxy_glNormal3iv: ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3s"]
+    pub static mut epoxy_glNormal3s:
+        ::std::option::Option<unsafe extern "C" fn(nx: GLshort, ny: GLshort, nz: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3sv"]
+    pub static mut epoxy_glNormal3sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3x"]
+    pub static mut epoxy_glNormal3x:
+        ::std::option::Option<unsafe extern "C" fn(nx: GLfixed, ny: GLfixed, nz: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3xOES"]
+    pub static mut epoxy_glNormal3xOES:
+        ::std::option::Option<unsafe extern "C" fn(nx: GLfixed, ny: GLfixed, nz: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormal3xvOES"]
+    pub static mut epoxy_glNormal3xvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalFormatNV"]
+    pub static mut epoxy_glNormalFormatNV:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, stride: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalP3ui"]
+    pub static mut epoxy_glNormalP3ui:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalP3uiv"]
+    pub static mut epoxy_glNormalP3uiv:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalPointer"]
+    pub static mut epoxy_glNormalPointer: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalPointerEXT"]
+    pub static mut epoxy_glNormalPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            stride: GLsizei,
+            count: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalPointerListIBM"]
+    pub static mut epoxy_glNormalPointerListIBM: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            stride: GLint,
+            pointer: *mut *const ::std::os::raw::c_void,
+            ptrstride: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalPointervINTEL"]
+    pub static mut epoxy_glNormalPointervINTEL: ::std::option::Option<
+        unsafe extern "C" fn(type_: GLenum, pointer: *mut *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalStream3bATI"]
+    pub static mut epoxy_glNormalStream3bATI: ::std::option::Option<
+        unsafe extern "C" fn(stream: GLenum, nx: GLbyte, ny: GLbyte, nz: GLbyte),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalStream3bvATI"]
+    pub static mut epoxy_glNormalStream3bvATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalStream3dATI"]
+    pub static mut epoxy_glNormalStream3dATI: ::std::option::Option<
+        unsafe extern "C" fn(stream: GLenum, nx: GLdouble, ny: GLdouble, nz: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalStream3dvATI"]
+    pub static mut epoxy_glNormalStream3dvATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalStream3fATI"]
+    pub static mut epoxy_glNormalStream3fATI: ::std::option::Option<
+        unsafe extern "C" fn(stream: GLenum, nx: GLfloat, ny: GLfloat, nz: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalStream3fvATI"]
+    pub static mut epoxy_glNormalStream3fvATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalStream3iATI"]
+    pub static mut epoxy_glNormalStream3iATI: ::std::option::Option<
+        unsafe extern "C" fn(stream: GLenum, nx: GLint, ny: GLint, nz: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalStream3ivATI"]
+    pub static mut epoxy_glNormalStream3ivATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalStream3sATI"]
+    pub static mut epoxy_glNormalStream3sATI: ::std::option::Option<
+        unsafe extern "C" fn(stream: GLenum, nx: GLshort, ny: GLshort, nz: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glNormalStream3svATI"]
+    pub static mut epoxy_glNormalStream3svATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glObjectLabel"]
+    pub static mut epoxy_glObjectLabel: ::std::option::Option<
+        unsafe extern "C" fn(
+            identifier: GLenum,
+            name: GLuint,
+            length: GLsizei,
+            label: *const GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glObjectLabelKHR"]
+    pub static mut epoxy_glObjectLabelKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            identifier: GLenum,
+            name: GLuint,
+            length: GLsizei,
+            label: *const GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glObjectPtrLabel"]
+    pub static mut epoxy_glObjectPtrLabel: ::std::option::Option<
+        unsafe extern "C" fn(
+            ptr: *const ::std::os::raw::c_void,
+            length: GLsizei,
+            label: *const GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glObjectPtrLabelKHR"]
+    pub static mut epoxy_glObjectPtrLabelKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            ptr: *const ::std::os::raw::c_void,
+            length: GLsizei,
+            label: *const GLchar,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glObjectPurgeableAPPLE"]
+    pub static mut epoxy_glObjectPurgeableAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(objectType: GLenum, name: GLuint, option: GLenum) -> GLenum,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glObjectUnpurgeableAPPLE"]
+    pub static mut epoxy_glObjectUnpurgeableAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(objectType: GLenum, name: GLuint, option: GLenum) -> GLenum,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glOrtho"]
+    pub static mut epoxy_glOrtho: ::std::option::Option<
+        unsafe extern "C" fn(
+            left: GLdouble,
+            right: GLdouble,
+            bottom: GLdouble,
+            top: GLdouble,
+            zNear: GLdouble,
+            zFar: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glOrthof"]
+    pub static mut epoxy_glOrthof: ::std::option::Option<
+        unsafe extern "C" fn(
+            l: GLfloat,
+            r: GLfloat,
+            b: GLfloat,
+            t: GLfloat,
+            n: GLfloat,
+            f: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glOrthofOES"]
+    pub static mut epoxy_glOrthofOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            l: GLfloat,
+            r: GLfloat,
+            b: GLfloat,
+            t: GLfloat,
+            n: GLfloat,
+            f: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glOrthox"]
+    pub static mut epoxy_glOrthox: ::std::option::Option<
+        unsafe extern "C" fn(
+            l: GLfixed,
+            r: GLfixed,
+            b: GLfixed,
+            t: GLfixed,
+            n: GLfixed,
+            f: GLfixed,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glOrthoxOES"]
+    pub static mut epoxy_glOrthoxOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            l: GLfixed,
+            r: GLfixed,
+            b: GLfixed,
+            t: GLfixed,
+            n: GLfixed,
+            f: GLfixed,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPNTrianglesfATI"]
+    pub static mut epoxy_glPNTrianglesfATI:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPNTrianglesiATI"]
+    pub static mut epoxy_glPNTrianglesiATI:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPassTexCoordATI"]
+    pub static mut epoxy_glPassTexCoordATI:
+        ::std::option::Option<unsafe extern "C" fn(dst: GLuint, coord: GLuint, swizzle: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPassThrough"]
+    pub static mut epoxy_glPassThrough: ::std::option::Option<unsafe extern "C" fn(token: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPassThroughxOES"]
+    pub static mut epoxy_glPassThroughxOES:
+        ::std::option::Option<unsafe extern "C" fn(token: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPatchParameterfv"]
+    pub static mut epoxy_glPatchParameterfv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, values: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPatchParameteri"]
+    pub static mut epoxy_glPatchParameteri:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, value: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPatchParameteriEXT"]
+    pub static mut epoxy_glPatchParameteriEXT:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, value: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPatchParameteriOES"]
+    pub static mut epoxy_glPatchParameteriOES:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, value: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathColorGenNV"]
+    pub static mut epoxy_glPathColorGenNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            color: GLenum,
+            genMode: GLenum,
+            colorFormat: GLenum,
+            coeffs: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathCommandsNV"]
+    pub static mut epoxy_glPathCommandsNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            path: GLuint,
+            numCommands: GLsizei,
+            commands: *const GLubyte,
+            numCoords: GLsizei,
+            coordType: GLenum,
+            coords: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathCoordsNV"]
+    pub static mut epoxy_glPathCoordsNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            path: GLuint,
+            numCoords: GLsizei,
+            coordType: GLenum,
+            coords: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathCoverDepthFuncNV"]
+    pub static mut epoxy_glPathCoverDepthFuncNV:
+        ::std::option::Option<unsafe extern "C" fn(func: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathDashArrayNV"]
+    pub static mut epoxy_glPathDashArrayNV: ::std::option::Option<
+        unsafe extern "C" fn(path: GLuint, dashCount: GLsizei, dashArray: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathFogGenNV"]
+    pub static mut epoxy_glPathFogGenNV:
+        ::std::option::Option<unsafe extern "C" fn(genMode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathGlyphIndexArrayNV"]
+    pub static mut epoxy_glPathGlyphIndexArrayNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            firstPathName: GLuint,
+            fontTarget: GLenum,
+            fontName: *const ::std::os::raw::c_void,
+            fontStyle: GLbitfield,
+            firstGlyphIndex: GLuint,
+            numGlyphs: GLsizei,
+            pathParameterTemplate: GLuint,
+            emScale: GLfloat,
+        ) -> GLenum,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathGlyphIndexRangeNV"]
+    pub static mut epoxy_glPathGlyphIndexRangeNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            fontTarget: GLenum,
+            fontName: *const ::std::os::raw::c_void,
+            fontStyle: GLbitfield,
+            pathParameterTemplate: GLuint,
+            emScale: GLfloat,
+            baseAndCount: GLuint,
+        ) -> GLenum,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathGlyphRangeNV"]
+    pub static mut epoxy_glPathGlyphRangeNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            firstPathName: GLuint,
+            fontTarget: GLenum,
+            fontName: *const ::std::os::raw::c_void,
+            fontStyle: GLbitfield,
+            firstGlyph: GLuint,
+            numGlyphs: GLsizei,
+            handleMissingGlyphs: GLenum,
+            pathParameterTemplate: GLuint,
+            emScale: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathGlyphsNV"]
+    pub static mut epoxy_glPathGlyphsNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            firstPathName: GLuint,
+            fontTarget: GLenum,
+            fontName: *const ::std::os::raw::c_void,
+            fontStyle: GLbitfield,
+            numGlyphs: GLsizei,
+            type_: GLenum,
+            charcodes: *const ::std::os::raw::c_void,
+            handleMissingGlyphs: GLenum,
+            pathParameterTemplate: GLuint,
+            emScale: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathMemoryGlyphIndexArrayNV"]
+    pub static mut epoxy_glPathMemoryGlyphIndexArrayNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            firstPathName: GLuint,
+            fontTarget: GLenum,
+            fontSize: GLsizeiptr,
+            fontData: *const ::std::os::raw::c_void,
+            faceIndex: GLsizei,
+            firstGlyphIndex: GLuint,
+            numGlyphs: GLsizei,
+            pathParameterTemplate: GLuint,
+            emScale: GLfloat,
+        ) -> GLenum,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathParameterfNV"]
+    pub static mut epoxy_glPathParameterfNV:
+        ::std::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathParameterfvNV"]
+    pub static mut epoxy_glPathParameterfvNV: ::std::option::Option<
+        unsafe extern "C" fn(path: GLuint, pname: GLenum, value: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathParameteriNV"]
+    pub static mut epoxy_glPathParameteriNV:
+        ::std::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathParameterivNV"]
+    pub static mut epoxy_glPathParameterivNV: ::std::option::Option<
+        unsafe extern "C" fn(path: GLuint, pname: GLenum, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathStencilDepthOffsetNV"]
+    pub static mut epoxy_glPathStencilDepthOffsetNV:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLfloat, units: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathStencilFuncNV"]
+    pub static mut epoxy_glPathStencilFuncNV:
+        ::std::option::Option<unsafe extern "C" fn(func: GLenum, ref_: GLint, mask: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathStringNV"]
+    pub static mut epoxy_glPathStringNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            path: GLuint,
+            format: GLenum,
+            length: GLsizei,
+            pathString: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathSubCommandsNV"]
+    pub static mut epoxy_glPathSubCommandsNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            path: GLuint,
+            commandStart: GLsizei,
+            commandsToDelete: GLsizei,
+            numCommands: GLsizei,
+            commands: *const GLubyte,
+            numCoords: GLsizei,
+            coordType: GLenum,
+            coords: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathSubCoordsNV"]
+    pub static mut epoxy_glPathSubCoordsNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            path: GLuint,
+            coordStart: GLsizei,
+            numCoords: GLsizei,
+            coordType: GLenum,
+            coords: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPathTexGenNV"]
+    pub static mut epoxy_glPathTexGenNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            texCoordSet: GLenum,
+            genMode: GLenum,
+            components: GLint,
+            coeffs: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPauseTransformFeedback"]
+    pub static mut epoxy_glPauseTransformFeedback: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPauseTransformFeedbackNV"]
+    pub static mut epoxy_glPauseTransformFeedbackNV: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelDataRangeNV"]
+    pub static mut epoxy_glPixelDataRangeNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            length: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelMapfv"]
+    pub static mut epoxy_glPixelMapfv: ::std::option::Option<
+        unsafe extern "C" fn(map: GLenum, mapsize: GLsizei, values: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelMapuiv"]
+    pub static mut epoxy_glPixelMapuiv: ::std::option::Option<
+        unsafe extern "C" fn(map: GLenum, mapsize: GLsizei, values: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelMapusv"]
+    pub static mut epoxy_glPixelMapusv: ::std::option::Option<
+        unsafe extern "C" fn(map: GLenum, mapsize: GLsizei, values: *const GLushort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelMapx"]
+    pub static mut epoxy_glPixelMapx: ::std::option::Option<
+        unsafe extern "C" fn(map: GLenum, size: GLint, values: *const GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelStoref"]
+    pub static mut epoxy_glPixelStoref:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelStorei"]
+    pub static mut epoxy_glPixelStorei:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelStorex"]
+    pub static mut epoxy_glPixelStorex:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelTexGenParameterfSGIS"]
+    pub static mut epoxy_glPixelTexGenParameterfSGIS:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelTexGenParameterfvSGIS"]
+    pub static mut epoxy_glPixelTexGenParameterfvSGIS:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelTexGenParameteriSGIS"]
+    pub static mut epoxy_glPixelTexGenParameteriSGIS:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelTexGenParameterivSGIS"]
+    pub static mut epoxy_glPixelTexGenParameterivSGIS:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelTexGenSGIX"]
+    pub static mut epoxy_glPixelTexGenSGIX:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelTransferf"]
+    pub static mut epoxy_glPixelTransferf:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelTransferi"]
+    pub static mut epoxy_glPixelTransferi:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelTransferxOES"]
+    pub static mut epoxy_glPixelTransferxOES:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelTransformParameterfEXT"]
+    pub static mut epoxy_glPixelTransformParameterfEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelTransformParameterfvEXT"]
+    pub static mut epoxy_glPixelTransformParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelTransformParameteriEXT"]
+    pub static mut epoxy_glPixelTransformParameteriEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelTransformParameterivEXT"]
+    pub static mut epoxy_glPixelTransformParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelZoom"]
+    pub static mut epoxy_glPixelZoom:
+        ::std::option::Option<unsafe extern "C" fn(xfactor: GLfloat, yfactor: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPixelZoomxOES"]
+    pub static mut epoxy_glPixelZoomxOES:
+        ::std::option::Option<unsafe extern "C" fn(xfactor: GLfixed, yfactor: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointAlongPathNV"]
+    pub static mut epoxy_glPointAlongPathNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            path: GLuint,
+            startSegment: GLsizei,
+            numSegments: GLsizei,
+            distance: GLfloat,
+            x: *mut GLfloat,
+            y: *mut GLfloat,
+            tangentX: *mut GLfloat,
+            tangentY: *mut GLfloat,
+        ) -> GLboolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameterf"]
+    pub static mut epoxy_glPointParameterf:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameterfARB"]
+    pub static mut epoxy_glPointParameterfARB:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameterfEXT"]
+    pub static mut epoxy_glPointParameterfEXT:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameterfSGIS"]
+    pub static mut epoxy_glPointParameterfSGIS:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameterfv"]
+    pub static mut epoxy_glPointParameterfv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameterfvARB"]
+    pub static mut epoxy_glPointParameterfvARB:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameterfvEXT"]
+    pub static mut epoxy_glPointParameterfvEXT:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameterfvSGIS"]
+    pub static mut epoxy_glPointParameterfvSGIS:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameteri"]
+    pub static mut epoxy_glPointParameteri:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameteriNV"]
+    pub static mut epoxy_glPointParameteriNV:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameteriv"]
+    pub static mut epoxy_glPointParameteriv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameterivNV"]
+    pub static mut epoxy_glPointParameterivNV:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameterx"]
+    pub static mut epoxy_glPointParameterx:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameterxOES"]
+    pub static mut epoxy_glPointParameterxOES:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameterxv"]
+    pub static mut epoxy_glPointParameterxv:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointParameterxvOES"]
+    pub static mut epoxy_glPointParameterxvOES:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointSize"]
+    pub static mut epoxy_glPointSize: ::std::option::Option<unsafe extern "C" fn(size: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointSizePointerOES"]
+    pub static mut epoxy_glPointSizePointerOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointSizex"]
+    pub static mut epoxy_glPointSizex: ::std::option::Option<unsafe extern "C" fn(size: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPointSizexOES"]
+    pub static mut epoxy_glPointSizexOES:
+        ::std::option::Option<unsafe extern "C" fn(size: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPollAsyncSGIX"]
+    pub static mut epoxy_glPollAsyncSGIX:
+        ::std::option::Option<unsafe extern "C" fn(markerp: *mut GLuint) -> GLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPollInstrumentsSGIX"]
+    pub static mut epoxy_glPollInstrumentsSGIX:
+        ::std::option::Option<unsafe extern "C" fn(marker_p: *mut GLint) -> GLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPolygonMode"]
+    pub static mut epoxy_glPolygonMode:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPolygonModeNV"]
+    pub static mut epoxy_glPolygonModeNV:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPolygonOffset"]
+    pub static mut epoxy_glPolygonOffset:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLfloat, units: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPolygonOffsetClampEXT"]
+    pub static mut epoxy_glPolygonOffsetClampEXT: ::std::option::Option<
+        unsafe extern "C" fn(factor: GLfloat, units: GLfloat, clamp: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPolygonOffsetEXT"]
+    pub static mut epoxy_glPolygonOffsetEXT:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLfloat, bias: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPolygonOffsetx"]
+    pub static mut epoxy_glPolygonOffsetx:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLfixed, units: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPolygonOffsetxOES"]
+    pub static mut epoxy_glPolygonOffsetxOES:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLfixed, units: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPolygonStipple"]
+    pub static mut epoxy_glPolygonStipple:
+        ::std::option::Option<unsafe extern "C" fn(mask: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPopAttrib"]
+    pub static mut epoxy_glPopAttrib: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPopClientAttrib"]
+    pub static mut epoxy_glPopClientAttrib: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPopDebugGroup"]
+    pub static mut epoxy_glPopDebugGroup: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPopDebugGroupKHR"]
+    pub static mut epoxy_glPopDebugGroupKHR: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPopGroupMarkerEXT"]
+    pub static mut epoxy_glPopGroupMarkerEXT: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPopMatrix"]
+    pub static mut epoxy_glPopMatrix: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPopName"]
+    pub static mut epoxy_glPopName: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPresentFrameDualFillNV"]
+    pub static mut epoxy_glPresentFrameDualFillNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            video_slot: GLuint,
+            minPresentTime: GLuint64EXT,
+            beginPresentTimeId: GLuint,
+            presentDurationId: GLuint,
+            type_: GLenum,
+            target0: GLenum,
+            fill0: GLuint,
+            target1: GLenum,
+            fill1: GLuint,
+            target2: GLenum,
+            fill2: GLuint,
+            target3: GLenum,
+            fill3: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPresentFrameKeyedNV"]
+    pub static mut epoxy_glPresentFrameKeyedNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            video_slot: GLuint,
+            minPresentTime: GLuint64EXT,
+            beginPresentTimeId: GLuint,
+            presentDurationId: GLuint,
+            type_: GLenum,
+            target0: GLenum,
+            fill0: GLuint,
+            key0: GLuint,
+            target1: GLenum,
+            fill1: GLuint,
+            key1: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPrimitiveBoundingBox"]
+    pub static mut epoxy_glPrimitiveBoundingBox: ::std::option::Option<
+        unsafe extern "C" fn(
+            minX: GLfloat,
+            minY: GLfloat,
+            minZ: GLfloat,
+            minW: GLfloat,
+            maxX: GLfloat,
+            maxY: GLfloat,
+            maxZ: GLfloat,
+            maxW: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPrimitiveBoundingBoxARB"]
+    pub static mut epoxy_glPrimitiveBoundingBoxARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            minX: GLfloat,
+            minY: GLfloat,
+            minZ: GLfloat,
+            minW: GLfloat,
+            maxX: GLfloat,
+            maxY: GLfloat,
+            maxZ: GLfloat,
+            maxW: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPrimitiveBoundingBoxEXT"]
+    pub static mut epoxy_glPrimitiveBoundingBoxEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            minX: GLfloat,
+            minY: GLfloat,
+            minZ: GLfloat,
+            minW: GLfloat,
+            maxX: GLfloat,
+            maxY: GLfloat,
+            maxZ: GLfloat,
+            maxW: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPrimitiveBoundingBoxOES"]
+    pub static mut epoxy_glPrimitiveBoundingBoxOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            minX: GLfloat,
+            minY: GLfloat,
+            minZ: GLfloat,
+            minW: GLfloat,
+            maxX: GLfloat,
+            maxY: GLfloat,
+            maxZ: GLfloat,
+            maxW: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPrimitiveRestartIndex"]
+    pub static mut epoxy_glPrimitiveRestartIndex:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPrimitiveRestartIndexNV"]
+    pub static mut epoxy_glPrimitiveRestartIndexNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPrimitiveRestartNV"]
+    pub static mut epoxy_glPrimitiveRestartNV: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPrioritizeTextures"]
+    pub static mut epoxy_glPrioritizeTextures: ::std::option::Option<
+        unsafe extern "C" fn(n: GLsizei, textures: *const GLuint, priorities: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPrioritizeTexturesEXT"]
+    pub static mut epoxy_glPrioritizeTexturesEXT: ::std::option::Option<
+        unsafe extern "C" fn(n: GLsizei, textures: *const GLuint, priorities: *const GLclampf),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPrioritizeTexturesxOES"]
+    pub static mut epoxy_glPrioritizeTexturesxOES: ::std::option::Option<
+        unsafe extern "C" fn(n: GLsizei, textures: *const GLuint, priorities: *const GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramBinary"]
+    pub static mut epoxy_glProgramBinary: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            binaryFormat: GLenum,
+            binary: *const ::std::os::raw::c_void,
+            length: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramBinaryOES"]
+    pub static mut epoxy_glProgramBinaryOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            binaryFormat: GLenum,
+            binary: *const ::std::os::raw::c_void,
+            length: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramBufferParametersIivNV"]
+    pub static mut epoxy_glProgramBufferParametersIivNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            bindingIndex: GLuint,
+            wordIndex: GLuint,
+            count: GLsizei,
+            params: *const GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramBufferParametersIuivNV"]
+    pub static mut epoxy_glProgramBufferParametersIuivNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            bindingIndex: GLuint,
+            wordIndex: GLuint,
+            count: GLsizei,
+            params: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramBufferParametersfvNV"]
+    pub static mut epoxy_glProgramBufferParametersfvNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            bindingIndex: GLuint,
+            wordIndex: GLuint,
+            count: GLsizei,
+            params: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramEnvParameter4dARB"]
+    pub static mut epoxy_glProgramEnvParameter4dARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            index: GLuint,
+            x: GLdouble,
+            y: GLdouble,
+            z: GLdouble,
+            w: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramEnvParameter4dvARB"]
+    pub static mut epoxy_glProgramEnvParameter4dvARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramEnvParameter4fARB"]
+    pub static mut epoxy_glProgramEnvParameter4fARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            index: GLuint,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+            w: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramEnvParameter4fvARB"]
+    pub static mut epoxy_glProgramEnvParameter4fvARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramEnvParameterI4iNV"]
+    pub static mut epoxy_glProgramEnvParameterI4iNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramEnvParameterI4ivNV"]
+    pub static mut epoxy_glProgramEnvParameterI4ivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramEnvParameterI4uiNV"]
+    pub static mut epoxy_glProgramEnvParameterI4uiNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            index: GLuint,
+            x: GLuint,
+            y: GLuint,
+            z: GLuint,
+            w: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramEnvParameterI4uivNV"]
+    pub static mut epoxy_glProgramEnvParameterI4uivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramEnvParameters4fvEXT"]
+    pub static mut epoxy_glProgramEnvParameters4fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramEnvParametersI4ivNV"]
+    pub static mut epoxy_glProgramEnvParametersI4ivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramEnvParametersI4uivNV"]
+    pub static mut epoxy_glProgramEnvParametersI4uivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramLocalParameter4dARB"]
+    pub static mut epoxy_glProgramLocalParameter4dARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            index: GLuint,
+            x: GLdouble,
+            y: GLdouble,
+            z: GLdouble,
+            w: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramLocalParameter4dvARB"]
+    pub static mut epoxy_glProgramLocalParameter4dvARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramLocalParameter4fARB"]
+    pub static mut epoxy_glProgramLocalParameter4fARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            index: GLuint,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+            w: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramLocalParameter4fvARB"]
+    pub static mut epoxy_glProgramLocalParameter4fvARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramLocalParameterI4iNV"]
+    pub static mut epoxy_glProgramLocalParameterI4iNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramLocalParameterI4ivNV"]
+    pub static mut epoxy_glProgramLocalParameterI4ivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramLocalParameterI4uiNV"]
+    pub static mut epoxy_glProgramLocalParameterI4uiNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            index: GLuint,
+            x: GLuint,
+            y: GLuint,
+            z: GLuint,
+            w: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramLocalParameterI4uivNV"]
+    pub static mut epoxy_glProgramLocalParameterI4uivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramLocalParameters4fvEXT"]
+    pub static mut epoxy_glProgramLocalParameters4fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramLocalParametersI4ivNV"]
+    pub static mut epoxy_glProgramLocalParametersI4ivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramLocalParametersI4uivNV"]
+    pub static mut epoxy_glProgramLocalParametersI4uivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramNamedParameter4dNV"]
+    pub static mut epoxy_glProgramNamedParameter4dNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            id: GLuint,
+            len: GLsizei,
+            name: *const GLubyte,
+            x: GLdouble,
+            y: GLdouble,
+            z: GLdouble,
+            w: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramNamedParameter4dvNV"]
+    pub static mut epoxy_glProgramNamedParameter4dvNV: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, len: GLsizei, name: *const GLubyte, v: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramNamedParameter4fNV"]
+    pub static mut epoxy_glProgramNamedParameter4fNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            id: GLuint,
+            len: GLsizei,
+            name: *const GLubyte,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+            w: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramNamedParameter4fvNV"]
+    pub static mut epoxy_glProgramNamedParameter4fvNV: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, len: GLsizei, name: *const GLubyte, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramParameter4dNV"]
+    pub static mut epoxy_glProgramParameter4dNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            index: GLuint,
+            x: GLdouble,
+            y: GLdouble,
+            z: GLdouble,
+            w: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramParameter4dvNV"]
+    pub static mut epoxy_glProgramParameter4dvNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, v: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramParameter4fNV"]
+    pub static mut epoxy_glProgramParameter4fNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            index: GLuint,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+            w: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramParameter4fvNV"]
+    pub static mut epoxy_glProgramParameter4fvNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramParameteri"]
+    pub static mut epoxy_glProgramParameteri:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, pname: GLenum, value: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramParameteriARB"]
+    pub static mut epoxy_glProgramParameteriARB:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, pname: GLenum, value: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramParameteriEXT"]
+    pub static mut epoxy_glProgramParameteriEXT:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, pname: GLenum, value: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramParameters4dvNV"]
+    pub static mut epoxy_glProgramParameters4dvNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, v: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramParameters4fvNV"]
+    pub static mut epoxy_glProgramParameters4fvNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramPathFragmentInputGenNV"]
+    pub static mut epoxy_glProgramPathFragmentInputGenNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            genMode: GLenum,
+            components: GLint,
+            coeffs: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramStringARB"]
+    pub static mut epoxy_glProgramStringARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            format: GLenum,
+            len: GLsizei,
+            string: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramSubroutineParametersuivNV"]
+    pub static mut epoxy_glProgramSubroutineParametersuivNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, count: GLsizei, params: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1d"]
+    pub static mut epoxy_glProgramUniform1d:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1dEXT"]
+    pub static mut epoxy_glProgramUniform1dEXT:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, x: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1dv"]
+    pub static mut epoxy_glProgramUniform1dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1dvEXT"]
+    pub static mut epoxy_glProgramUniform1dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1f"]
+    pub static mut epoxy_glProgramUniform1f:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1fEXT"]
+    pub static mut epoxy_glProgramUniform1fEXT:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1fv"]
+    pub static mut epoxy_glProgramUniform1fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1fvEXT"]
+    pub static mut epoxy_glProgramUniform1fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1i"]
+    pub static mut epoxy_glProgramUniform1i:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1i64ARB"]
+    pub static mut epoxy_glProgramUniform1i64ARB:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1i64NV"]
+    pub static mut epoxy_glProgramUniform1i64NV: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1i64vARB"]
+    pub static mut epoxy_glProgramUniform1i64vARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1i64vNV"]
+    pub static mut epoxy_glProgramUniform1i64vNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1iEXT"]
+    pub static mut epoxy_glProgramUniform1iEXT:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1iv"]
+    pub static mut epoxy_glProgramUniform1iv: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1ivEXT"]
+    pub static mut epoxy_glProgramUniform1ivEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1ui"]
+    pub static mut epoxy_glProgramUniform1ui:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1ui64ARB"]
+    pub static mut epoxy_glProgramUniform1ui64ARB:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1ui64NV"]
+    pub static mut epoxy_glProgramUniform1ui64NV: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1ui64vARB"]
+    pub static mut epoxy_glProgramUniform1ui64vARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1ui64vNV"]
+    pub static mut epoxy_glProgramUniform1ui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1uiEXT"]
+    pub static mut epoxy_glProgramUniform1uiEXT:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1uiv"]
+    pub static mut epoxy_glProgramUniform1uiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform1uivEXT"]
+    pub static mut epoxy_glProgramUniform1uivEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2d"]
+    pub static mut epoxy_glProgramUniform2d: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLdouble, v1: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2dEXT"]
+    pub static mut epoxy_glProgramUniform2dEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, x: GLdouble, y: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2dv"]
+    pub static mut epoxy_glProgramUniform2dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2dvEXT"]
+    pub static mut epoxy_glProgramUniform2dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2f"]
+    pub static mut epoxy_glProgramUniform2f: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat, v1: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2fEXT"]
+    pub static mut epoxy_glProgramUniform2fEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat, v1: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2fv"]
+    pub static mut epoxy_glProgramUniform2fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2fvEXT"]
+    pub static mut epoxy_glProgramUniform2fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2i"]
+    pub static mut epoxy_glProgramUniform2i: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint, v1: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2i64ARB"]
+    pub static mut epoxy_glProgramUniform2i64ARB: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64, y: GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2i64NV"]
+    pub static mut epoxy_glProgramUniform2i64NV: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64EXT, y: GLint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2i64vARB"]
+    pub static mut epoxy_glProgramUniform2i64vARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2i64vNV"]
+    pub static mut epoxy_glProgramUniform2i64vNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2iEXT"]
+    pub static mut epoxy_glProgramUniform2iEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint, v1: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2iv"]
+    pub static mut epoxy_glProgramUniform2iv: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2ivEXT"]
+    pub static mut epoxy_glProgramUniform2ivEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2ui"]
+    pub static mut epoxy_glProgramUniform2ui: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint, v1: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2ui64ARB"]
+    pub static mut epoxy_glProgramUniform2ui64ARB: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64, y: GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2ui64NV"]
+    pub static mut epoxy_glProgramUniform2ui64NV: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64EXT, y: GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2ui64vARB"]
+    pub static mut epoxy_glProgramUniform2ui64vARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2ui64vNV"]
+    pub static mut epoxy_glProgramUniform2ui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2uiEXT"]
+    pub static mut epoxy_glProgramUniform2uiEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint, v1: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2uiv"]
+    pub static mut epoxy_glProgramUniform2uiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform2uivEXT"]
+    pub static mut epoxy_glProgramUniform2uivEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3d"]
+    pub static mut epoxy_glProgramUniform3d: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            v0: GLdouble,
+            v1: GLdouble,
+            v2: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3dEXT"]
+    pub static mut epoxy_glProgramUniform3dEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            x: GLdouble,
+            y: GLdouble,
+            z: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3dv"]
+    pub static mut epoxy_glProgramUniform3dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3dvEXT"]
+    pub static mut epoxy_glProgramUniform3dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3f"]
+    pub static mut epoxy_glProgramUniform3f: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            v0: GLfloat,
+            v1: GLfloat,
+            v2: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3fEXT"]
+    pub static mut epoxy_glProgramUniform3fEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            v0: GLfloat,
+            v1: GLfloat,
+            v2: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3fv"]
+    pub static mut epoxy_glProgramUniform3fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3fvEXT"]
+    pub static mut epoxy_glProgramUniform3fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3i"]
+    pub static mut epoxy_glProgramUniform3i: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint, v1: GLint, v2: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3i64ARB"]
+    pub static mut epoxy_glProgramUniform3i64ARB: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64, y: GLint64, z: GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3i64NV"]
+    pub static mut epoxy_glProgramUniform3i64NV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            x: GLint64EXT,
+            y: GLint64EXT,
+            z: GLint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3i64vARB"]
+    pub static mut epoxy_glProgramUniform3i64vARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3i64vNV"]
+    pub static mut epoxy_glProgramUniform3i64vNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3iEXT"]
+    pub static mut epoxy_glProgramUniform3iEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint, v1: GLint, v2: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3iv"]
+    pub static mut epoxy_glProgramUniform3iv: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3ivEXT"]
+    pub static mut epoxy_glProgramUniform3ivEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3ui"]
+    pub static mut epoxy_glProgramUniform3ui: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint, v1: GLuint, v2: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3ui64ARB"]
+    pub static mut epoxy_glProgramUniform3ui64ARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            x: GLuint64,
+            y: GLuint64,
+            z: GLuint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3ui64NV"]
+    pub static mut epoxy_glProgramUniform3ui64NV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            x: GLuint64EXT,
+            y: GLuint64EXT,
+            z: GLuint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3ui64vARB"]
+    pub static mut epoxy_glProgramUniform3ui64vARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3ui64vNV"]
+    pub static mut epoxy_glProgramUniform3ui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3uiEXT"]
+    pub static mut epoxy_glProgramUniform3uiEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint, v1: GLuint, v2: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3uiv"]
+    pub static mut epoxy_glProgramUniform3uiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform3uivEXT"]
+    pub static mut epoxy_glProgramUniform3uivEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4d"]
+    pub static mut epoxy_glProgramUniform4d: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            v0: GLdouble,
+            v1: GLdouble,
+            v2: GLdouble,
+            v3: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4dEXT"]
+    pub static mut epoxy_glProgramUniform4dEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            x: GLdouble,
+            y: GLdouble,
+            z: GLdouble,
+            w: GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4dv"]
+    pub static mut epoxy_glProgramUniform4dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4dvEXT"]
+    pub static mut epoxy_glProgramUniform4dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4f"]
+    pub static mut epoxy_glProgramUniform4f: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            v0: GLfloat,
+            v1: GLfloat,
+            v2: GLfloat,
+            v3: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4fEXT"]
+    pub static mut epoxy_glProgramUniform4fEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            v0: GLfloat,
+            v1: GLfloat,
+            v2: GLfloat,
+            v3: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4fv"]
+    pub static mut epoxy_glProgramUniform4fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4fvEXT"]
+    pub static mut epoxy_glProgramUniform4fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4i"]
+    pub static mut epoxy_glProgramUniform4i: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            v0: GLint,
+            v1: GLint,
+            v2: GLint,
+            v3: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4i64ARB"]
+    pub static mut epoxy_glProgramUniform4i64ARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            x: GLint64,
+            y: GLint64,
+            z: GLint64,
+            w: GLint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4i64NV"]
+    pub static mut epoxy_glProgramUniform4i64NV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            x: GLint64EXT,
+            y: GLint64EXT,
+            z: GLint64EXT,
+            w: GLint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4i64vARB"]
+    pub static mut epoxy_glProgramUniform4i64vARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4i64vNV"]
+    pub static mut epoxy_glProgramUniform4i64vNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4iEXT"]
+    pub static mut epoxy_glProgramUniform4iEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            v0: GLint,
+            v1: GLint,
+            v2: GLint,
+            v3: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4iv"]
+    pub static mut epoxy_glProgramUniform4iv: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4ivEXT"]
+    pub static mut epoxy_glProgramUniform4ivEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4ui"]
+    pub static mut epoxy_glProgramUniform4ui: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            v0: GLuint,
+            v1: GLuint,
+            v2: GLuint,
+            v3: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4ui64ARB"]
+    pub static mut epoxy_glProgramUniform4ui64ARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            x: GLuint64,
+            y: GLuint64,
+            z: GLuint64,
+            w: GLuint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4ui64NV"]
+    pub static mut epoxy_glProgramUniform4ui64NV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            x: GLuint64EXT,
+            y: GLuint64EXT,
+            z: GLuint64EXT,
+            w: GLuint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4ui64vARB"]
+    pub static mut epoxy_glProgramUniform4ui64vARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4ui64vNV"]
+    pub static mut epoxy_glProgramUniform4ui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4uiEXT"]
+    pub static mut epoxy_glProgramUniform4uiEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            v0: GLuint,
+            v1: GLuint,
+            v2: GLuint,
+            v3: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4uiv"]
+    pub static mut epoxy_glProgramUniform4uiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniform4uivEXT"]
+    pub static mut epoxy_glProgramUniform4uivEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformHandleui64ARB"]
+    pub static mut epoxy_glProgramUniformHandleui64ARB: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, value: GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformHandleui64IMG"]
+    pub static mut epoxy_glProgramUniformHandleui64IMG: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, value: GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformHandleui64NV"]
+    pub static mut epoxy_glProgramUniformHandleui64NV: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, value: GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformHandleui64vARB"]
+    pub static mut epoxy_glProgramUniformHandleui64vARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            values: *const GLuint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformHandleui64vIMG"]
+    pub static mut epoxy_glProgramUniformHandleui64vIMG: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            values: *const GLuint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformHandleui64vNV"]
+    pub static mut epoxy_glProgramUniformHandleui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            values: *const GLuint64,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix2dv"]
+    pub static mut epoxy_glProgramUniformMatrix2dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix2dvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix2dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix2fv"]
+    pub static mut epoxy_glProgramUniformMatrix2fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix2fvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix2fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix2x3dv"]
+    pub static mut epoxy_glProgramUniformMatrix2x3dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix2x3dvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix2x3dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix2x3fv"]
+    pub static mut epoxy_glProgramUniformMatrix2x3fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix2x3fvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix2x3fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix2x4dv"]
+    pub static mut epoxy_glProgramUniformMatrix2x4dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix2x4dvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix2x4dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix2x4fv"]
+    pub static mut epoxy_glProgramUniformMatrix2x4fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix2x4fvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix2x4fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix3dv"]
+    pub static mut epoxy_glProgramUniformMatrix3dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix3dvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix3dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix3fv"]
+    pub static mut epoxy_glProgramUniformMatrix3fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix3fvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix3fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix3x2dv"]
+    pub static mut epoxy_glProgramUniformMatrix3x2dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix3x2dvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix3x2dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix3x2fv"]
+    pub static mut epoxy_glProgramUniformMatrix3x2fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix3x2fvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix3x2fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix3x4dv"]
+    pub static mut epoxy_glProgramUniformMatrix3x4dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix3x4dvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix3x4dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix3x4fv"]
+    pub static mut epoxy_glProgramUniformMatrix3x4fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix3x4fvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix3x4fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix4dv"]
+    pub static mut epoxy_glProgramUniformMatrix4dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix4dvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix4dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix4fv"]
+    pub static mut epoxy_glProgramUniformMatrix4fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix4fvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix4fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix4x2dv"]
+    pub static mut epoxy_glProgramUniformMatrix4x2dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix4x2dvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix4x2dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix4x2fv"]
+    pub static mut epoxy_glProgramUniformMatrix4x2fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix4x2fvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix4x2fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix4x3dv"]
+    pub static mut epoxy_glProgramUniformMatrix4x3dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix4x3dvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix4x3dvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix4x3fv"]
+    pub static mut epoxy_glProgramUniformMatrix4x3fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformMatrix4x3fvEXT"]
+    pub static mut epoxy_glProgramUniformMatrix4x3fvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformui64NV"]
+    pub static mut epoxy_glProgramUniformui64NV: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, value: GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramUniformui64vNV"]
+    pub static mut epoxy_glProgramUniformui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            location: GLint,
+            count: GLsizei,
+            value: *const GLuint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProgramVertexLimitNV"]
+    pub static mut epoxy_glProgramVertexLimitNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, limit: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProvokingVertex"]
+    pub static mut epoxy_glProvokingVertex:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glProvokingVertexEXT"]
+    pub static mut epoxy_glProvokingVertexEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPushAttrib"]
+    pub static mut epoxy_glPushAttrib:
+        ::std::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPushClientAttrib"]
+    pub static mut epoxy_glPushClientAttrib:
+        ::std::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPushClientAttribDefaultEXT"]
+    pub static mut epoxy_glPushClientAttribDefaultEXT:
+        ::std::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPushDebugGroup"]
+    pub static mut epoxy_glPushDebugGroup: ::std::option::Option<
+        unsafe extern "C" fn(source: GLenum, id: GLuint, length: GLsizei, message: *const GLchar),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPushDebugGroupKHR"]
+    pub static mut epoxy_glPushDebugGroupKHR: ::std::option::Option<
+        unsafe extern "C" fn(source: GLenum, id: GLuint, length: GLsizei, message: *const GLchar),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPushGroupMarkerEXT"]
+    pub static mut epoxy_glPushGroupMarkerEXT:
+        ::std::option::Option<unsafe extern "C" fn(length: GLsizei, marker: *const GLchar)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPushMatrix"]
+    pub static mut epoxy_glPushMatrix: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glPushName"]
+    pub static mut epoxy_glPushName: ::std::option::Option<unsafe extern "C" fn(name: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glQueryCounter"]
+    pub static mut epoxy_glQueryCounter:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glQueryCounterEXT"]
+    pub static mut epoxy_glQueryCounterEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glQueryMatrixxOES"]
+    pub static mut epoxy_glQueryMatrixxOES: ::std::option::Option<
+        unsafe extern "C" fn(mantissa: *mut GLfixed, exponent: *mut GLint) -> GLbitfield,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glQueryObjectParameteruiAMD"]
+    pub static mut epoxy_glQueryObjectParameteruiAMD: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, id: GLuint, pname: GLenum, param: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos2d"]
+    pub static mut epoxy_glRasterPos2d:
+        ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos2dv"]
+    pub static mut epoxy_glRasterPos2dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos2f"]
+    pub static mut epoxy_glRasterPos2f:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos2fv"]
+    pub static mut epoxy_glRasterPos2fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos2i"]
+    pub static mut epoxy_glRasterPos2i:
+        ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos2iv"]
+    pub static mut epoxy_glRasterPos2iv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos2s"]
+    pub static mut epoxy_glRasterPos2s:
+        ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos2sv"]
+    pub static mut epoxy_glRasterPos2sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos2xOES"]
+    pub static mut epoxy_glRasterPos2xOES:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos2xvOES"]
+    pub static mut epoxy_glRasterPos2xvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos3d"]
+    pub static mut epoxy_glRasterPos3d:
+        ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos3dv"]
+    pub static mut epoxy_glRasterPos3dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos3f"]
+    pub static mut epoxy_glRasterPos3f:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos3fv"]
+    pub static mut epoxy_glRasterPos3fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos3i"]
+    pub static mut epoxy_glRasterPos3i:
+        ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos3iv"]
+    pub static mut epoxy_glRasterPos3iv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos3s"]
+    pub static mut epoxy_glRasterPos3s:
+        ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos3sv"]
+    pub static mut epoxy_glRasterPos3sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos3xOES"]
+    pub static mut epoxy_glRasterPos3xOES:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos3xvOES"]
+    pub static mut epoxy_glRasterPos3xvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos4d"]
+    pub static mut epoxy_glRasterPos4d: ::std::option::Option<
+        unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos4dv"]
+    pub static mut epoxy_glRasterPos4dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos4f"]
+    pub static mut epoxy_glRasterPos4f:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos4fv"]
+    pub static mut epoxy_glRasterPos4fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos4i"]
+    pub static mut epoxy_glRasterPos4i:
+        ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint, w: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos4iv"]
+    pub static mut epoxy_glRasterPos4iv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos4s"]
+    pub static mut epoxy_glRasterPos4s:
+        ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort, w: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos4sv"]
+    pub static mut epoxy_glRasterPos4sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos4xOES"]
+    pub static mut epoxy_glRasterPos4xOES:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed, w: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterPos4xvOES"]
+    pub static mut epoxy_glRasterPos4xvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRasterSamplesEXT"]
+    pub static mut epoxy_glRasterSamplesEXT: ::std::option::Option<
+        unsafe extern "C" fn(samples: GLuint, fixedsamplelocations: GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReadBuffer"]
+    pub static mut epoxy_glReadBuffer: ::std::option::Option<unsafe extern "C" fn(src: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReadBufferIndexedEXT"]
+    pub static mut epoxy_glReadBufferIndexedEXT:
+        ::std::option::Option<unsafe extern "C" fn(src: GLenum, index: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReadBufferNV"]
+    pub static mut epoxy_glReadBufferNV: ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReadInstrumentsSGIX"]
+    pub static mut epoxy_glReadInstrumentsSGIX:
+        ::std::option::Option<unsafe extern "C" fn(marker: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReadPixels"]
+    pub static mut epoxy_glReadPixels: ::std::option::Option<
+        unsafe extern "C" fn(
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReadnPixels"]
+    pub static mut epoxy_glReadnPixels: ::std::option::Option<
+        unsafe extern "C" fn(
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            data: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReadnPixelsARB"]
+    pub static mut epoxy_glReadnPixelsARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            data: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReadnPixelsEXT"]
+    pub static mut epoxy_glReadnPixelsEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            data: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReadnPixelsKHR"]
+    pub static mut epoxy_glReadnPixelsKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            x: GLint,
+            y: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            bufSize: GLsizei,
+            data: *mut ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRectd"]
+    pub static mut epoxy_glRectd: ::std::option::Option<
+        unsafe extern "C" fn(x1: GLdouble, y1: GLdouble, x2: GLdouble, y2: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRectdv"]
+    pub static mut epoxy_glRectdv:
+        ::std::option::Option<unsafe extern "C" fn(v1: *const GLdouble, v2: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRectf"]
+    pub static mut epoxy_glRectf: ::std::option::Option<
+        unsafe extern "C" fn(x1: GLfloat, y1: GLfloat, x2: GLfloat, y2: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRectfv"]
+    pub static mut epoxy_glRectfv:
+        ::std::option::Option<unsafe extern "C" fn(v1: *const GLfloat, v2: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRecti"]
+    pub static mut epoxy_glRecti:
+        ::std::option::Option<unsafe extern "C" fn(x1: GLint, y1: GLint, x2: GLint, y2: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRectiv"]
+    pub static mut epoxy_glRectiv:
+        ::std::option::Option<unsafe extern "C" fn(v1: *const GLint, v2: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRects"]
+    pub static mut epoxy_glRects: ::std::option::Option<
+        unsafe extern "C" fn(x1: GLshort, y1: GLshort, x2: GLshort, y2: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRectsv"]
+    pub static mut epoxy_glRectsv:
+        ::std::option::Option<unsafe extern "C" fn(v1: *const GLshort, v2: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRectxOES"]
+    pub static mut epoxy_glRectxOES: ::std::option::Option<
+        unsafe extern "C" fn(x1: GLfixed, y1: GLfixed, x2: GLfixed, y2: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRectxvOES"]
+    pub static mut epoxy_glRectxvOES:
+        ::std::option::Option<unsafe extern "C" fn(v1: *const GLfixed, v2: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReferencePlaneSGIX"]
+    pub static mut epoxy_glReferencePlaneSGIX:
+        ::std::option::Option<unsafe extern "C" fn(equation: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReleaseShaderCompiler"]
+    pub static mut epoxy_glReleaseShaderCompiler: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRenderMode"]
+    pub static mut epoxy_glRenderMode:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum) -> GLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRenderbufferStorage"]
+    pub static mut epoxy_glRenderbufferStorage: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRenderbufferStorageEXT"]
+    pub static mut epoxy_glRenderbufferStorageEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRenderbufferStorageMultisample"]
+    pub static mut epoxy_glRenderbufferStorageMultisample: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRenderbufferStorageMultisampleANGLE"]
+    pub static mut epoxy_glRenderbufferStorageMultisampleANGLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRenderbufferStorageMultisampleAPPLE"]
+    pub static mut epoxy_glRenderbufferStorageMultisampleAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRenderbufferStorageMultisampleCoverageNV"]
+    pub static mut epoxy_glRenderbufferStorageMultisampleCoverageNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            coverageSamples: GLsizei,
+            colorSamples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRenderbufferStorageMultisampleEXT"]
+    pub static mut epoxy_glRenderbufferStorageMultisampleEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRenderbufferStorageMultisampleIMG"]
+    pub static mut epoxy_glRenderbufferStorageMultisampleIMG: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRenderbufferStorageMultisampleNV"]
+    pub static mut epoxy_glRenderbufferStorageMultisampleNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRenderbufferStorageOES"]
+    pub static mut epoxy_glRenderbufferStorageOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodePointerSUN"]
+    pub static mut epoxy_glReplacementCodePointerSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *mut *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeubSUN"]
+    pub static mut epoxy_glReplacementCodeubSUN:
+        ::std::option::Option<unsafe extern "C" fn(code: GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeubvSUN"]
+    pub static mut epoxy_glReplacementCodeubvSUN:
+        ::std::option::Option<unsafe extern "C" fn(code: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiColor3fVertex3fSUN"]
+    pub static mut epoxy_glReplacementCodeuiColor3fVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            rc: GLuint,
+            r: GLfloat,
+            g: GLfloat,
+            b: GLfloat,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiColor3fVertex3fvSUN"]
+    pub static mut epoxy_glReplacementCodeuiColor3fVertex3fvSUN: ::std::option::Option<
+        unsafe extern "C" fn(rc: *const GLuint, c: *const GLfloat, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiColor4fNormal3fVertex3fSUN"]
+    pub static mut epoxy_glReplacementCodeuiColor4fNormal3fVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            rc: GLuint,
+            r: GLfloat,
+            g: GLfloat,
+            b: GLfloat,
+            a: GLfloat,
+            nx: GLfloat,
+            ny: GLfloat,
+            nz: GLfloat,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiColor4fNormal3fVertex3fvSUN"]
+    pub static mut epoxy_glReplacementCodeuiColor4fNormal3fVertex3fvSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            rc: *const GLuint,
+            c: *const GLfloat,
+            n: *const GLfloat,
+            v: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiColor4ubVertex3fSUN"]
+    pub static mut epoxy_glReplacementCodeuiColor4ubVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            rc: GLuint,
+            r: GLubyte,
+            g: GLubyte,
+            b: GLubyte,
+            a: GLubyte,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiColor4ubVertex3fvSUN"]
+    pub static mut epoxy_glReplacementCodeuiColor4ubVertex3fvSUN: ::std::option::Option<
+        unsafe extern "C" fn(rc: *const GLuint, c: *const GLubyte, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiNormal3fVertex3fSUN"]
+    pub static mut epoxy_glReplacementCodeuiNormal3fVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            rc: GLuint,
+            nx: GLfloat,
+            ny: GLfloat,
+            nz: GLfloat,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiNormal3fVertex3fvSUN"]
+    pub static mut epoxy_glReplacementCodeuiNormal3fVertex3fvSUN: ::std::option::Option<
+        unsafe extern "C" fn(rc: *const GLuint, n: *const GLfloat, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiSUN"]
+    pub static mut epoxy_glReplacementCodeuiSUN:
+        ::std::option::Option<unsafe extern "C" fn(code: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN"]
+    pub static mut epoxy_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN:
+        ::std::option::Option<
+            unsafe extern "C" fn(
+                rc: GLuint,
+                s: GLfloat,
+                t: GLfloat,
+                r: GLfloat,
+                g: GLfloat,
+                b: GLfloat,
+                a: GLfloat,
+                nx: GLfloat,
+                ny: GLfloat,
+                nz: GLfloat,
+                x: GLfloat,
+                y: GLfloat,
+                z: GLfloat,
+            ),
+        >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN"]
+    pub static mut epoxy_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN:
+        ::std::option::Option<
+            unsafe extern "C" fn(
+                rc: *const GLuint,
+                tc: *const GLfloat,
+                c: *const GLfloat,
+                n: *const GLfloat,
+                v: *const GLfloat,
+            ),
+        >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN"]
+    pub static mut epoxy_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            rc: GLuint,
+            s: GLfloat,
+            t: GLfloat,
+            nx: GLfloat,
+            ny: GLfloat,
+            nz: GLfloat,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN"]
+    pub static mut epoxy_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            rc: *const GLuint,
+            tc: *const GLfloat,
+            n: *const GLfloat,
+            v: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiTexCoord2fVertex3fSUN"]
+    pub static mut epoxy_glReplacementCodeuiTexCoord2fVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            rc: GLuint,
+            s: GLfloat,
+            t: GLfloat,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiTexCoord2fVertex3fvSUN"]
+    pub static mut epoxy_glReplacementCodeuiTexCoord2fVertex3fvSUN: ::std::option::Option<
+        unsafe extern "C" fn(rc: *const GLuint, tc: *const GLfloat, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiVertex3fSUN"]
+    pub static mut epoxy_glReplacementCodeuiVertex3fSUN:
+        ::std::option::Option<unsafe extern "C" fn(rc: GLuint, x: GLfloat, y: GLfloat, z: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuiVertex3fvSUN"]
+    pub static mut epoxy_glReplacementCodeuiVertex3fvSUN:
+        ::std::option::Option<unsafe extern "C" fn(rc: *const GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeuivSUN"]
+    pub static mut epoxy_glReplacementCodeuivSUN:
+        ::std::option::Option<unsafe extern "C" fn(code: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeusSUN"]
+    pub static mut epoxy_glReplacementCodeusSUN:
+        ::std::option::Option<unsafe extern "C" fn(code: GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glReplacementCodeusvSUN"]
+    pub static mut epoxy_glReplacementCodeusvSUN:
+        ::std::option::Option<unsafe extern "C" fn(code: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRequestResidentProgramsNV"]
+    pub static mut epoxy_glRequestResidentProgramsNV:
+        ::std::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glResetHistogram"]
+    pub static mut epoxy_glResetHistogram:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glResetHistogramEXT"]
+    pub static mut epoxy_glResetHistogramEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glResetMinmax"]
+    pub static mut epoxy_glResetMinmax: ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glResetMinmaxEXT"]
+    pub static mut epoxy_glResetMinmaxEXT:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glResizeBuffersMESA"]
+    pub static mut epoxy_glResizeBuffersMESA: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glResolveDepthValuesNV"]
+    pub static mut epoxy_glResolveDepthValuesNV: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glResolveMultisampleFramebufferAPPLE"]
+    pub static mut epoxy_glResolveMultisampleFramebufferAPPLE:
+        ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glResumeTransformFeedback"]
+    pub static mut epoxy_glResumeTransformFeedback: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glResumeTransformFeedbackNV"]
+    pub static mut epoxy_glResumeTransformFeedbackNV: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRotated"]
+    pub static mut epoxy_glRotated: ::std::option::Option<
+        unsafe extern "C" fn(angle: GLdouble, x: GLdouble, y: GLdouble, z: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRotatef"]
+    pub static mut epoxy_glRotatef: ::std::option::Option<
+        unsafe extern "C" fn(angle: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRotatex"]
+    pub static mut epoxy_glRotatex: ::std::option::Option<
+        unsafe extern "C" fn(angle: GLfixed, x: GLfixed, y: GLfixed, z: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glRotatexOES"]
+    pub static mut epoxy_glRotatexOES: ::std::option::Option<
+        unsafe extern "C" fn(angle: GLfixed, x: GLfixed, y: GLfixed, z: GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSampleCoverage"]
+    pub static mut epoxy_glSampleCoverage:
+        ::std::option::Option<unsafe extern "C" fn(value: GLfloat, invert: GLboolean)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSampleCoverageARB"]
+    pub static mut epoxy_glSampleCoverageARB:
+        ::std::option::Option<unsafe extern "C" fn(value: GLfloat, invert: GLboolean)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSampleCoveragex"]
+    pub static mut epoxy_glSampleCoveragex:
+        ::std::option::Option<unsafe extern "C" fn(value: GLclampx, invert: GLboolean)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSampleCoveragexOES"]
+    pub static mut epoxy_glSampleCoveragexOES:
+        ::std::option::Option<unsafe extern "C" fn(value: GLclampx, invert: GLboolean)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSampleMapATI"]
+    pub static mut epoxy_glSampleMapATI:
+        ::std::option::Option<unsafe extern "C" fn(dst: GLuint, interp: GLuint, swizzle: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSampleMaskEXT"]
+    pub static mut epoxy_glSampleMaskEXT:
+        ::std::option::Option<unsafe extern "C" fn(value: GLclampf, invert: GLboolean)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSampleMaskIndexedNV"]
+    pub static mut epoxy_glSampleMaskIndexedNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, mask: GLbitfield)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSampleMaskSGIS"]
+    pub static mut epoxy_glSampleMaskSGIS:
+        ::std::option::Option<unsafe extern "C" fn(value: GLclampf, invert: GLboolean)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSampleMaski"]
+    pub static mut epoxy_glSampleMaski:
+        ::std::option::Option<unsafe extern "C" fn(maskNumber: GLuint, mask: GLbitfield)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSamplePatternEXT"]
+    pub static mut epoxy_glSamplePatternEXT:
+        ::std::option::Option<unsafe extern "C" fn(pattern: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSamplePatternSGIS"]
+    pub static mut epoxy_glSamplePatternSGIS:
+        ::std::option::Option<unsafe extern "C" fn(pattern: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSamplerParameterIiv"]
+    pub static mut epoxy_glSamplerParameterIiv: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSamplerParameterIivEXT"]
+    pub static mut epoxy_glSamplerParameterIivEXT: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSamplerParameterIivOES"]
+    pub static mut epoxy_glSamplerParameterIivOES: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSamplerParameterIuiv"]
+    pub static mut epoxy_glSamplerParameterIuiv: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSamplerParameterIuivEXT"]
+    pub static mut epoxy_glSamplerParameterIuivEXT: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSamplerParameterIuivOES"]
+    pub static mut epoxy_glSamplerParameterIuivOES: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSamplerParameterf"]
+    pub static mut epoxy_glSamplerParameterf:
+        ::std::option::Option<unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSamplerParameterfv"]
+    pub static mut epoxy_glSamplerParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSamplerParameteri"]
+    pub static mut epoxy_glSamplerParameteri:
+        ::std::option::Option<unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSamplerParameteriv"]
+    pub static mut epoxy_glSamplerParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScaled"]
+    pub static mut epoxy_glScaled:
+        ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScalef"]
+    pub static mut epoxy_glScalef:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScalex"]
+    pub static mut epoxy_glScalex:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScalexOES"]
+    pub static mut epoxy_glScalexOES:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScissor"]
+    pub static mut epoxy_glScissor: ::std::option::Option<
+        unsafe extern "C" fn(x: GLint, y: GLint, width: GLsizei, height: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScissorArrayv"]
+    pub static mut epoxy_glScissorArrayv:
+        ::std::option::Option<unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScissorArrayvNV"]
+    pub static mut epoxy_glScissorArrayvNV:
+        ::std::option::Option<unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScissorArrayvOES"]
+    pub static mut epoxy_glScissorArrayvOES:
+        ::std::option::Option<unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScissorIndexed"]
+    pub static mut epoxy_glScissorIndexed: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            left: GLint,
+            bottom: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScissorIndexedNV"]
+    pub static mut epoxy_glScissorIndexedNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            left: GLint,
+            bottom: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScissorIndexedOES"]
+    pub static mut epoxy_glScissorIndexedOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            left: GLint,
+            bottom: GLint,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScissorIndexedv"]
+    pub static mut epoxy_glScissorIndexedv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScissorIndexedvNV"]
+    pub static mut epoxy_glScissorIndexedvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glScissorIndexedvOES"]
+    pub static mut epoxy_glScissorIndexedvOES:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3b"]
+    pub static mut epoxy_glSecondaryColor3b:
+        ::std::option::Option<unsafe extern "C" fn(red: GLbyte, green: GLbyte, blue: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3bEXT"]
+    pub static mut epoxy_glSecondaryColor3bEXT:
+        ::std::option::Option<unsafe extern "C" fn(red: GLbyte, green: GLbyte, blue: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3bv"]
+    pub static mut epoxy_glSecondaryColor3bv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3bvEXT"]
+    pub static mut epoxy_glSecondaryColor3bvEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3d"]
+    pub static mut epoxy_glSecondaryColor3d:
+        ::std::option::Option<unsafe extern "C" fn(red: GLdouble, green: GLdouble, blue: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3dEXT"]
+    pub static mut epoxy_glSecondaryColor3dEXT:
+        ::std::option::Option<unsafe extern "C" fn(red: GLdouble, green: GLdouble, blue: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3dv"]
+    pub static mut epoxy_glSecondaryColor3dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3dvEXT"]
+    pub static mut epoxy_glSecondaryColor3dvEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3f"]
+    pub static mut epoxy_glSecondaryColor3f:
+        ::std::option::Option<unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3fEXT"]
+    pub static mut epoxy_glSecondaryColor3fEXT:
+        ::std::option::Option<unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3fv"]
+    pub static mut epoxy_glSecondaryColor3fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3fvEXT"]
+    pub static mut epoxy_glSecondaryColor3fvEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3hNV"]
+    pub static mut epoxy_glSecondaryColor3hNV:
+        ::std::option::Option<unsafe extern "C" fn(red: GLhalfNV, green: GLhalfNV, blue: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3hvNV"]
+    pub static mut epoxy_glSecondaryColor3hvNV:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3i"]
+    pub static mut epoxy_glSecondaryColor3i:
+        ::std::option::Option<unsafe extern "C" fn(red: GLint, green: GLint, blue: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3iEXT"]
+    pub static mut epoxy_glSecondaryColor3iEXT:
+        ::std::option::Option<unsafe extern "C" fn(red: GLint, green: GLint, blue: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3iv"]
+    pub static mut epoxy_glSecondaryColor3iv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3ivEXT"]
+    pub static mut epoxy_glSecondaryColor3ivEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3s"]
+    pub static mut epoxy_glSecondaryColor3s:
+        ::std::option::Option<unsafe extern "C" fn(red: GLshort, green: GLshort, blue: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3sEXT"]
+    pub static mut epoxy_glSecondaryColor3sEXT:
+        ::std::option::Option<unsafe extern "C" fn(red: GLshort, green: GLshort, blue: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3sv"]
+    pub static mut epoxy_glSecondaryColor3sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3svEXT"]
+    pub static mut epoxy_glSecondaryColor3svEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3ub"]
+    pub static mut epoxy_glSecondaryColor3ub:
+        ::std::option::Option<unsafe extern "C" fn(red: GLubyte, green: GLubyte, blue: GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3ubEXT"]
+    pub static mut epoxy_glSecondaryColor3ubEXT:
+        ::std::option::Option<unsafe extern "C" fn(red: GLubyte, green: GLubyte, blue: GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3ubv"]
+    pub static mut epoxy_glSecondaryColor3ubv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3ubvEXT"]
+    pub static mut epoxy_glSecondaryColor3ubvEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3ui"]
+    pub static mut epoxy_glSecondaryColor3ui:
+        ::std::option::Option<unsafe extern "C" fn(red: GLuint, green: GLuint, blue: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3uiEXT"]
+    pub static mut epoxy_glSecondaryColor3uiEXT:
+        ::std::option::Option<unsafe extern "C" fn(red: GLuint, green: GLuint, blue: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3uiv"]
+    pub static mut epoxy_glSecondaryColor3uiv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3uivEXT"]
+    pub static mut epoxy_glSecondaryColor3uivEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3us"]
+    pub static mut epoxy_glSecondaryColor3us:
+        ::std::option::Option<unsafe extern "C" fn(red: GLushort, green: GLushort, blue: GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3usEXT"]
+    pub static mut epoxy_glSecondaryColor3usEXT:
+        ::std::option::Option<unsafe extern "C" fn(red: GLushort, green: GLushort, blue: GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3usv"]
+    pub static mut epoxy_glSecondaryColor3usv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColor3usvEXT"]
+    pub static mut epoxy_glSecondaryColor3usvEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColorFormatNV"]
+    pub static mut epoxy_glSecondaryColorFormatNV:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, type_: GLenum, stride: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColorP3ui"]
+    pub static mut epoxy_glSecondaryColorP3ui:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, color: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColorP3uiv"]
+    pub static mut epoxy_glSecondaryColorP3uiv:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, color: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColorPointer"]
+    pub static mut epoxy_glSecondaryColorPointer: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColorPointerEXT"]
+    pub static mut epoxy_glSecondaryColorPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSecondaryColorPointerListIBM"]
+    pub static mut epoxy_glSecondaryColorPointerListIBM: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLint,
+            pointer: *mut *const ::std::os::raw::c_void,
+            ptrstride: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSelectBuffer"]
+    pub static mut epoxy_glSelectBuffer:
+        ::std::option::Option<unsafe extern "C" fn(size: GLsizei, buffer: *mut GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSelectPerfMonitorCountersAMD"]
+    pub static mut epoxy_glSelectPerfMonitorCountersAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            monitor: GLuint,
+            enable: GLboolean,
+            group: GLuint,
+            numCounters: GLint,
+            counterList: *mut GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSeparableFilter2D"]
+    pub static mut epoxy_glSeparableFilter2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            row: *const ::std::os::raw::c_void,
+            column: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSeparableFilter2DEXT"]
+    pub static mut epoxy_glSeparableFilter2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            row: *const ::std::os::raw::c_void,
+            column: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSetFenceAPPLE"]
+    pub static mut epoxy_glSetFenceAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(fence: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSetFenceNV"]
+    pub static mut epoxy_glSetFenceNV:
+        ::std::option::Option<unsafe extern "C" fn(fence: GLuint, condition: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSetFragmentShaderConstantATI"]
+    pub static mut epoxy_glSetFragmentShaderConstantATI:
+        ::std::option::Option<unsafe extern "C" fn(dst: GLuint, value: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSetInvariantEXT"]
+    pub static mut epoxy_glSetInvariantEXT: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, type_: GLenum, addr: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSetLocalConstantEXT"]
+    pub static mut epoxy_glSetLocalConstantEXT: ::std::option::Option<
+        unsafe extern "C" fn(id: GLuint, type_: GLenum, addr: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSetMultisamplefvAMD"]
+    pub static mut epoxy_glSetMultisamplefvAMD: ::std::option::Option<
+        unsafe extern "C" fn(pname: GLenum, index: GLuint, val: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glShadeModel"]
+    pub static mut epoxy_glShadeModel: ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glShaderBinary"]
+    pub static mut epoxy_glShaderBinary: ::std::option::Option<
+        unsafe extern "C" fn(
+            count: GLsizei,
+            shaders: *const GLuint,
+            binaryformat: GLenum,
+            binary: *const ::std::os::raw::c_void,
+            length: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glShaderOp1EXT"]
+    pub static mut epoxy_glShaderOp1EXT:
+        ::std::option::Option<unsafe extern "C" fn(op: GLenum, res: GLuint, arg1: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glShaderOp2EXT"]
+    pub static mut epoxy_glShaderOp2EXT: ::std::option::Option<
+        unsafe extern "C" fn(op: GLenum, res: GLuint, arg1: GLuint, arg2: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glShaderOp3EXT"]
+    pub static mut epoxy_glShaderOp3EXT: ::std::option::Option<
+        unsafe extern "C" fn(op: GLenum, res: GLuint, arg1: GLuint, arg2: GLuint, arg3: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glShaderSource"]
+    pub static mut epoxy_glShaderSource: ::std::option::Option<
+        unsafe extern "C" fn(
+            shader: GLuint,
+            count: GLsizei,
+            string: *const *const GLchar,
+            length: *const GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glShaderSourceARB"]
+    pub static mut epoxy_glShaderSourceARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            shaderObj: GLhandleARB,
+            count: GLsizei,
+            string: *mut *const GLcharARB,
+            length: *const GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glShaderStorageBlockBinding"]
+    pub static mut epoxy_glShaderStorageBlockBinding: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            storageBlockIndex: GLuint,
+            storageBlockBinding: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSharpenTexFuncSGIS"]
+    pub static mut epoxy_glSharpenTexFuncSGIS: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, n: GLsizei, points: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSpriteParameterfSGIX"]
+    pub static mut epoxy_glSpriteParameterfSGIX:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSpriteParameterfvSGIX"]
+    pub static mut epoxy_glSpriteParameterfvSGIX:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSpriteParameteriSGIX"]
+    pub static mut epoxy_glSpriteParameteriSGIX:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSpriteParameterivSGIX"]
+    pub static mut epoxy_glSpriteParameterivSGIX:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStartInstrumentsSGIX"]
+    pub static mut epoxy_glStartInstrumentsSGIX: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStartTilingQCOM"]
+    pub static mut epoxy_glStartTilingQCOM: ::std::option::Option<
+        unsafe extern "C" fn(
+            x: GLuint,
+            y: GLuint,
+            width: GLuint,
+            height: GLuint,
+            preserveMask: GLbitfield,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStateCaptureNV"]
+    pub static mut epoxy_glStateCaptureNV:
+        ::std::option::Option<unsafe extern "C" fn(state: GLuint, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilClearTagEXT"]
+    pub static mut epoxy_glStencilClearTagEXT: ::std::option::Option<
+        unsafe extern "C" fn(stencilTagBits: GLsizei, stencilClearTag: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilFillPathInstancedNV"]
+    pub static mut epoxy_glStencilFillPathInstancedNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            numPaths: GLsizei,
+            pathNameType: GLenum,
+            paths: *const ::std::os::raw::c_void,
+            pathBase: GLuint,
+            fillMode: GLenum,
+            mask: GLuint,
+            transformType: GLenum,
+            transformValues: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilFillPathNV"]
+    pub static mut epoxy_glStencilFillPathNV:
+        ::std::option::Option<unsafe extern "C" fn(path: GLuint, fillMode: GLenum, mask: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilFunc"]
+    pub static mut epoxy_glStencilFunc:
+        ::std::option::Option<unsafe extern "C" fn(func: GLenum, ref_: GLint, mask: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilFuncSeparate"]
+    pub static mut epoxy_glStencilFuncSeparate: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, func: GLenum, ref_: GLint, mask: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilFuncSeparateATI"]
+    pub static mut epoxy_glStencilFuncSeparateATI: ::std::option::Option<
+        unsafe extern "C" fn(frontfunc: GLenum, backfunc: GLenum, ref_: GLint, mask: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilMask"]
+    pub static mut epoxy_glStencilMask: ::std::option::Option<unsafe extern "C" fn(mask: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilMaskSeparate"]
+    pub static mut epoxy_glStencilMaskSeparate:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, mask: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilOp"]
+    pub static mut epoxy_glStencilOp:
+        ::std::option::Option<unsafe extern "C" fn(fail: GLenum, zfail: GLenum, zpass: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilOpSeparate"]
+    pub static mut epoxy_glStencilOpSeparate: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, sfail: GLenum, dpfail: GLenum, dppass: GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilOpSeparateATI"]
+    pub static mut epoxy_glStencilOpSeparateATI: ::std::option::Option<
+        unsafe extern "C" fn(face: GLenum, sfail: GLenum, dpfail: GLenum, dppass: GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilOpValueAMD"]
+    pub static mut epoxy_glStencilOpValueAMD:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, value: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilStrokePathInstancedNV"]
+    pub static mut epoxy_glStencilStrokePathInstancedNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            numPaths: GLsizei,
+            pathNameType: GLenum,
+            paths: *const ::std::os::raw::c_void,
+            pathBase: GLuint,
+            reference: GLint,
+            mask: GLuint,
+            transformType: GLenum,
+            transformValues: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilStrokePathNV"]
+    pub static mut epoxy_glStencilStrokePathNV:
+        ::std::option::Option<unsafe extern "C" fn(path: GLuint, reference: GLint, mask: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilThenCoverFillPathInstancedNV"]
+    pub static mut epoxy_glStencilThenCoverFillPathInstancedNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            numPaths: GLsizei,
+            pathNameType: GLenum,
+            paths: *const ::std::os::raw::c_void,
+            pathBase: GLuint,
+            fillMode: GLenum,
+            mask: GLuint,
+            coverMode: GLenum,
+            transformType: GLenum,
+            transformValues: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilThenCoverFillPathNV"]
+    pub static mut epoxy_glStencilThenCoverFillPathNV: ::std::option::Option<
+        unsafe extern "C" fn(path: GLuint, fillMode: GLenum, mask: GLuint, coverMode: GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilThenCoverStrokePathInstancedNV"]
+    pub static mut epoxy_glStencilThenCoverStrokePathInstancedNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            numPaths: GLsizei,
+            pathNameType: GLenum,
+            paths: *const ::std::os::raw::c_void,
+            pathBase: GLuint,
+            reference: GLint,
+            mask: GLuint,
+            coverMode: GLenum,
+            transformType: GLenum,
+            transformValues: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStencilThenCoverStrokePathNV"]
+    pub static mut epoxy_glStencilThenCoverStrokePathNV: ::std::option::Option<
+        unsafe extern "C" fn(path: GLuint, reference: GLint, mask: GLuint, coverMode: GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStopInstrumentsSGIX"]
+    pub static mut epoxy_glStopInstrumentsSGIX:
+        ::std::option::Option<unsafe extern "C" fn(marker: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glStringMarkerGREMEDY"]
+    pub static mut epoxy_glStringMarkerGREMEDY: ::std::option::Option<
+        unsafe extern "C" fn(len: GLsizei, string: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSubpixelPrecisionBiasNV"]
+    pub static mut epoxy_glSubpixelPrecisionBiasNV:
+        ::std::option::Option<unsafe extern "C" fn(xbits: GLuint, ybits: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSwizzleEXT"]
+    pub static mut epoxy_glSwizzleEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            res: GLuint,
+            in_: GLuint,
+            outX: GLenum,
+            outY: GLenum,
+            outZ: GLenum,
+            outW: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glSyncTextureINTEL"]
+    pub static mut epoxy_glSyncTextureINTEL:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTagSampleBufferSGIX"]
+    pub static mut epoxy_glTagSampleBufferSGIX: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTangent3bEXT"]
+    pub static mut epoxy_glTangent3bEXT:
+        ::std::option::Option<unsafe extern "C" fn(tx: GLbyte, ty: GLbyte, tz: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTangent3bvEXT"]
+    pub static mut epoxy_glTangent3bvEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTangent3dEXT"]
+    pub static mut epoxy_glTangent3dEXT:
+        ::std::option::Option<unsafe extern "C" fn(tx: GLdouble, ty: GLdouble, tz: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTangent3dvEXT"]
+    pub static mut epoxy_glTangent3dvEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTangent3fEXT"]
+    pub static mut epoxy_glTangent3fEXT:
+        ::std::option::Option<unsafe extern "C" fn(tx: GLfloat, ty: GLfloat, tz: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTangent3fvEXT"]
+    pub static mut epoxy_glTangent3fvEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTangent3iEXT"]
+    pub static mut epoxy_glTangent3iEXT:
+        ::std::option::Option<unsafe extern "C" fn(tx: GLint, ty: GLint, tz: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTangent3ivEXT"]
+    pub static mut epoxy_glTangent3ivEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTangent3sEXT"]
+    pub static mut epoxy_glTangent3sEXT:
+        ::std::option::Option<unsafe extern "C" fn(tx: GLshort, ty: GLshort, tz: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTangent3svEXT"]
+    pub static mut epoxy_glTangent3svEXT:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTangentPointerEXT"]
+    pub static mut epoxy_glTangentPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTbufferMask3DFX"]
+    pub static mut epoxy_glTbufferMask3DFX:
+        ::std::option::Option<unsafe extern "C" fn(mask: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTessellationFactorAMD"]
+    pub static mut epoxy_glTessellationFactorAMD:
+        ::std::option::Option<unsafe extern "C" fn(factor: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTessellationModeAMD"]
+    pub static mut epoxy_glTessellationModeAMD:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTestFenceAPPLE"]
+    pub static mut epoxy_glTestFenceAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(fence: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTestFenceNV"]
+    pub static mut epoxy_glTestFenceNV:
+        ::std::option::Option<unsafe extern "C" fn(fence: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTestObjectAPPLE"]
+    pub static mut epoxy_glTestObjectAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(object: GLenum, name: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexBuffer"]
+    pub static mut epoxy_glTexBuffer: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, internalformat: GLenum, buffer: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexBufferARB"]
+    pub static mut epoxy_glTexBufferARB: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, internalformat: GLenum, buffer: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexBufferEXT"]
+    pub static mut epoxy_glTexBufferEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, internalformat: GLenum, buffer: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexBufferOES"]
+    pub static mut epoxy_glTexBufferOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, internalformat: GLenum, buffer: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexBufferRange"]
+    pub static mut epoxy_glTexBufferRange: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            buffer: GLuint,
+            offset: GLintptr,
+            size: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexBufferRangeEXT"]
+    pub static mut epoxy_glTexBufferRangeEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            buffer: GLuint,
+            offset: GLintptr,
+            size: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexBufferRangeOES"]
+    pub static mut epoxy_glTexBufferRangeOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalformat: GLenum,
+            buffer: GLuint,
+            offset: GLintptr,
+            size: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexBumpParameterfvATI"]
+    pub static mut epoxy_glTexBumpParameterfvATI:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexBumpParameterivATI"]
+    pub static mut epoxy_glTexBumpParameterivATI:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1bOES"]
+    pub static mut epoxy_glTexCoord1bOES: ::std::option::Option<unsafe extern "C" fn(s: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1bvOES"]
+    pub static mut epoxy_glTexCoord1bvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1d"]
+    pub static mut epoxy_glTexCoord1d: ::std::option::Option<unsafe extern "C" fn(s: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1dv"]
+    pub static mut epoxy_glTexCoord1dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1f"]
+    pub static mut epoxy_glTexCoord1f: ::std::option::Option<unsafe extern "C" fn(s: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1fv"]
+    pub static mut epoxy_glTexCoord1fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1hNV"]
+    pub static mut epoxy_glTexCoord1hNV: ::std::option::Option<unsafe extern "C" fn(s: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1hvNV"]
+    pub static mut epoxy_glTexCoord1hvNV:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1i"]
+    pub static mut epoxy_glTexCoord1i: ::std::option::Option<unsafe extern "C" fn(s: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1iv"]
+    pub static mut epoxy_glTexCoord1iv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1s"]
+    pub static mut epoxy_glTexCoord1s: ::std::option::Option<unsafe extern "C" fn(s: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1sv"]
+    pub static mut epoxy_glTexCoord1sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1xOES"]
+    pub static mut epoxy_glTexCoord1xOES: ::std::option::Option<unsafe extern "C" fn(s: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord1xvOES"]
+    pub static mut epoxy_glTexCoord1xvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2bOES"]
+    pub static mut epoxy_glTexCoord2bOES:
+        ::std::option::Option<unsafe extern "C" fn(s: GLbyte, t: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2bvOES"]
+    pub static mut epoxy_glTexCoord2bvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2d"]
+    pub static mut epoxy_glTexCoord2d:
+        ::std::option::Option<unsafe extern "C" fn(s: GLdouble, t: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2dv"]
+    pub static mut epoxy_glTexCoord2dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2f"]
+    pub static mut epoxy_glTexCoord2f:
+        ::std::option::Option<unsafe extern "C" fn(s: GLfloat, t: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2fColor3fVertex3fSUN"]
+    pub static mut epoxy_glTexCoord2fColor3fVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            s: GLfloat,
+            t: GLfloat,
+            r: GLfloat,
+            g: GLfloat,
+            b: GLfloat,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2fColor3fVertex3fvSUN"]
+    pub static mut epoxy_glTexCoord2fColor3fVertex3fvSUN: ::std::option::Option<
+        unsafe extern "C" fn(tc: *const GLfloat, c: *const GLfloat, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2fColor4fNormal3fVertex3fSUN"]
+    pub static mut epoxy_glTexCoord2fColor4fNormal3fVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            s: GLfloat,
+            t: GLfloat,
+            r: GLfloat,
+            g: GLfloat,
+            b: GLfloat,
+            a: GLfloat,
+            nx: GLfloat,
+            ny: GLfloat,
+            nz: GLfloat,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2fColor4fNormal3fVertex3fvSUN"]
+    pub static mut epoxy_glTexCoord2fColor4fNormal3fVertex3fvSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            tc: *const GLfloat,
+            c: *const GLfloat,
+            n: *const GLfloat,
+            v: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2fColor4ubVertex3fSUN"]
+    pub static mut epoxy_glTexCoord2fColor4ubVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            s: GLfloat,
+            t: GLfloat,
+            r: GLubyte,
+            g: GLubyte,
+            b: GLubyte,
+            a: GLubyte,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2fColor4ubVertex3fvSUN"]
+    pub static mut epoxy_glTexCoord2fColor4ubVertex3fvSUN: ::std::option::Option<
+        unsafe extern "C" fn(tc: *const GLfloat, c: *const GLubyte, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2fNormal3fVertex3fSUN"]
+    pub static mut epoxy_glTexCoord2fNormal3fVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            s: GLfloat,
+            t: GLfloat,
+            nx: GLfloat,
+            ny: GLfloat,
+            nz: GLfloat,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2fNormal3fVertex3fvSUN"]
+    pub static mut epoxy_glTexCoord2fNormal3fVertex3fvSUN: ::std::option::Option<
+        unsafe extern "C" fn(tc: *const GLfloat, n: *const GLfloat, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2fVertex3fSUN"]
+    pub static mut epoxy_glTexCoord2fVertex3fSUN: ::std::option::Option<
+        unsafe extern "C" fn(s: GLfloat, t: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2fVertex3fvSUN"]
+    pub static mut epoxy_glTexCoord2fVertex3fvSUN:
+        ::std::option::Option<unsafe extern "C" fn(tc: *const GLfloat, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2fv"]
+    pub static mut epoxy_glTexCoord2fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2hNV"]
+    pub static mut epoxy_glTexCoord2hNV:
+        ::std::option::Option<unsafe extern "C" fn(s: GLhalfNV, t: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2hvNV"]
+    pub static mut epoxy_glTexCoord2hvNV:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2i"]
+    pub static mut epoxy_glTexCoord2i:
+        ::std::option::Option<unsafe extern "C" fn(s: GLint, t: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2iv"]
+    pub static mut epoxy_glTexCoord2iv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2s"]
+    pub static mut epoxy_glTexCoord2s:
+        ::std::option::Option<unsafe extern "C" fn(s: GLshort, t: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2sv"]
+    pub static mut epoxy_glTexCoord2sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2xOES"]
+    pub static mut epoxy_glTexCoord2xOES:
+        ::std::option::Option<unsafe extern "C" fn(s: GLfixed, t: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord2xvOES"]
+    pub static mut epoxy_glTexCoord2xvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3bOES"]
+    pub static mut epoxy_glTexCoord3bOES:
+        ::std::option::Option<unsafe extern "C" fn(s: GLbyte, t: GLbyte, r: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3bvOES"]
+    pub static mut epoxy_glTexCoord3bvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3d"]
+    pub static mut epoxy_glTexCoord3d:
+        ::std::option::Option<unsafe extern "C" fn(s: GLdouble, t: GLdouble, r: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3dv"]
+    pub static mut epoxy_glTexCoord3dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3f"]
+    pub static mut epoxy_glTexCoord3f:
+        ::std::option::Option<unsafe extern "C" fn(s: GLfloat, t: GLfloat, r: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3fv"]
+    pub static mut epoxy_glTexCoord3fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3hNV"]
+    pub static mut epoxy_glTexCoord3hNV:
+        ::std::option::Option<unsafe extern "C" fn(s: GLhalfNV, t: GLhalfNV, r: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3hvNV"]
+    pub static mut epoxy_glTexCoord3hvNV:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3i"]
+    pub static mut epoxy_glTexCoord3i:
+        ::std::option::Option<unsafe extern "C" fn(s: GLint, t: GLint, r: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3iv"]
+    pub static mut epoxy_glTexCoord3iv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3s"]
+    pub static mut epoxy_glTexCoord3s:
+        ::std::option::Option<unsafe extern "C" fn(s: GLshort, t: GLshort, r: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3sv"]
+    pub static mut epoxy_glTexCoord3sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3xOES"]
+    pub static mut epoxy_glTexCoord3xOES:
+        ::std::option::Option<unsafe extern "C" fn(s: GLfixed, t: GLfixed, r: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord3xvOES"]
+    pub static mut epoxy_glTexCoord3xvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4bOES"]
+    pub static mut epoxy_glTexCoord4bOES:
+        ::std::option::Option<unsafe extern "C" fn(s: GLbyte, t: GLbyte, r: GLbyte, q: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4bvOES"]
+    pub static mut epoxy_glTexCoord4bvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4d"]
+    pub static mut epoxy_glTexCoord4d: ::std::option::Option<
+        unsafe extern "C" fn(s: GLdouble, t: GLdouble, r: GLdouble, q: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4dv"]
+    pub static mut epoxy_glTexCoord4dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4f"]
+    pub static mut epoxy_glTexCoord4f:
+        ::std::option::Option<unsafe extern "C" fn(s: GLfloat, t: GLfloat, r: GLfloat, q: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4fColor4fNormal3fVertex4fSUN"]
+    pub static mut epoxy_glTexCoord4fColor4fNormal3fVertex4fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            s: GLfloat,
+            t: GLfloat,
+            p: GLfloat,
+            q: GLfloat,
+            r: GLfloat,
+            g: GLfloat,
+            b: GLfloat,
+            a: GLfloat,
+            nx: GLfloat,
+            ny: GLfloat,
+            nz: GLfloat,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+            w: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4fColor4fNormal3fVertex4fvSUN"]
+    pub static mut epoxy_glTexCoord4fColor4fNormal3fVertex4fvSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            tc: *const GLfloat,
+            c: *const GLfloat,
+            n: *const GLfloat,
+            v: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4fVertex4fSUN"]
+    pub static mut epoxy_glTexCoord4fVertex4fSUN: ::std::option::Option<
+        unsafe extern "C" fn(
+            s: GLfloat,
+            t: GLfloat,
+            p: GLfloat,
+            q: GLfloat,
+            x: GLfloat,
+            y: GLfloat,
+            z: GLfloat,
+            w: GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4fVertex4fvSUN"]
+    pub static mut epoxy_glTexCoord4fVertex4fvSUN:
+        ::std::option::Option<unsafe extern "C" fn(tc: *const GLfloat, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4fv"]
+    pub static mut epoxy_glTexCoord4fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4hNV"]
+    pub static mut epoxy_glTexCoord4hNV: ::std::option::Option<
+        unsafe extern "C" fn(s: GLhalfNV, t: GLhalfNV, r: GLhalfNV, q: GLhalfNV),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4hvNV"]
+    pub static mut epoxy_glTexCoord4hvNV:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4i"]
+    pub static mut epoxy_glTexCoord4i:
+        ::std::option::Option<unsafe extern "C" fn(s: GLint, t: GLint, r: GLint, q: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4iv"]
+    pub static mut epoxy_glTexCoord4iv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4s"]
+    pub static mut epoxy_glTexCoord4s:
+        ::std::option::Option<unsafe extern "C" fn(s: GLshort, t: GLshort, r: GLshort, q: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4sv"]
+    pub static mut epoxy_glTexCoord4sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4xOES"]
+    pub static mut epoxy_glTexCoord4xOES:
+        ::std::option::Option<unsafe extern "C" fn(s: GLfixed, t: GLfixed, r: GLfixed, q: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoord4xvOES"]
+    pub static mut epoxy_glTexCoord4xvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoordFormatNV"]
+    pub static mut epoxy_glTexCoordFormatNV:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, type_: GLenum, stride: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoordP1ui"]
+    pub static mut epoxy_glTexCoordP1ui:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoordP1uiv"]
+    pub static mut epoxy_glTexCoordP1uiv:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoordP2ui"]
+    pub static mut epoxy_glTexCoordP2ui:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoordP2uiv"]
+    pub static mut epoxy_glTexCoordP2uiv:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoordP3ui"]
+    pub static mut epoxy_glTexCoordP3ui:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoordP3uiv"]
+    pub static mut epoxy_glTexCoordP3uiv:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoordP4ui"]
+    pub static mut epoxy_glTexCoordP4ui:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoordP4uiv"]
+    pub static mut epoxy_glTexCoordP4uiv:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoordPointer"]
+    pub static mut epoxy_glTexCoordPointer: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoordPointerEXT"]
+    pub static mut epoxy_glTexCoordPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            count: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoordPointerListIBM"]
+    pub static mut epoxy_glTexCoordPointerListIBM: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLint,
+            pointer: *mut *const ::std::os::raw::c_void,
+            ptrstride: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexCoordPointervINTEL"]
+    pub static mut epoxy_glTexCoordPointervINTEL: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            pointer: *mut *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexEnvf"]
+    pub static mut epoxy_glTexEnvf:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexEnvfv"]
+    pub static mut epoxy_glTexEnvfv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexEnvi"]
+    pub static mut epoxy_glTexEnvi:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexEnviv"]
+    pub static mut epoxy_glTexEnviv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexEnvx"]
+    pub static mut epoxy_glTexEnvx:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexEnvxOES"]
+    pub static mut epoxy_glTexEnvxOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexEnvxv"]
+    pub static mut epoxy_glTexEnvxv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexEnvxvOES"]
+    pub static mut epoxy_glTexEnvxvOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexFilterFuncSGIS"]
+    pub static mut epoxy_glTexFilterFuncSGIS: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, filter: GLenum, n: GLsizei, weights: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexGend"]
+    pub static mut epoxy_glTexGend:
+        ::std::option::Option<unsafe extern "C" fn(coord: GLenum, pname: GLenum, param: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexGendv"]
+    pub static mut epoxy_glTexGendv: ::std::option::Option<
+        unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexGenf"]
+    pub static mut epoxy_glTexGenf:
+        ::std::option::Option<unsafe extern "C" fn(coord: GLenum, pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexGenfOES"]
+    pub static mut epoxy_glTexGenfOES:
+        ::std::option::Option<unsafe extern "C" fn(coord: GLenum, pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexGenfv"]
+    pub static mut epoxy_glTexGenfv: ::std::option::Option<
+        unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexGenfvOES"]
+    pub static mut epoxy_glTexGenfvOES: ::std::option::Option<
+        unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexGeni"]
+    pub static mut epoxy_glTexGeni:
+        ::std::option::Option<unsafe extern "C" fn(coord: GLenum, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexGeniOES"]
+    pub static mut epoxy_glTexGeniOES:
+        ::std::option::Option<unsafe extern "C" fn(coord: GLenum, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexGeniv"]
+    pub static mut epoxy_glTexGeniv: ::std::option::Option<
+        unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexGenivOES"]
+    pub static mut epoxy_glTexGenivOES: ::std::option::Option<
+        unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexGenxOES"]
+    pub static mut epoxy_glTexGenxOES:
+        ::std::option::Option<unsafe extern "C" fn(coord: GLenum, pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexGenxvOES"]
+    pub static mut epoxy_glTexGenxvOES: ::std::option::Option<
+        unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *const GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexImage1D"]
+    pub static mut epoxy_glTexImage1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLint,
+            width: GLsizei,
+            border: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexImage2D"]
+    pub static mut epoxy_glTexImage2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            border: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexImage2DMultisample"]
+    pub static mut epoxy_glTexImage2DMultisample: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            fixedsamplelocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexImage2DMultisampleCoverageNV"]
+    pub static mut epoxy_glTexImage2DMultisampleCoverageNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            coverageSamples: GLsizei,
+            colorSamples: GLsizei,
+            internalFormat: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            fixedSampleLocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexImage3D"]
+    pub static mut epoxy_glTexImage3D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            border: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexImage3DEXT"]
+    pub static mut epoxy_glTexImage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            border: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexImage3DMultisample"]
+    pub static mut epoxy_glTexImage3DMultisample: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            fixedsamplelocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexImage3DMultisampleCoverageNV"]
+    pub static mut epoxy_glTexImage3DMultisampleCoverageNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            coverageSamples: GLsizei,
+            colorSamples: GLsizei,
+            internalFormat: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            fixedSampleLocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexImage3DOES"]
+    pub static mut epoxy_glTexImage3DOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            border: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexImage4DSGIS"]
+    pub static mut epoxy_glTexImage4DSGIS: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            size4d: GLsizei,
+            border: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexPageCommitmentARB"]
+    pub static mut epoxy_glTexPageCommitmentARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            commit: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexPageCommitmentEXT"]
+    pub static mut epoxy_glTexPageCommitmentEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            commit: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameterIiv"]
+    pub static mut epoxy_glTexParameterIiv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameterIivEXT"]
+    pub static mut epoxy_glTexParameterIivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameterIivOES"]
+    pub static mut epoxy_glTexParameterIivOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameterIuiv"]
+    pub static mut epoxy_glTexParameterIuiv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameterIuivEXT"]
+    pub static mut epoxy_glTexParameterIuivEXT: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameterIuivOES"]
+    pub static mut epoxy_glTexParameterIuivOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameterf"]
+    pub static mut epoxy_glTexParameterf:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameterfv"]
+    pub static mut epoxy_glTexParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameteri"]
+    pub static mut epoxy_glTexParameteri:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameteriv"]
+    pub static mut epoxy_glTexParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameterx"]
+    pub static mut epoxy_glTexParameterx:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameterxOES"]
+    pub static mut epoxy_glTexParameterxOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameterxv"]
+    pub static mut epoxy_glTexParameterxv: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexParameterxvOES"]
+    pub static mut epoxy_glTexParameterxvOES: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfixed),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexRenderbufferNV"]
+    pub static mut epoxy_glTexRenderbufferNV:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum, renderbuffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexStorage1D"]
+    pub static mut epoxy_glTexStorage1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            levels: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexStorage1DEXT"]
+    pub static mut epoxy_glTexStorage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            levels: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexStorage2D"]
+    pub static mut epoxy_glTexStorage2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            levels: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexStorage2DEXT"]
+    pub static mut epoxy_glTexStorage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            levels: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexStorage2DMultisample"]
+    pub static mut epoxy_glTexStorage2DMultisample: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            fixedsamplelocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexStorage3D"]
+    pub static mut epoxy_glTexStorage3D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            levels: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexStorage3DEXT"]
+    pub static mut epoxy_glTexStorage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            levels: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexStorage3DMultisample"]
+    pub static mut epoxy_glTexStorage3DMultisample: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            fixedsamplelocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexStorage3DMultisampleOES"]
+    pub static mut epoxy_glTexStorage3DMultisampleOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            fixedsamplelocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexStorageSparseAMD"]
+    pub static mut epoxy_glTexStorageSparseAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            internalFormat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            layers: GLsizei,
+            flags: GLbitfield,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexSubImage1D"]
+    pub static mut epoxy_glTexSubImage1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            width: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexSubImage1DEXT"]
+    pub static mut epoxy_glTexSubImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            width: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexSubImage2D"]
+    pub static mut epoxy_glTexSubImage2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexSubImage2DEXT"]
+    pub static mut epoxy_glTexSubImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexSubImage3D"]
+    pub static mut epoxy_glTexSubImage3D: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexSubImage3DEXT"]
+    pub static mut epoxy_glTexSubImage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexSubImage3DOES"]
+    pub static mut epoxy_glTexSubImage3DOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexSubImage4DSGIS"]
+    pub static mut epoxy_glTexSubImage4DSGIS: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            woffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            size4d: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureBarrier"]
+    pub static mut epoxy_glTextureBarrier: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureBarrierNV"]
+    pub static mut epoxy_glTextureBarrierNV: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureBuffer"]
+    pub static mut epoxy_glTextureBuffer: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, internalformat: GLenum, buffer: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureBufferEXT"]
+    pub static mut epoxy_glTextureBufferEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            internalformat: GLenum,
+            buffer: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureBufferRange"]
+    pub static mut epoxy_glTextureBufferRange: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            internalformat: GLenum,
+            buffer: GLuint,
+            offset: GLintptr,
+            size: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureBufferRangeEXT"]
+    pub static mut epoxy_glTextureBufferRangeEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            internalformat: GLenum,
+            buffer: GLuint,
+            offset: GLintptr,
+            size: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureColorMaskSGIS"]
+    pub static mut epoxy_glTextureColorMaskSGIS: ::std::option::Option<
+        unsafe extern "C" fn(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureImage1DEXT"]
+    pub static mut epoxy_glTextureImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLint,
+            width: GLsizei,
+            border: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureImage2DEXT"]
+    pub static mut epoxy_glTextureImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            border: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureImage2DMultisampleCoverageNV"]
+    pub static mut epoxy_glTextureImage2DMultisampleCoverageNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            coverageSamples: GLsizei,
+            colorSamples: GLsizei,
+            internalFormat: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            fixedSampleLocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureImage2DMultisampleNV"]
+    pub static mut epoxy_glTextureImage2DMultisampleNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            samples: GLsizei,
+            internalFormat: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            fixedSampleLocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureImage3DEXT"]
+    pub static mut epoxy_glTextureImage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            internalformat: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            border: GLint,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureImage3DMultisampleCoverageNV"]
+    pub static mut epoxy_glTextureImage3DMultisampleCoverageNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            coverageSamples: GLsizei,
+            colorSamples: GLsizei,
+            internalFormat: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            fixedSampleLocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureImage3DMultisampleNV"]
+    pub static mut epoxy_glTextureImage3DMultisampleNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            samples: GLsizei,
+            internalFormat: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            fixedSampleLocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureLightEXT"]
+    pub static mut epoxy_glTextureLightEXT:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureMaterialEXT"]
+    pub static mut epoxy_glTextureMaterialEXT:
+        ::std::option::Option<unsafe extern "C" fn(face: GLenum, mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureNormalEXT"]
+    pub static mut epoxy_glTextureNormalEXT:
+        ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTexturePageCommitmentEXT"]
+    pub static mut epoxy_glTexturePageCommitmentEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            commit: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureParameterIiv"]
+    pub static mut epoxy_glTextureParameterIiv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureParameterIivEXT"]
+    pub static mut epoxy_glTextureParameterIivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureParameterIuiv"]
+    pub static mut epoxy_glTextureParameterIuiv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureParameterIuivEXT"]
+    pub static mut epoxy_glTextureParameterIuivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureParameterf"]
+    pub static mut epoxy_glTextureParameterf:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint, pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureParameterfEXT"]
+    pub static mut epoxy_glTextureParameterfEXT: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, param: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureParameterfv"]
+    pub static mut epoxy_glTextureParameterfv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, pname: GLenum, param: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureParameterfvEXT"]
+    pub static mut epoxy_glTextureParameterfvEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            pname: GLenum,
+            params: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureParameteri"]
+    pub static mut epoxy_glTextureParameteri:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureParameteriEXT"]
+    pub static mut epoxy_glTextureParameteriEXT: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, param: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureParameteriv"]
+    pub static mut epoxy_glTextureParameteriv: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, pname: GLenum, param: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureParameterivEXT"]
+    pub static mut epoxy_glTextureParameterivEXT: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureRangeAPPLE"]
+    pub static mut epoxy_glTextureRangeAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            target: GLenum,
+            length: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureRenderbufferEXT"]
+    pub static mut epoxy_glTextureRenderbufferEXT: ::std::option::Option<
+        unsafe extern "C" fn(texture: GLuint, target: GLenum, renderbuffer: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureStorage1D"]
+    pub static mut epoxy_glTextureStorage1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            levels: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureStorage1DEXT"]
+    pub static mut epoxy_glTextureStorage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            levels: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureStorage2D"]
+    pub static mut epoxy_glTextureStorage2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            levels: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureStorage2DEXT"]
+    pub static mut epoxy_glTextureStorage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            levels: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureStorage2DMultisample"]
+    pub static mut epoxy_glTextureStorage2DMultisample: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            fixedsamplelocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureStorage2DMultisampleEXT"]
+    pub static mut epoxy_glTextureStorage2DMultisampleEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            fixedsamplelocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureStorage3D"]
+    pub static mut epoxy_glTextureStorage3D: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            levels: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureStorage3DEXT"]
+    pub static mut epoxy_glTextureStorage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            levels: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureStorage3DMultisample"]
+    pub static mut epoxy_glTextureStorage3DMultisample: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            fixedsamplelocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureStorage3DMultisampleEXT"]
+    pub static mut epoxy_glTextureStorage3DMultisampleEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            samples: GLsizei,
+            internalformat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            fixedsamplelocations: GLboolean,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureStorageSparseAMD"]
+    pub static mut epoxy_glTextureStorageSparseAMD: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            internalFormat: GLenum,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            layers: GLsizei,
+            flags: GLbitfield,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureSubImage1D"]
+    pub static mut epoxy_glTextureSubImage1D: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            width: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureSubImage1DEXT"]
+    pub static mut epoxy_glTextureSubImage1DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            width: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureSubImage2D"]
+    pub static mut epoxy_glTextureSubImage2D: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureSubImage2DEXT"]
+    pub static mut epoxy_glTextureSubImage2DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureSubImage3D"]
+    pub static mut epoxy_glTextureSubImage3D: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureSubImage3DEXT"]
+    pub static mut epoxy_glTextureSubImage3DEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            level: GLint,
+            xoffset: GLint,
+            yoffset: GLint,
+            zoffset: GLint,
+            width: GLsizei,
+            height: GLsizei,
+            depth: GLsizei,
+            format: GLenum,
+            type_: GLenum,
+            pixels: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureView"]
+    pub static mut epoxy_glTextureView: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            origtexture: GLuint,
+            internalformat: GLenum,
+            minlevel: GLuint,
+            numlevels: GLuint,
+            minlayer: GLuint,
+            numlayers: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureViewEXT"]
+    pub static mut epoxy_glTextureViewEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            origtexture: GLuint,
+            internalformat: GLenum,
+            minlevel: GLuint,
+            numlevels: GLuint,
+            minlayer: GLuint,
+            numlayers: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTextureViewOES"]
+    pub static mut epoxy_glTextureViewOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            texture: GLuint,
+            target: GLenum,
+            origtexture: GLuint,
+            internalformat: GLenum,
+            minlevel: GLuint,
+            numlevels: GLuint,
+            minlayer: GLuint,
+            numlayers: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTrackMatrixNV"]
+    pub static mut epoxy_glTrackMatrixNV: ::std::option::Option<
+        unsafe extern "C" fn(target: GLenum, address: GLuint, matrix: GLenum, transform: GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTransformFeedbackAttribsNV"]
+    pub static mut epoxy_glTransformFeedbackAttribsNV: ::std::option::Option<
+        unsafe extern "C" fn(count: GLsizei, attribs: *const GLint, bufferMode: GLenum),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTransformFeedbackBufferBase"]
+    pub static mut epoxy_glTransformFeedbackBufferBase:
+        ::std::option::Option<unsafe extern "C" fn(xfb: GLuint, index: GLuint, buffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTransformFeedbackBufferRange"]
+    pub static mut epoxy_glTransformFeedbackBufferRange: ::std::option::Option<
+        unsafe extern "C" fn(
+            xfb: GLuint,
+            index: GLuint,
+            buffer: GLuint,
+            offset: GLintptr,
+            size: GLsizeiptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTransformFeedbackStreamAttribsNV"]
+    pub static mut epoxy_glTransformFeedbackStreamAttribsNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            count: GLsizei,
+            attribs: *const GLint,
+            nbuffers: GLsizei,
+            bufstreams: *const GLint,
+            bufferMode: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTransformFeedbackVaryings"]
+    pub static mut epoxy_glTransformFeedbackVaryings: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            count: GLsizei,
+            varyings: *const *const GLchar,
+            bufferMode: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTransformFeedbackVaryingsEXT"]
+    pub static mut epoxy_glTransformFeedbackVaryingsEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            count: GLsizei,
+            varyings: *const *const GLchar,
+            bufferMode: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTransformFeedbackVaryingsNV"]
+    pub static mut epoxy_glTransformFeedbackVaryingsNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            count: GLsizei,
+            locations: *const GLint,
+            bufferMode: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTransformPathNV"]
+    pub static mut epoxy_glTransformPathNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            resultPath: GLuint,
+            srcPath: GLuint,
+            transformType: GLenum,
+            transformValues: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTranslated"]
+    pub static mut epoxy_glTranslated:
+        ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTranslatef"]
+    pub static mut epoxy_glTranslatef:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTranslatex"]
+    pub static mut epoxy_glTranslatex:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glTranslatexOES"]
+    pub static mut epoxy_glTranslatexOES:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1d"]
+    pub static mut epoxy_glUniform1d:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1dv"]
+    pub static mut epoxy_glUniform1dv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1f"]
+    pub static mut epoxy_glUniform1f:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1fARB"]
+    pub static mut epoxy_glUniform1fARB:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1fv"]
+    pub static mut epoxy_glUniform1fv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1fvARB"]
+    pub static mut epoxy_glUniform1fvARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1i"]
+    pub static mut epoxy_glUniform1i:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1i64ARB"]
+    pub static mut epoxy_glUniform1i64ARB:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1i64NV"]
+    pub static mut epoxy_glUniform1i64NV:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1i64vARB"]
+    pub static mut epoxy_glUniform1i64vARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1i64vNV"]
+    pub static mut epoxy_glUniform1i64vNV: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1iARB"]
+    pub static mut epoxy_glUniform1iARB:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1iv"]
+    pub static mut epoxy_glUniform1iv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1ivARB"]
+    pub static mut epoxy_glUniform1ivARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1ui"]
+    pub static mut epoxy_glUniform1ui:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1ui64ARB"]
+    pub static mut epoxy_glUniform1ui64ARB:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLuint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1ui64NV"]
+    pub static mut epoxy_glUniform1ui64NV:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLuint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1ui64vARB"]
+    pub static mut epoxy_glUniform1ui64vARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1ui64vNV"]
+    pub static mut epoxy_glUniform1ui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1uiEXT"]
+    pub static mut epoxy_glUniform1uiEXT:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1uiv"]
+    pub static mut epoxy_glUniform1uiv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform1uivEXT"]
+    pub static mut epoxy_glUniform1uivEXT: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2d"]
+    pub static mut epoxy_glUniform2d:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLdouble, y: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2dv"]
+    pub static mut epoxy_glUniform2dv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2f"]
+    pub static mut epoxy_glUniform2f:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2fARB"]
+    pub static mut epoxy_glUniform2fARB:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2fv"]
+    pub static mut epoxy_glUniform2fv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2fvARB"]
+    pub static mut epoxy_glUniform2fvARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2i"]
+    pub static mut epoxy_glUniform2i:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2i64ARB"]
+    pub static mut epoxy_glUniform2i64ARB:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLint64, y: GLint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2i64NV"]
+    pub static mut epoxy_glUniform2i64NV:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLint64EXT, y: GLint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2i64vARB"]
+    pub static mut epoxy_glUniform2i64vARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2i64vNV"]
+    pub static mut epoxy_glUniform2i64vNV: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2iARB"]
+    pub static mut epoxy_glUniform2iARB:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2iv"]
+    pub static mut epoxy_glUniform2iv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2ivARB"]
+    pub static mut epoxy_glUniform2ivARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2ui"]
+    pub static mut epoxy_glUniform2ui:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2ui64ARB"]
+    pub static mut epoxy_glUniform2ui64ARB:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLuint64, y: GLuint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2ui64NV"]
+    pub static mut epoxy_glUniform2ui64NV: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, x: GLuint64EXT, y: GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2ui64vARB"]
+    pub static mut epoxy_glUniform2ui64vARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2ui64vNV"]
+    pub static mut epoxy_glUniform2ui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2uiEXT"]
+    pub static mut epoxy_glUniform2uiEXT:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2uiv"]
+    pub static mut epoxy_glUniform2uiv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform2uivEXT"]
+    pub static mut epoxy_glUniform2uivEXT: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3d"]
+    pub static mut epoxy_glUniform3d: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, x: GLdouble, y: GLdouble, z: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3dv"]
+    pub static mut epoxy_glUniform3dv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3f"]
+    pub static mut epoxy_glUniform3f: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3fARB"]
+    pub static mut epoxy_glUniform3fARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3fv"]
+    pub static mut epoxy_glUniform3fv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3fvARB"]
+    pub static mut epoxy_glUniform3fvARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3i"]
+    pub static mut epoxy_glUniform3i: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3i64ARB"]
+    pub static mut epoxy_glUniform3i64ARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, x: GLint64, y: GLint64, z: GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3i64NV"]
+    pub static mut epoxy_glUniform3i64NV: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, x: GLint64EXT, y: GLint64EXT, z: GLint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3i64vARB"]
+    pub static mut epoxy_glUniform3i64vARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3i64vNV"]
+    pub static mut epoxy_glUniform3i64vNV: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3iARB"]
+    pub static mut epoxy_glUniform3iARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3iv"]
+    pub static mut epoxy_glUniform3iv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3ivARB"]
+    pub static mut epoxy_glUniform3ivARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3ui"]
+    pub static mut epoxy_glUniform3ui: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3ui64ARB"]
+    pub static mut epoxy_glUniform3ui64ARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, x: GLuint64, y: GLuint64, z: GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3ui64NV"]
+    pub static mut epoxy_glUniform3ui64NV: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, x: GLuint64EXT, y: GLuint64EXT, z: GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3ui64vARB"]
+    pub static mut epoxy_glUniform3ui64vARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3ui64vNV"]
+    pub static mut epoxy_glUniform3ui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3uiEXT"]
+    pub static mut epoxy_glUniform3uiEXT: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3uiv"]
+    pub static mut epoxy_glUniform3uiv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform3uivEXT"]
+    pub static mut epoxy_glUniform3uivEXT: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4d"]
+    pub static mut epoxy_glUniform4d: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4dv"]
+    pub static mut epoxy_glUniform4dv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4f"]
+    pub static mut epoxy_glUniform4f: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat, v3: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4fARB"]
+    pub static mut epoxy_glUniform4fARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat, v3: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4fv"]
+    pub static mut epoxy_glUniform4fv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4fvARB"]
+    pub static mut epoxy_glUniform4fvARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4i"]
+    pub static mut epoxy_glUniform4i: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint, v3: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4i64ARB"]
+    pub static mut epoxy_glUniform4i64ARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, x: GLint64, y: GLint64, z: GLint64, w: GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4i64NV"]
+    pub static mut epoxy_glUniform4i64NV: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            x: GLint64EXT,
+            y: GLint64EXT,
+            z: GLint64EXT,
+            w: GLint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4i64vARB"]
+    pub static mut epoxy_glUniform4i64vARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4i64vNV"]
+    pub static mut epoxy_glUniform4i64vNV: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4iARB"]
+    pub static mut epoxy_glUniform4iARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint, v3: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4iv"]
+    pub static mut epoxy_glUniform4iv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4ivARB"]
+    pub static mut epoxy_glUniform4ivARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4ui"]
+    pub static mut epoxy_glUniform4ui: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4ui64ARB"]
+    pub static mut epoxy_glUniform4ui64ARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, x: GLuint64, y: GLuint64, z: GLuint64, w: GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4ui64NV"]
+    pub static mut epoxy_glUniform4ui64NV: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            x: GLuint64EXT,
+            y: GLuint64EXT,
+            z: GLuint64EXT,
+            w: GLuint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4ui64vARB"]
+    pub static mut epoxy_glUniform4ui64vARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4ui64vNV"]
+    pub static mut epoxy_glUniform4ui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4uiEXT"]
+    pub static mut epoxy_glUniform4uiEXT: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4uiv"]
+    pub static mut epoxy_glUniform4uiv: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniform4uivEXT"]
+    pub static mut epoxy_glUniform4uivEXT: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformBlockBinding"]
+    pub static mut epoxy_glUniformBlockBinding: ::std::option::Option<
+        unsafe extern "C" fn(
+            program: GLuint,
+            uniformBlockIndex: GLuint,
+            uniformBlockBinding: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformBufferEXT"]
+    pub static mut epoxy_glUniformBufferEXT: ::std::option::Option<
+        unsafe extern "C" fn(program: GLuint, location: GLint, buffer: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformHandleui64ARB"]
+    pub static mut epoxy_glUniformHandleui64ARB:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, value: GLuint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformHandleui64IMG"]
+    pub static mut epoxy_glUniformHandleui64IMG:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, value: GLuint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformHandleui64NV"]
+    pub static mut epoxy_glUniformHandleui64NV:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, value: GLuint64)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformHandleui64vARB"]
+    pub static mut epoxy_glUniformHandleui64vARB: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformHandleui64vIMG"]
+    pub static mut epoxy_glUniformHandleui64vIMG: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformHandleui64vNV"]
+    pub static mut epoxy_glUniformHandleui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix2dv"]
+    pub static mut epoxy_glUniformMatrix2dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix2fv"]
+    pub static mut epoxy_glUniformMatrix2fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix2fvARB"]
+    pub static mut epoxy_glUniformMatrix2fvARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix2x3dv"]
+    pub static mut epoxy_glUniformMatrix2x3dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix2x3fv"]
+    pub static mut epoxy_glUniformMatrix2x3fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix2x3fvNV"]
+    pub static mut epoxy_glUniformMatrix2x3fvNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix2x4dv"]
+    pub static mut epoxy_glUniformMatrix2x4dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix2x4fv"]
+    pub static mut epoxy_glUniformMatrix2x4fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix2x4fvNV"]
+    pub static mut epoxy_glUniformMatrix2x4fvNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix3dv"]
+    pub static mut epoxy_glUniformMatrix3dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix3fv"]
+    pub static mut epoxy_glUniformMatrix3fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix3fvARB"]
+    pub static mut epoxy_glUniformMatrix3fvARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix3x2dv"]
+    pub static mut epoxy_glUniformMatrix3x2dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix3x2fv"]
+    pub static mut epoxy_glUniformMatrix3x2fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix3x2fvNV"]
+    pub static mut epoxy_glUniformMatrix3x2fvNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix3x4dv"]
+    pub static mut epoxy_glUniformMatrix3x4dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix3x4fv"]
+    pub static mut epoxy_glUniformMatrix3x4fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix3x4fvNV"]
+    pub static mut epoxy_glUniformMatrix3x4fvNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix4dv"]
+    pub static mut epoxy_glUniformMatrix4dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix4fv"]
+    pub static mut epoxy_glUniformMatrix4fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix4fvARB"]
+    pub static mut epoxy_glUniformMatrix4fvARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix4x2dv"]
+    pub static mut epoxy_glUniformMatrix4x2dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix4x2fv"]
+    pub static mut epoxy_glUniformMatrix4x2fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix4x2fvNV"]
+    pub static mut epoxy_glUniformMatrix4x2fvNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix4x3dv"]
+    pub static mut epoxy_glUniformMatrix4x3dv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix4x3fv"]
+    pub static mut epoxy_glUniformMatrix4x3fv: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformMatrix4x3fvNV"]
+    pub static mut epoxy_glUniformMatrix4x3fvNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            location: GLint,
+            count: GLsizei,
+            transpose: GLboolean,
+            value: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformSubroutinesuiv"]
+    pub static mut epoxy_glUniformSubroutinesuiv: ::std::option::Option<
+        unsafe extern "C" fn(shadertype: GLenum, count: GLsizei, indices: *const GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformui64NV"]
+    pub static mut epoxy_glUniformui64NV:
+        ::std::option::Option<unsafe extern "C" fn(location: GLint, value: GLuint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUniformui64vNV"]
+    pub static mut epoxy_glUniformui64vNV: ::std::option::Option<
+        unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUnlockArraysEXT"]
+    pub static mut epoxy_glUnlockArraysEXT: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUnmapBuffer"]
+    pub static mut epoxy_glUnmapBuffer:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUnmapBufferARB"]
+    pub static mut epoxy_glUnmapBufferARB:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUnmapBufferOES"]
+    pub static mut epoxy_glUnmapBufferOES:
+        ::std::option::Option<unsafe extern "C" fn(target: GLenum) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUnmapNamedBuffer"]
+    pub static mut epoxy_glUnmapNamedBuffer:
+        ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUnmapNamedBufferEXT"]
+    pub static mut epoxy_glUnmapNamedBufferEXT:
+        ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUnmapObjectBufferATI"]
+    pub static mut epoxy_glUnmapObjectBufferATI:
+        ::std::option::Option<unsafe extern "C" fn(buffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUnmapTexture2DINTEL"]
+    pub static mut epoxy_glUnmapTexture2DINTEL:
+        ::std::option::Option<unsafe extern "C" fn(texture: GLuint, level: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUpdateObjectBufferATI"]
+    pub static mut epoxy_glUpdateObjectBufferATI: ::std::option::Option<
+        unsafe extern "C" fn(
+            buffer: GLuint,
+            offset: GLuint,
+            size: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+            preserve: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUseProgram"]
+    pub static mut epoxy_glUseProgram: ::std::option::Option<unsafe extern "C" fn(program: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUseProgramObjectARB"]
+    pub static mut epoxy_glUseProgramObjectARB:
+        ::std::option::Option<unsafe extern "C" fn(programObj: GLhandleARB)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUseProgramStages"]
+    pub static mut epoxy_glUseProgramStages: ::std::option::Option<
+        unsafe extern "C" fn(pipeline: GLuint, stages: GLbitfield, program: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUseProgramStagesEXT"]
+    pub static mut epoxy_glUseProgramStagesEXT: ::std::option::Option<
+        unsafe extern "C" fn(pipeline: GLuint, stages: GLbitfield, program: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glUseShaderProgramEXT"]
+    pub static mut epoxy_glUseShaderProgramEXT:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, program: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVDPAUFiniNV"]
+    pub static mut epoxy_glVDPAUFiniNV: ::std::option::Option<unsafe extern "C" fn()>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVDPAUGetSurfaceivNV"]
+    pub static mut epoxy_glVDPAUGetSurfaceivNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            surface: GLvdpauSurfaceNV,
+            pname: GLenum,
+            bufSize: GLsizei,
+            length: *mut GLsizei,
+            values: *mut GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVDPAUInitNV"]
+    pub static mut epoxy_glVDPAUInitNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            vdpDevice: *const ::std::os::raw::c_void,
+            getProcAddress: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVDPAUIsSurfaceNV"]
+    pub static mut epoxy_glVDPAUIsSurfaceNV:
+        ::std::option::Option<unsafe extern "C" fn(surface: GLvdpauSurfaceNV) -> GLboolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVDPAUMapSurfacesNV"]
+    pub static mut epoxy_glVDPAUMapSurfacesNV: ::std::option::Option<
+        unsafe extern "C" fn(numSurfaces: GLsizei, surfaces: *const GLvdpauSurfaceNV),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVDPAURegisterOutputSurfaceNV"]
+    pub static mut epoxy_glVDPAURegisterOutputSurfaceNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            vdpSurface: *const ::std::os::raw::c_void,
+            target: GLenum,
+            numTextureNames: GLsizei,
+            textureNames: *const GLuint,
+        ) -> GLvdpauSurfaceNV,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVDPAURegisterVideoSurfaceNV"]
+    pub static mut epoxy_glVDPAURegisterVideoSurfaceNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            vdpSurface: *const ::std::os::raw::c_void,
+            target: GLenum,
+            numTextureNames: GLsizei,
+            textureNames: *const GLuint,
+        ) -> GLvdpauSurfaceNV,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVDPAUSurfaceAccessNV"]
+    pub static mut epoxy_glVDPAUSurfaceAccessNV:
+        ::std::option::Option<unsafe extern "C" fn(surface: GLvdpauSurfaceNV, access: GLenum)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVDPAUUnmapSurfacesNV"]
+    pub static mut epoxy_glVDPAUUnmapSurfacesNV: ::std::option::Option<
+        unsafe extern "C" fn(numSurface: GLsizei, surfaces: *const GLvdpauSurfaceNV),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVDPAUUnregisterSurfaceNV"]
+    pub static mut epoxy_glVDPAUUnregisterSurfaceNV:
+        ::std::option::Option<unsafe extern "C" fn(surface: GLvdpauSurfaceNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glValidateProgram"]
+    pub static mut epoxy_glValidateProgram:
+        ::std::option::Option<unsafe extern "C" fn(program: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glValidateProgramARB"]
+    pub static mut epoxy_glValidateProgramARB:
+        ::std::option::Option<unsafe extern "C" fn(programObj: GLhandleARB)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glValidateProgramPipeline"]
+    pub static mut epoxy_glValidateProgramPipeline:
+        ::std::option::Option<unsafe extern "C" fn(pipeline: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glValidateProgramPipelineEXT"]
+    pub static mut epoxy_glValidateProgramPipelineEXT:
+        ::std::option::Option<unsafe extern "C" fn(pipeline: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVariantArrayObjectATI"]
+    pub static mut epoxy_glVariantArrayObjectATI: ::std::option::Option<
+        unsafe extern "C" fn(
+            id: GLuint,
+            type_: GLenum,
+            stride: GLsizei,
+            buffer: GLuint,
+            offset: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVariantPointerEXT"]
+    pub static mut epoxy_glVariantPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            id: GLuint,
+            type_: GLenum,
+            stride: GLuint,
+            addr: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVariantbvEXT"]
+    pub static mut epoxy_glVariantbvEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVariantdvEXT"]
+    pub static mut epoxy_glVariantdvEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVariantfvEXT"]
+    pub static mut epoxy_glVariantfvEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVariantivEXT"]
+    pub static mut epoxy_glVariantivEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVariantsvEXT"]
+    pub static mut epoxy_glVariantsvEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVariantubvEXT"]
+    pub static mut epoxy_glVariantubvEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVariantuivEXT"]
+    pub static mut epoxy_glVariantuivEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVariantusvEXT"]
+    pub static mut epoxy_glVariantusvEXT:
+        ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2bOES"]
+    pub static mut epoxy_glVertex2bOES:
+        ::std::option::Option<unsafe extern "C" fn(x: GLbyte, y: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2bvOES"]
+    pub static mut epoxy_glVertex2bvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2d"]
+    pub static mut epoxy_glVertex2d:
+        ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2dv"]
+    pub static mut epoxy_glVertex2dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2f"]
+    pub static mut epoxy_glVertex2f:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2fv"]
+    pub static mut epoxy_glVertex2fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2hNV"]
+    pub static mut epoxy_glVertex2hNV:
+        ::std::option::Option<unsafe extern "C" fn(x: GLhalfNV, y: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2hvNV"]
+    pub static mut epoxy_glVertex2hvNV:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2i"]
+    pub static mut epoxy_glVertex2i:
+        ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2iv"]
+    pub static mut epoxy_glVertex2iv: ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2s"]
+    pub static mut epoxy_glVertex2s:
+        ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2sv"]
+    pub static mut epoxy_glVertex2sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2xOES"]
+    pub static mut epoxy_glVertex2xOES: ::std::option::Option<unsafe extern "C" fn(x: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex2xvOES"]
+    pub static mut epoxy_glVertex2xvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3bOES"]
+    pub static mut epoxy_glVertex3bOES:
+        ::std::option::Option<unsafe extern "C" fn(x: GLbyte, y: GLbyte, z: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3bvOES"]
+    pub static mut epoxy_glVertex3bvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3d"]
+    pub static mut epoxy_glVertex3d:
+        ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3dv"]
+    pub static mut epoxy_glVertex3dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3f"]
+    pub static mut epoxy_glVertex3f:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3fv"]
+    pub static mut epoxy_glVertex3fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3hNV"]
+    pub static mut epoxy_glVertex3hNV:
+        ::std::option::Option<unsafe extern "C" fn(x: GLhalfNV, y: GLhalfNV, z: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3hvNV"]
+    pub static mut epoxy_glVertex3hvNV:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3i"]
+    pub static mut epoxy_glVertex3i:
+        ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3iv"]
+    pub static mut epoxy_glVertex3iv: ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3s"]
+    pub static mut epoxy_glVertex3s:
+        ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3sv"]
+    pub static mut epoxy_glVertex3sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3xOES"]
+    pub static mut epoxy_glVertex3xOES:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex3xvOES"]
+    pub static mut epoxy_glVertex3xvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4bOES"]
+    pub static mut epoxy_glVertex4bOES:
+        ::std::option::Option<unsafe extern "C" fn(x: GLbyte, y: GLbyte, z: GLbyte, w: GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4bvOES"]
+    pub static mut epoxy_glVertex4bvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4d"]
+    pub static mut epoxy_glVertex4d: ::std::option::Option<
+        unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4dv"]
+    pub static mut epoxy_glVertex4dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4f"]
+    pub static mut epoxy_glVertex4f:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4fv"]
+    pub static mut epoxy_glVertex4fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4hNV"]
+    pub static mut epoxy_glVertex4hNV: ::std::option::Option<
+        unsafe extern "C" fn(x: GLhalfNV, y: GLhalfNV, z: GLhalfNV, w: GLhalfNV),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4hvNV"]
+    pub static mut epoxy_glVertex4hvNV:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4i"]
+    pub static mut epoxy_glVertex4i:
+        ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint, w: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4iv"]
+    pub static mut epoxy_glVertex4iv: ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4s"]
+    pub static mut epoxy_glVertex4s:
+        ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort, w: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4sv"]
+    pub static mut epoxy_glVertex4sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4xOES"]
+    pub static mut epoxy_glVertex4xOES:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertex4xvOES"]
+    pub static mut epoxy_glVertex4xvOES:
+        ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayAttribBinding"]
+    pub static mut epoxy_glVertexArrayAttribBinding: ::std::option::Option<
+        unsafe extern "C" fn(vaobj: GLuint, attribindex: GLuint, bindingindex: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayAttribFormat"]
+    pub static mut epoxy_glVertexArrayAttribFormat: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            attribindex: GLuint,
+            size: GLint,
+            type_: GLenum,
+            normalized: GLboolean,
+            relativeoffset: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayAttribIFormat"]
+    pub static mut epoxy_glVertexArrayAttribIFormat: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            attribindex: GLuint,
+            size: GLint,
+            type_: GLenum,
+            relativeoffset: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayAttribLFormat"]
+    pub static mut epoxy_glVertexArrayAttribLFormat: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            attribindex: GLuint,
+            size: GLint,
+            type_: GLenum,
+            relativeoffset: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayBindVertexBufferEXT"]
+    pub static mut epoxy_glVertexArrayBindVertexBufferEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            bindingindex: GLuint,
+            buffer: GLuint,
+            offset: GLintptr,
+            stride: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayBindingDivisor"]
+    pub static mut epoxy_glVertexArrayBindingDivisor: ::std::option::Option<
+        unsafe extern "C" fn(vaobj: GLuint, bindingindex: GLuint, divisor: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayColorOffsetEXT"]
+    pub static mut epoxy_glVertexArrayColorOffsetEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            buffer: GLuint,
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            offset: GLintptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayEdgeFlagOffsetEXT"]
+    pub static mut epoxy_glVertexArrayEdgeFlagOffsetEXT: ::std::option::Option<
+        unsafe extern "C" fn(vaobj: GLuint, buffer: GLuint, stride: GLsizei, offset: GLintptr),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayElementBuffer"]
+    pub static mut epoxy_glVertexArrayElementBuffer:
+        ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, buffer: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayFogCoordOffsetEXT"]
+    pub static mut epoxy_glVertexArrayFogCoordOffsetEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            buffer: GLuint,
+            type_: GLenum,
+            stride: GLsizei,
+            offset: GLintptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayIndexOffsetEXT"]
+    pub static mut epoxy_glVertexArrayIndexOffsetEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            buffer: GLuint,
+            type_: GLenum,
+            stride: GLsizei,
+            offset: GLintptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayMultiTexCoordOffsetEXT"]
+    pub static mut epoxy_glVertexArrayMultiTexCoordOffsetEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            buffer: GLuint,
+            texunit: GLenum,
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            offset: GLintptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayNormalOffsetEXT"]
+    pub static mut epoxy_glVertexArrayNormalOffsetEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            buffer: GLuint,
+            type_: GLenum,
+            stride: GLsizei,
+            offset: GLintptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayParameteriAPPLE"]
+    pub static mut epoxy_glVertexArrayParameteriAPPLE:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayRangeAPPLE"]
+    pub static mut epoxy_glVertexArrayRangeAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(length: GLsizei, pointer: *mut ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayRangeNV"]
+    pub static mut epoxy_glVertexArrayRangeNV: ::std::option::Option<
+        unsafe extern "C" fn(length: GLsizei, pointer: *const ::std::os::raw::c_void),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArraySecondaryColorOffsetEXT"]
+    pub static mut epoxy_glVertexArraySecondaryColorOffsetEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            buffer: GLuint,
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            offset: GLintptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayTexCoordOffsetEXT"]
+    pub static mut epoxy_glVertexArrayTexCoordOffsetEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            buffer: GLuint,
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            offset: GLintptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayVertexAttribBindingEXT"]
+    pub static mut epoxy_glVertexArrayVertexAttribBindingEXT: ::std::option::Option<
+        unsafe extern "C" fn(vaobj: GLuint, attribindex: GLuint, bindingindex: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayVertexAttribDivisorEXT"]
+    pub static mut epoxy_glVertexArrayVertexAttribDivisorEXT:
+        ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint, divisor: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayVertexAttribFormatEXT"]
+    pub static mut epoxy_glVertexArrayVertexAttribFormatEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            attribindex: GLuint,
+            size: GLint,
+            type_: GLenum,
+            normalized: GLboolean,
+            relativeoffset: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayVertexAttribIFormatEXT"]
+    pub static mut epoxy_glVertexArrayVertexAttribIFormatEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            attribindex: GLuint,
+            size: GLint,
+            type_: GLenum,
+            relativeoffset: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayVertexAttribIOffsetEXT"]
+    pub static mut epoxy_glVertexArrayVertexAttribIOffsetEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            buffer: GLuint,
+            index: GLuint,
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            offset: GLintptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayVertexAttribLFormatEXT"]
+    pub static mut epoxy_glVertexArrayVertexAttribLFormatEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            attribindex: GLuint,
+            size: GLint,
+            type_: GLenum,
+            relativeoffset: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayVertexAttribLOffsetEXT"]
+    pub static mut epoxy_glVertexArrayVertexAttribLOffsetEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            buffer: GLuint,
+            index: GLuint,
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            offset: GLintptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayVertexAttribOffsetEXT"]
+    pub static mut epoxy_glVertexArrayVertexAttribOffsetEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            buffer: GLuint,
+            index: GLuint,
+            size: GLint,
+            type_: GLenum,
+            normalized: GLboolean,
+            stride: GLsizei,
+            offset: GLintptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayVertexBindingDivisorEXT"]
+    pub static mut epoxy_glVertexArrayVertexBindingDivisorEXT: ::std::option::Option<
+        unsafe extern "C" fn(vaobj: GLuint, bindingindex: GLuint, divisor: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayVertexBuffer"]
+    pub static mut epoxy_glVertexArrayVertexBuffer: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            bindingindex: GLuint,
+            buffer: GLuint,
+            offset: GLintptr,
+            stride: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayVertexBuffers"]
+    pub static mut epoxy_glVertexArrayVertexBuffers: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            first: GLuint,
+            count: GLsizei,
+            buffers: *const GLuint,
+            offsets: *const GLintptr,
+            strides: *const GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexArrayVertexOffsetEXT"]
+    pub static mut epoxy_glVertexArrayVertexOffsetEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            vaobj: GLuint,
+            buffer: GLuint,
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            offset: GLintptr,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1d"]
+    pub static mut epoxy_glVertexAttrib1d:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1dARB"]
+    pub static mut epoxy_glVertexAttrib1dARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1dNV"]
+    pub static mut epoxy_glVertexAttrib1dNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1dv"]
+    pub static mut epoxy_glVertexAttrib1dv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1dvARB"]
+    pub static mut epoxy_glVertexAttrib1dvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1dvNV"]
+    pub static mut epoxy_glVertexAttrib1dvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1f"]
+    pub static mut epoxy_glVertexAttrib1f:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1fARB"]
+    pub static mut epoxy_glVertexAttrib1fARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1fNV"]
+    pub static mut epoxy_glVertexAttrib1fNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1fv"]
+    pub static mut epoxy_glVertexAttrib1fv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1fvARB"]
+    pub static mut epoxy_glVertexAttrib1fvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1fvNV"]
+    pub static mut epoxy_glVertexAttrib1fvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1hNV"]
+    pub static mut epoxy_glVertexAttrib1hNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1hvNV"]
+    pub static mut epoxy_glVertexAttrib1hvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1s"]
+    pub static mut epoxy_glVertexAttrib1s:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1sARB"]
+    pub static mut epoxy_glVertexAttrib1sARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1sNV"]
+    pub static mut epoxy_glVertexAttrib1sNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1sv"]
+    pub static mut epoxy_glVertexAttrib1sv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1svARB"]
+    pub static mut epoxy_glVertexAttrib1svARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib1svNV"]
+    pub static mut epoxy_glVertexAttrib1svNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2d"]
+    pub static mut epoxy_glVertexAttrib2d:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2dARB"]
+    pub static mut epoxy_glVertexAttrib2dARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2dNV"]
+    pub static mut epoxy_glVertexAttrib2dNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2dv"]
+    pub static mut epoxy_glVertexAttrib2dv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2dvARB"]
+    pub static mut epoxy_glVertexAttrib2dvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2dvNV"]
+    pub static mut epoxy_glVertexAttrib2dvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2f"]
+    pub static mut epoxy_glVertexAttrib2f:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2fARB"]
+    pub static mut epoxy_glVertexAttrib2fARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2fNV"]
+    pub static mut epoxy_glVertexAttrib2fNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2fv"]
+    pub static mut epoxy_glVertexAttrib2fv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2fvARB"]
+    pub static mut epoxy_glVertexAttrib2fvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2fvNV"]
+    pub static mut epoxy_glVertexAttrib2fvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2hNV"]
+    pub static mut epoxy_glVertexAttrib2hNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLhalfNV, y: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2hvNV"]
+    pub static mut epoxy_glVertexAttrib2hvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2s"]
+    pub static mut epoxy_glVertexAttrib2s:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2sARB"]
+    pub static mut epoxy_glVertexAttrib2sARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2sNV"]
+    pub static mut epoxy_glVertexAttrib2sNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2sv"]
+    pub static mut epoxy_glVertexAttrib2sv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2svARB"]
+    pub static mut epoxy_glVertexAttrib2svARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib2svNV"]
+    pub static mut epoxy_glVertexAttrib2svNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3d"]
+    pub static mut epoxy_glVertexAttrib3d: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3dARB"]
+    pub static mut epoxy_glVertexAttrib3dARB: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3dNV"]
+    pub static mut epoxy_glVertexAttrib3dNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3dv"]
+    pub static mut epoxy_glVertexAttrib3dv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3dvARB"]
+    pub static mut epoxy_glVertexAttrib3dvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3dvNV"]
+    pub static mut epoxy_glVertexAttrib3dvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3f"]
+    pub static mut epoxy_glVertexAttrib3f: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3fARB"]
+    pub static mut epoxy_glVertexAttrib3fARB: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3fNV"]
+    pub static mut epoxy_glVertexAttrib3fNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3fv"]
+    pub static mut epoxy_glVertexAttrib3fv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3fvARB"]
+    pub static mut epoxy_glVertexAttrib3fvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3fvNV"]
+    pub static mut epoxy_glVertexAttrib3fvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3hNV"]
+    pub static mut epoxy_glVertexAttrib3hNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLhalfNV, y: GLhalfNV, z: GLhalfNV),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3hvNV"]
+    pub static mut epoxy_glVertexAttrib3hvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3s"]
+    pub static mut epoxy_glVertexAttrib3s: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3sARB"]
+    pub static mut epoxy_glVertexAttrib3sARB: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3sNV"]
+    pub static mut epoxy_glVertexAttrib3sNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3sv"]
+    pub static mut epoxy_glVertexAttrib3sv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3svARB"]
+    pub static mut epoxy_glVertexAttrib3svARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib3svNV"]
+    pub static mut epoxy_glVertexAttrib3svNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4Nbv"]
+    pub static mut epoxy_glVertexAttrib4Nbv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4NbvARB"]
+    pub static mut epoxy_glVertexAttrib4NbvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4Niv"]
+    pub static mut epoxy_glVertexAttrib4Niv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4NivARB"]
+    pub static mut epoxy_glVertexAttrib4NivARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4Nsv"]
+    pub static mut epoxy_glVertexAttrib4Nsv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4NsvARB"]
+    pub static mut epoxy_glVertexAttrib4NsvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4Nub"]
+    pub static mut epoxy_glVertexAttrib4Nub: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLubyte, y: GLubyte, z: GLubyte, w: GLubyte),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4NubARB"]
+    pub static mut epoxy_glVertexAttrib4NubARB: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLubyte, y: GLubyte, z: GLubyte, w: GLubyte),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4Nubv"]
+    pub static mut epoxy_glVertexAttrib4Nubv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4NubvARB"]
+    pub static mut epoxy_glVertexAttrib4NubvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4Nuiv"]
+    pub static mut epoxy_glVertexAttrib4Nuiv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4NuivARB"]
+    pub static mut epoxy_glVertexAttrib4NuivARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4Nusv"]
+    pub static mut epoxy_glVertexAttrib4Nusv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4NusvARB"]
+    pub static mut epoxy_glVertexAttrib4NusvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4bv"]
+    pub static mut epoxy_glVertexAttrib4bv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4bvARB"]
+    pub static mut epoxy_glVertexAttrib4bvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4d"]
+    pub static mut epoxy_glVertexAttrib4d: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4dARB"]
+    pub static mut epoxy_glVertexAttrib4dARB: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4dNV"]
+    pub static mut epoxy_glVertexAttrib4dNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4dv"]
+    pub static mut epoxy_glVertexAttrib4dv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4dvARB"]
+    pub static mut epoxy_glVertexAttrib4dvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4dvNV"]
+    pub static mut epoxy_glVertexAttrib4dvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4f"]
+    pub static mut epoxy_glVertexAttrib4f: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4fARB"]
+    pub static mut epoxy_glVertexAttrib4fARB: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4fNV"]
+    pub static mut epoxy_glVertexAttrib4fNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4fv"]
+    pub static mut epoxy_glVertexAttrib4fv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4fvARB"]
+    pub static mut epoxy_glVertexAttrib4fvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4fvNV"]
+    pub static mut epoxy_glVertexAttrib4fvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4hNV"]
+    pub static mut epoxy_glVertexAttrib4hNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLhalfNV, y: GLhalfNV, z: GLhalfNV, w: GLhalfNV),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4hvNV"]
+    pub static mut epoxy_glVertexAttrib4hvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4iv"]
+    pub static mut epoxy_glVertexAttrib4iv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4ivARB"]
+    pub static mut epoxy_glVertexAttrib4ivARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4s"]
+    pub static mut epoxy_glVertexAttrib4s: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort, w: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4sARB"]
+    pub static mut epoxy_glVertexAttrib4sARB: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort, w: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4sNV"]
+    pub static mut epoxy_glVertexAttrib4sNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort, w: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4sv"]
+    pub static mut epoxy_glVertexAttrib4sv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4svARB"]
+    pub static mut epoxy_glVertexAttrib4svARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4svNV"]
+    pub static mut epoxy_glVertexAttrib4svNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4ubNV"]
+    pub static mut epoxy_glVertexAttrib4ubNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLubyte, y: GLubyte, z: GLubyte, w: GLubyte),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4ubv"]
+    pub static mut epoxy_glVertexAttrib4ubv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4ubvARB"]
+    pub static mut epoxy_glVertexAttrib4ubvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4ubvNV"]
+    pub static mut epoxy_glVertexAttrib4ubvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4uiv"]
+    pub static mut epoxy_glVertexAttrib4uiv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4uivARB"]
+    pub static mut epoxy_glVertexAttrib4uivARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4usv"]
+    pub static mut epoxy_glVertexAttrib4usv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttrib4usvARB"]
+    pub static mut epoxy_glVertexAttrib4usvARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribArrayObjectATI"]
+    pub static mut epoxy_glVertexAttribArrayObjectATI: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            size: GLint,
+            type_: GLenum,
+            normalized: GLboolean,
+            stride: GLsizei,
+            buffer: GLuint,
+            offset: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribBinding"]
+    pub static mut epoxy_glVertexAttribBinding:
+        ::std::option::Option<unsafe extern "C" fn(attribindex: GLuint, bindingindex: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribDivisor"]
+    pub static mut epoxy_glVertexAttribDivisor:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, divisor: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribDivisorANGLE"]
+    pub static mut epoxy_glVertexAttribDivisorANGLE:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, divisor: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribDivisorARB"]
+    pub static mut epoxy_glVertexAttribDivisorARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, divisor: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribDivisorEXT"]
+    pub static mut epoxy_glVertexAttribDivisorEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, divisor: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribDivisorNV"]
+    pub static mut epoxy_glVertexAttribDivisorNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, divisor: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribFormat"]
+    pub static mut epoxy_glVertexAttribFormat: ::std::option::Option<
+        unsafe extern "C" fn(
+            attribindex: GLuint,
+            size: GLint,
+            type_: GLenum,
+            normalized: GLboolean,
+            relativeoffset: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribFormatNV"]
+    pub static mut epoxy_glVertexAttribFormatNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            size: GLint,
+            type_: GLenum,
+            normalized: GLboolean,
+            stride: GLsizei,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI1i"]
+    pub static mut epoxy_glVertexAttribI1i:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI1iEXT"]
+    pub static mut epoxy_glVertexAttribI1iEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI1iv"]
+    pub static mut epoxy_glVertexAttribI1iv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI1ivEXT"]
+    pub static mut epoxy_glVertexAttribI1ivEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI1ui"]
+    pub static mut epoxy_glVertexAttribI1ui:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI1uiEXT"]
+    pub static mut epoxy_glVertexAttribI1uiEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI1uiv"]
+    pub static mut epoxy_glVertexAttribI1uiv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI1uivEXT"]
+    pub static mut epoxy_glVertexAttribI1uivEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI2i"]
+    pub static mut epoxy_glVertexAttribI2i:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI2iEXT"]
+    pub static mut epoxy_glVertexAttribI2iEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI2iv"]
+    pub static mut epoxy_glVertexAttribI2iv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI2ivEXT"]
+    pub static mut epoxy_glVertexAttribI2ivEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI2ui"]
+    pub static mut epoxy_glVertexAttribI2ui:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI2uiEXT"]
+    pub static mut epoxy_glVertexAttribI2uiEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI2uiv"]
+    pub static mut epoxy_glVertexAttribI2uiv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI2uivEXT"]
+    pub static mut epoxy_glVertexAttribI2uivEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI3i"]
+    pub static mut epoxy_glVertexAttribI3i:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI3iEXT"]
+    pub static mut epoxy_glVertexAttribI3iEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI3iv"]
+    pub static mut epoxy_glVertexAttribI3iv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI3ivEXT"]
+    pub static mut epoxy_glVertexAttribI3ivEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI3ui"]
+    pub static mut epoxy_glVertexAttribI3ui:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI3uiEXT"]
+    pub static mut epoxy_glVertexAttribI3uiEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI3uiv"]
+    pub static mut epoxy_glVertexAttribI3uiv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI3uivEXT"]
+    pub static mut epoxy_glVertexAttribI3uivEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4bv"]
+    pub static mut epoxy_glVertexAttribI4bv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4bvEXT"]
+    pub static mut epoxy_glVertexAttribI4bvEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4i"]
+    pub static mut epoxy_glVertexAttribI4i: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4iEXT"]
+    pub static mut epoxy_glVertexAttribI4iEXT: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4iv"]
+    pub static mut epoxy_glVertexAttribI4iv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4ivEXT"]
+    pub static mut epoxy_glVertexAttribI4ivEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4sv"]
+    pub static mut epoxy_glVertexAttribI4sv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4svEXT"]
+    pub static mut epoxy_glVertexAttribI4svEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4ubv"]
+    pub static mut epoxy_glVertexAttribI4ubv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4ubvEXT"]
+    pub static mut epoxy_glVertexAttribI4ubvEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4ui"]
+    pub static mut epoxy_glVertexAttribI4ui: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4uiEXT"]
+    pub static mut epoxy_glVertexAttribI4uiEXT: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4uiv"]
+    pub static mut epoxy_glVertexAttribI4uiv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4uivEXT"]
+    pub static mut epoxy_glVertexAttribI4uivEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4usv"]
+    pub static mut epoxy_glVertexAttribI4usv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribI4usvEXT"]
+    pub static mut epoxy_glVertexAttribI4usvEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribIFormat"]
+    pub static mut epoxy_glVertexAttribIFormat: ::std::option::Option<
+        unsafe extern "C" fn(
+            attribindex: GLuint,
+            size: GLint,
+            type_: GLenum,
+            relativeoffset: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribIFormatNV"]
+    pub static mut epoxy_glVertexAttribIFormatNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, size: GLint, type_: GLenum, stride: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribIPointer"]
+    pub static mut epoxy_glVertexAttribIPointer: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribIPointerEXT"]
+    pub static mut epoxy_glVertexAttribIPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL1d"]
+    pub static mut epoxy_glVertexAttribL1d:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL1dEXT"]
+    pub static mut epoxy_glVertexAttribL1dEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL1dv"]
+    pub static mut epoxy_glVertexAttribL1dv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL1dvEXT"]
+    pub static mut epoxy_glVertexAttribL1dvEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL1i64NV"]
+    pub static mut epoxy_glVertexAttribL1i64NV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL1i64vNV"]
+    pub static mut epoxy_glVertexAttribL1i64vNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL1ui64ARB"]
+    pub static mut epoxy_glVertexAttribL1ui64ARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL1ui64NV"]
+    pub static mut epoxy_glVertexAttribL1ui64NV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL1ui64vARB"]
+    pub static mut epoxy_glVertexAttribL1ui64vARB:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL1ui64vNV"]
+    pub static mut epoxy_glVertexAttribL1ui64vNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL2d"]
+    pub static mut epoxy_glVertexAttribL2d:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL2dEXT"]
+    pub static mut epoxy_glVertexAttribL2dEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL2dv"]
+    pub static mut epoxy_glVertexAttribL2dv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL2dvEXT"]
+    pub static mut epoxy_glVertexAttribL2dvEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL2i64NV"]
+    pub static mut epoxy_glVertexAttribL2i64NV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint64EXT, y: GLint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL2i64vNV"]
+    pub static mut epoxy_glVertexAttribL2i64vNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL2ui64NV"]
+    pub static mut epoxy_glVertexAttribL2ui64NV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint64EXT, y: GLuint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL2ui64vNV"]
+    pub static mut epoxy_glVertexAttribL2ui64vNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL3d"]
+    pub static mut epoxy_glVertexAttribL3d: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL3dEXT"]
+    pub static mut epoxy_glVertexAttribL3dEXT: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL3dv"]
+    pub static mut epoxy_glVertexAttribL3dv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL3dvEXT"]
+    pub static mut epoxy_glVertexAttribL3dvEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL3i64NV"]
+    pub static mut epoxy_glVertexAttribL3i64NV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLint64EXT, y: GLint64EXT, z: GLint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL3i64vNV"]
+    pub static mut epoxy_glVertexAttribL3i64vNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL3ui64NV"]
+    pub static mut epoxy_glVertexAttribL3ui64NV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLuint64EXT, y: GLuint64EXT, z: GLuint64EXT),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL3ui64vNV"]
+    pub static mut epoxy_glVertexAttribL3ui64vNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL4d"]
+    pub static mut epoxy_glVertexAttribL4d: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL4dEXT"]
+    pub static mut epoxy_glVertexAttribL4dEXT: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL4dv"]
+    pub static mut epoxy_glVertexAttribL4dv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL4dvEXT"]
+    pub static mut epoxy_glVertexAttribL4dvEXT:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL4i64NV"]
+    pub static mut epoxy_glVertexAttribL4i64NV: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            x: GLint64EXT,
+            y: GLint64EXT,
+            z: GLint64EXT,
+            w: GLint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL4i64vNV"]
+    pub static mut epoxy_glVertexAttribL4i64vNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL4ui64NV"]
+    pub static mut epoxy_glVertexAttribL4ui64NV: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            x: GLuint64EXT,
+            y: GLuint64EXT,
+            z: GLuint64EXT,
+            w: GLuint64EXT,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribL4ui64vNV"]
+    pub static mut epoxy_glVertexAttribL4ui64vNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribLFormat"]
+    pub static mut epoxy_glVertexAttribLFormat: ::std::option::Option<
+        unsafe extern "C" fn(
+            attribindex: GLuint,
+            size: GLint,
+            type_: GLenum,
+            relativeoffset: GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribLFormatNV"]
+    pub static mut epoxy_glVertexAttribLFormatNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, size: GLint, type_: GLenum, stride: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribLPointer"]
+    pub static mut epoxy_glVertexAttribLPointer: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribLPointerEXT"]
+    pub static mut epoxy_glVertexAttribLPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribP1ui"]
+    pub static mut epoxy_glVertexAttribP1ui: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribP1uiv"]
+    pub static mut epoxy_glVertexAttribP1uiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            type_: GLenum,
+            normalized: GLboolean,
+            value: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribP2ui"]
+    pub static mut epoxy_glVertexAttribP2ui: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribP2uiv"]
+    pub static mut epoxy_glVertexAttribP2uiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            type_: GLenum,
+            normalized: GLboolean,
+            value: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribP3ui"]
+    pub static mut epoxy_glVertexAttribP3ui: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribP3uiv"]
+    pub static mut epoxy_glVertexAttribP3uiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            type_: GLenum,
+            normalized: GLboolean,
+            value: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribP4ui"]
+    pub static mut epoxy_glVertexAttribP4ui: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribP4uiv"]
+    pub static mut epoxy_glVertexAttribP4uiv: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            type_: GLenum,
+            normalized: GLboolean,
+            value: *const GLuint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribParameteriAMD"]
+    pub static mut epoxy_glVertexAttribParameteriAMD:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribPointer"]
+    pub static mut epoxy_glVertexAttribPointer: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            size: GLint,
+            type_: GLenum,
+            normalized: GLboolean,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribPointerARB"]
+    pub static mut epoxy_glVertexAttribPointerARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            size: GLint,
+            type_: GLenum,
+            normalized: GLboolean,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribPointerNV"]
+    pub static mut epoxy_glVertexAttribPointerNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            fsize: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs1dvNV"]
+    pub static mut epoxy_glVertexAttribs1dvNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs1fvNV"]
+    pub static mut epoxy_glVertexAttribs1fvNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs1hvNV"]
+    pub static mut epoxy_glVertexAttribs1hvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, n: GLsizei, v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs1svNV"]
+    pub static mut epoxy_glVertexAttribs1svNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs2dvNV"]
+    pub static mut epoxy_glVertexAttribs2dvNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs2fvNV"]
+    pub static mut epoxy_glVertexAttribs2fvNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs2hvNV"]
+    pub static mut epoxy_glVertexAttribs2hvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, n: GLsizei, v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs2svNV"]
+    pub static mut epoxy_glVertexAttribs2svNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs3dvNV"]
+    pub static mut epoxy_glVertexAttribs3dvNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs3fvNV"]
+    pub static mut epoxy_glVertexAttribs3fvNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs3hvNV"]
+    pub static mut epoxy_glVertexAttribs3hvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, n: GLsizei, v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs3svNV"]
+    pub static mut epoxy_glVertexAttribs3svNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs4dvNV"]
+    pub static mut epoxy_glVertexAttribs4dvNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs4fvNV"]
+    pub static mut epoxy_glVertexAttribs4fvNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs4hvNV"]
+    pub static mut epoxy_glVertexAttribs4hvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, n: GLsizei, v: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs4svNV"]
+    pub static mut epoxy_glVertexAttribs4svNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexAttribs4ubvNV"]
+    pub static mut epoxy_glVertexAttribs4ubvNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLubyte),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexBindingDivisor"]
+    pub static mut epoxy_glVertexBindingDivisor:
+        ::std::option::Option<unsafe extern "C" fn(bindingindex: GLuint, divisor: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexBlendARB"]
+    pub static mut epoxy_glVertexBlendARB:
+        ::std::option::Option<unsafe extern "C" fn(count: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexBlendEnvfATI"]
+    pub static mut epoxy_glVertexBlendEnvfATI:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexBlendEnviATI"]
+    pub static mut epoxy_glVertexBlendEnviATI:
+        ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexFormatNV"]
+    pub static mut epoxy_glVertexFormatNV:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, type_: GLenum, stride: GLsizei)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexP2ui"]
+    pub static mut epoxy_glVertexP2ui:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, value: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexP2uiv"]
+    pub static mut epoxy_glVertexP2uiv:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, value: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexP3ui"]
+    pub static mut epoxy_glVertexP3ui:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, value: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexP3uiv"]
+    pub static mut epoxy_glVertexP3uiv:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, value: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexP4ui"]
+    pub static mut epoxy_glVertexP4ui:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, value: GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexP4uiv"]
+    pub static mut epoxy_glVertexP4uiv:
+        ::std::option::Option<unsafe extern "C" fn(type_: GLenum, value: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexPointer"]
+    pub static mut epoxy_glVertexPointer: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexPointerEXT"]
+    pub static mut epoxy_glVertexPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            count: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexPointerListIBM"]
+    pub static mut epoxy_glVertexPointerListIBM: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLint,
+            pointer: *mut *const ::std::os::raw::c_void,
+            ptrstride: GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexPointervINTEL"]
+    pub static mut epoxy_glVertexPointervINTEL: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            pointer: *mut *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream1dATI"]
+    pub static mut epoxy_glVertexStream1dATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream1dvATI"]
+    pub static mut epoxy_glVertexStream1dvATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream1fATI"]
+    pub static mut epoxy_glVertexStream1fATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream1fvATI"]
+    pub static mut epoxy_glVertexStream1fvATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream1iATI"]
+    pub static mut epoxy_glVertexStream1iATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream1ivATI"]
+    pub static mut epoxy_glVertexStream1ivATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream1sATI"]
+    pub static mut epoxy_glVertexStream1sATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream1svATI"]
+    pub static mut epoxy_glVertexStream1svATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream2dATI"]
+    pub static mut epoxy_glVertexStream2dATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLdouble, y: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream2dvATI"]
+    pub static mut epoxy_glVertexStream2dvATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream2fATI"]
+    pub static mut epoxy_glVertexStream2fATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLfloat, y: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream2fvATI"]
+    pub static mut epoxy_glVertexStream2fvATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream2iATI"]
+    pub static mut epoxy_glVertexStream2iATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLint, y: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream2ivATI"]
+    pub static mut epoxy_glVertexStream2ivATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream2sATI"]
+    pub static mut epoxy_glVertexStream2sATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLshort, y: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream2svATI"]
+    pub static mut epoxy_glVertexStream2svATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream3dATI"]
+    pub static mut epoxy_glVertexStream3dATI: ::std::option::Option<
+        unsafe extern "C" fn(stream: GLenum, x: GLdouble, y: GLdouble, z: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream3dvATI"]
+    pub static mut epoxy_glVertexStream3dvATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream3fATI"]
+    pub static mut epoxy_glVertexStream3fATI: ::std::option::Option<
+        unsafe extern "C" fn(stream: GLenum, x: GLfloat, y: GLfloat, z: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream3fvATI"]
+    pub static mut epoxy_glVertexStream3fvATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream3iATI"]
+    pub static mut epoxy_glVertexStream3iATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLint, y: GLint, z: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream3ivATI"]
+    pub static mut epoxy_glVertexStream3ivATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream3sATI"]
+    pub static mut epoxy_glVertexStream3sATI: ::std::option::Option<
+        unsafe extern "C" fn(stream: GLenum, x: GLshort, y: GLshort, z: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream3svATI"]
+    pub static mut epoxy_glVertexStream3svATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream4dATI"]
+    pub static mut epoxy_glVertexStream4dATI: ::std::option::Option<
+        unsafe extern "C" fn(stream: GLenum, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream4dvATI"]
+    pub static mut epoxy_glVertexStream4dvATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream4fATI"]
+    pub static mut epoxy_glVertexStream4fATI: ::std::option::Option<
+        unsafe extern "C" fn(stream: GLenum, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream4fvATI"]
+    pub static mut epoxy_glVertexStream4fvATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream4iATI"]
+    pub static mut epoxy_glVertexStream4iATI: ::std::option::Option<
+        unsafe extern "C" fn(stream: GLenum, x: GLint, y: GLint, z: GLint, w: GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream4ivATI"]
+    pub static mut epoxy_glVertexStream4ivATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream4sATI"]
+    pub static mut epoxy_glVertexStream4sATI: ::std::option::Option<
+        unsafe extern "C" fn(stream: GLenum, x: GLshort, y: GLshort, z: GLshort, w: GLshort),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexStream4svATI"]
+    pub static mut epoxy_glVertexStream4svATI:
+        ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexWeightPointerEXT"]
+    pub static mut epoxy_glVertexWeightPointerEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexWeightfEXT"]
+    pub static mut epoxy_glVertexWeightfEXT:
+        ::std::option::Option<unsafe extern "C" fn(weight: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexWeightfvEXT"]
+    pub static mut epoxy_glVertexWeightfvEXT:
+        ::std::option::Option<unsafe extern "C" fn(weight: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexWeighthNV"]
+    pub static mut epoxy_glVertexWeighthNV:
+        ::std::option::Option<unsafe extern "C" fn(weight: GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVertexWeighthvNV"]
+    pub static mut epoxy_glVertexWeighthvNV:
+        ::std::option::Option<unsafe extern "C" fn(weight: *const GLhalfNV)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVideoCaptureNV"]
+    pub static mut epoxy_glVideoCaptureNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            video_capture_slot: GLuint,
+            sequence_num: *mut GLuint,
+            capture_time: *mut GLuint64EXT,
+        ) -> GLenum,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVideoCaptureStreamParameterdvNV"]
+    pub static mut epoxy_glVideoCaptureStreamParameterdvNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            video_capture_slot: GLuint,
+            stream: GLuint,
+            pname: GLenum,
+            params: *const GLdouble,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVideoCaptureStreamParameterfvNV"]
+    pub static mut epoxy_glVideoCaptureStreamParameterfvNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            video_capture_slot: GLuint,
+            stream: GLuint,
+            pname: GLenum,
+            params: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glVideoCaptureStreamParameterivNV"]
+    pub static mut epoxy_glVideoCaptureStreamParameterivNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            video_capture_slot: GLuint,
+            stream: GLuint,
+            pname: GLenum,
+            params: *const GLint,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glViewport"]
+    pub static mut epoxy_glViewport: ::std::option::Option<
+        unsafe extern "C" fn(x: GLint, y: GLint, width: GLsizei, height: GLsizei),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glViewportArrayv"]
+    pub static mut epoxy_glViewportArrayv: ::std::option::Option<
+        unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glViewportArrayvNV"]
+    pub static mut epoxy_glViewportArrayvNV: ::std::option::Option<
+        unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glViewportArrayvOES"]
+    pub static mut epoxy_glViewportArrayvOES: ::std::option::Option<
+        unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glViewportIndexedf"]
+    pub static mut epoxy_glViewportIndexedf: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, w: GLfloat, h: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glViewportIndexedfNV"]
+    pub static mut epoxy_glViewportIndexedfNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, w: GLfloat, h: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glViewportIndexedfOES"]
+    pub static mut epoxy_glViewportIndexedfOES: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, w: GLfloat, h: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glViewportIndexedfv"]
+    pub static mut epoxy_glViewportIndexedfv:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glViewportIndexedfvNV"]
+    pub static mut epoxy_glViewportIndexedfvNV:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glViewportIndexedfvOES"]
+    pub static mut epoxy_glViewportIndexedfvOES:
+        ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glViewportPositionWScaleNV"]
+    pub static mut epoxy_glViewportPositionWScaleNV: ::std::option::Option<
+        unsafe extern "C" fn(index: GLuint, xcoeff: GLfloat, ycoeff: GLfloat),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glViewportSwizzleNV"]
+    pub static mut epoxy_glViewportSwizzleNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            index: GLuint,
+            swizzlex: GLenum,
+            swizzley: GLenum,
+            swizzlez: GLenum,
+            swizzlew: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWaitSync"]
+    pub static mut epoxy_glWaitSync: ::std::option::Option<
+        unsafe extern "C" fn(sync: GLsync, flags: GLbitfield, timeout: GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWaitSyncAPPLE"]
+    pub static mut epoxy_glWaitSyncAPPLE: ::std::option::Option<
+        unsafe extern "C" fn(sync: GLsync, flags: GLbitfield, timeout: GLuint64),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWeightPathsNV"]
+    pub static mut epoxy_glWeightPathsNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            resultPath: GLuint,
+            numPaths: GLsizei,
+            paths: *const GLuint,
+            weights: *const GLfloat,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWeightPointerARB"]
+    pub static mut epoxy_glWeightPointerARB: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWeightPointerOES"]
+    pub static mut epoxy_glWeightPointerOES: ::std::option::Option<
+        unsafe extern "C" fn(
+            size: GLint,
+            type_: GLenum,
+            stride: GLsizei,
+            pointer: *const ::std::os::raw::c_void,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWeightbvARB"]
+    pub static mut epoxy_glWeightbvARB:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLbyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWeightdvARB"]
+    pub static mut epoxy_glWeightdvARB:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWeightfvARB"]
+    pub static mut epoxy_glWeightfvARB:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWeightivARB"]
+    pub static mut epoxy_glWeightivARB:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWeightsvARB"]
+    pub static mut epoxy_glWeightsvARB:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWeightubvARB"]
+    pub static mut epoxy_glWeightubvARB:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLubyte)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWeightuivARB"]
+    pub static mut epoxy_glWeightuivARB:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLuint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWeightusvARB"]
+    pub static mut epoxy_glWeightusvARB:
+        ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLushort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2d"]
+    pub static mut epoxy_glWindowPos2d:
+        ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2dARB"]
+    pub static mut epoxy_glWindowPos2dARB:
+        ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2dMESA"]
+    pub static mut epoxy_glWindowPos2dMESA:
+        ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2dv"]
+    pub static mut epoxy_glWindowPos2dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2dvARB"]
+    pub static mut epoxy_glWindowPos2dvARB:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2dvMESA"]
+    pub static mut epoxy_glWindowPos2dvMESA:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2f"]
+    pub static mut epoxy_glWindowPos2f:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2fARB"]
+    pub static mut epoxy_glWindowPos2fARB:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2fMESA"]
+    pub static mut epoxy_glWindowPos2fMESA:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2fv"]
+    pub static mut epoxy_glWindowPos2fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2fvARB"]
+    pub static mut epoxy_glWindowPos2fvARB:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2fvMESA"]
+    pub static mut epoxy_glWindowPos2fvMESA:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2i"]
+    pub static mut epoxy_glWindowPos2i:
+        ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2iARB"]
+    pub static mut epoxy_glWindowPos2iARB:
+        ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2iMESA"]
+    pub static mut epoxy_glWindowPos2iMESA:
+        ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2iv"]
+    pub static mut epoxy_glWindowPos2iv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2ivARB"]
+    pub static mut epoxy_glWindowPos2ivARB:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2ivMESA"]
+    pub static mut epoxy_glWindowPos2ivMESA:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2s"]
+    pub static mut epoxy_glWindowPos2s:
+        ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2sARB"]
+    pub static mut epoxy_glWindowPos2sARB:
+        ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2sMESA"]
+    pub static mut epoxy_glWindowPos2sMESA:
+        ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2sv"]
+    pub static mut epoxy_glWindowPos2sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2svARB"]
+    pub static mut epoxy_glWindowPos2svARB:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos2svMESA"]
+    pub static mut epoxy_glWindowPos2svMESA:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3d"]
+    pub static mut epoxy_glWindowPos3d:
+        ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3dARB"]
+    pub static mut epoxy_glWindowPos3dARB:
+        ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3dMESA"]
+    pub static mut epoxy_glWindowPos3dMESA:
+        ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3dv"]
+    pub static mut epoxy_glWindowPos3dv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3dvARB"]
+    pub static mut epoxy_glWindowPos3dvARB:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3dvMESA"]
+    pub static mut epoxy_glWindowPos3dvMESA:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3f"]
+    pub static mut epoxy_glWindowPos3f:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3fARB"]
+    pub static mut epoxy_glWindowPos3fARB:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3fMESA"]
+    pub static mut epoxy_glWindowPos3fMESA:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3fv"]
+    pub static mut epoxy_glWindowPos3fv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3fvARB"]
+    pub static mut epoxy_glWindowPos3fvARB:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3fvMESA"]
+    pub static mut epoxy_glWindowPos3fvMESA:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3i"]
+    pub static mut epoxy_glWindowPos3i:
+        ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3iARB"]
+    pub static mut epoxy_glWindowPos3iARB:
+        ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3iMESA"]
+    pub static mut epoxy_glWindowPos3iMESA:
+        ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3iv"]
+    pub static mut epoxy_glWindowPos3iv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3ivARB"]
+    pub static mut epoxy_glWindowPos3ivARB:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3ivMESA"]
+    pub static mut epoxy_glWindowPos3ivMESA:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3s"]
+    pub static mut epoxy_glWindowPos3s:
+        ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3sARB"]
+    pub static mut epoxy_glWindowPos3sARB:
+        ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3sMESA"]
+    pub static mut epoxy_glWindowPos3sMESA:
+        ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3sv"]
+    pub static mut epoxy_glWindowPos3sv:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3svARB"]
+    pub static mut epoxy_glWindowPos3svARB:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos3svMESA"]
+    pub static mut epoxy_glWindowPos3svMESA:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos4dMESA"]
+    pub static mut epoxy_glWindowPos4dMESA: ::std::option::Option<
+        unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos4dvMESA"]
+    pub static mut epoxy_glWindowPos4dvMESA:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos4fMESA"]
+    pub static mut epoxy_glWindowPos4fMESA:
+        ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos4fvMESA"]
+    pub static mut epoxy_glWindowPos4fvMESA:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos4iMESA"]
+    pub static mut epoxy_glWindowPos4iMESA:
+        ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint, w: GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos4ivMESA"]
+    pub static mut epoxy_glWindowPos4ivMESA:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos4sMESA"]
+    pub static mut epoxy_glWindowPos4sMESA:
+        ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort, w: GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowPos4svMESA"]
+    pub static mut epoxy_glWindowPos4svMESA:
+        ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWindowRectanglesEXT"]
+    pub static mut epoxy_glWindowRectanglesEXT: ::std::option::Option<
+        unsafe extern "C" fn(mode: GLenum, count: GLsizei, box_: *const GLint),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_glWriteMaskEXT"]
+    pub static mut epoxy_glWriteMaskEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            res: GLuint,
+            in_: GLuint,
+            outX: GLenum,
+            outY: GLenum,
+            outZ: GLenum,
+            outW: GLenum,
+        ),
+    >;
+}
+extern "C" {
+    pub fn epoxy_has_gl_extension(extension: *const ::std::os::raw::c_char) -> bool;
+}
+extern "C" {
+    pub fn epoxy_is_desktop_gl() -> bool;
+}
+extern "C" {
+    pub fn epoxy_gl_version() -> ::std::os::raw::c_int;
+}
+pub type XID = ::std::os::raw::c_ulong;
+pub type Window = XID;
+pub type Pixmap = XID;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _XDisplay {
+    _unused: [u8; 0],
+}
+pub type Display = _XDisplay;
+pub type EGLNativeDisplayType = *mut Display;
+pub type EGLNativePixmapType = Pixmap;
+pub type EGLNativeWindowType = Window;
+pub type EGLint = khronos_int32_t;
+pub type EGLBoolean = ::std::os::raw::c_uint;
+pub type EGLenum = ::std::os::raw::c_uint;
+pub type EGLAttribKHR = isize;
+pub type EGLAttrib = isize;
+pub type EGLClientBuffer = *mut ::std::os::raw::c_void;
+pub type EGLConfig = *mut ::std::os::raw::c_void;
+pub type EGLContext = *mut ::std::os::raw::c_void;
+pub type EGLDeviceEXT = *mut ::std::os::raw::c_void;
+pub type EGLDisplay = *mut ::std::os::raw::c_void;
+pub type EGLImage = *mut ::std::os::raw::c_void;
+pub type EGLImageKHR = *mut ::std::os::raw::c_void;
+pub type EGLLabelKHR = *mut ::std::os::raw::c_void;
+pub type EGLObjectKHR = *mut ::std::os::raw::c_void;
+pub type EGLOutputLayerEXT = *mut ::std::os::raw::c_void;
+pub type EGLOutputPortEXT = *mut ::std::os::raw::c_void;
+pub type EGLStreamKHR = *mut ::std::os::raw::c_void;
+pub type EGLSurface = *mut ::std::os::raw::c_void;
+pub type EGLSync = *mut ::std::os::raw::c_void;
+pub type EGLSyncKHR = *mut ::std::os::raw::c_void;
+pub type EGLSyncNV = *mut ::std::os::raw::c_void;
+pub type __eglMustCastToProperFunctionPointerType = ::std::option::Option<unsafe extern "C" fn()>;
+pub type EGLTimeKHR = khronos_utime_nanoseconds_t;
+pub type EGLTime = khronos_utime_nanoseconds_t;
+pub type EGLTimeNV = khronos_utime_nanoseconds_t;
+pub type EGLuint64NV = khronos_utime_nanoseconds_t;
+pub type EGLuint64KHR = khronos_uint64_t;
+pub type EGLnsecsANDROID = khronos_stime_nanoseconds_t;
+pub type EGLNativeFileDescriptorKHR = ::std::os::raw::c_int;
+pub type EGLsizeiANDROID = khronos_ssize_t;
+pub type EGLSetBlobFuncANDROID = ::std::option::Option<
+    unsafe extern "C" fn(
+        key: *const ::std::os::raw::c_void,
+        keySize: EGLsizeiANDROID,
+        value: *const ::std::os::raw::c_void,
+        valueSize: EGLsizeiANDROID,
+    ),
+>;
+pub type EGLGetBlobFuncANDROID = ::std::option::Option<
+    unsafe extern "C" fn(
+        key: *const ::std::os::raw::c_void,
+        keySize: EGLsizeiANDROID,
+        value: *mut ::std::os::raw::c_void,
+        valueSize: EGLsizeiANDROID,
+    ) -> EGLsizeiANDROID,
+>;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct EGLClientPixmapHI {
+    pub pData: *mut ::std::os::raw::c_void,
+    pub iWidth: EGLint,
+    pub iHeight: EGLint,
+    pub iStride: EGLint,
+}
+pub type EGLDEBUGPROCKHR = ::std::option::Option<
+    unsafe extern "C" fn(
+        error: EGLenum,
+        command: *const ::std::os::raw::c_char,
+        messageType: EGLint,
+        threadLabel: EGLLabelKHR,
+        objectLabel: EGLLabelKHR,
+        message: *const ::std::os::raw::c_char,
+    ),
+>;
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglBindAPI"]
+    pub static mut epoxy_eglBindAPI:
+        ::std::option::Option<unsafe extern "C" fn(api: EGLenum) -> EGLBoolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglBindTexImage"]
+    pub static mut epoxy_eglBindTexImage: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, surface: EGLSurface, buffer: EGLint) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglChooseConfig"]
+    pub static mut epoxy_eglChooseConfig: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            attrib_list: *const EGLint,
+            configs: *mut EGLConfig,
+            config_size: EGLint,
+            num_config: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglClientWaitSync"]
+    pub static mut epoxy_eglClientWaitSync: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, sync: EGLSync, flags: EGLint, timeout: EGLTime)
+            -> EGLint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglClientWaitSyncKHR"]
+    pub static mut epoxy_eglClientWaitSyncKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, sync: EGLSyncKHR, flags: EGLint, timeout: EGLTimeKHR)
+            -> EGLint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglClientWaitSyncNV"]
+    pub static mut epoxy_eglClientWaitSyncNV: ::std::option::Option<
+        unsafe extern "C" fn(sync: EGLSyncNV, flags: EGLint, timeout: EGLTimeNV) -> EGLint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCopyBuffers"]
+    pub static mut epoxy_eglCopyBuffers: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, surface: EGLSurface, target: EGLNativePixmapType)
+            -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateContext"]
+    pub static mut epoxy_eglCreateContext: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            config: EGLConfig,
+            share_context: EGLContext,
+            attrib_list: *const EGLint,
+        ) -> EGLContext,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateDRMImageMESA"]
+    pub static mut epoxy_eglCreateDRMImageMESA: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, attrib_list: *const EGLint) -> EGLImageKHR,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateFenceSyncNV"]
+    pub static mut epoxy_eglCreateFenceSyncNV: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, condition: EGLenum, attrib_list: *const EGLint)
+            -> EGLSyncNV,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateImage"]
+    pub static mut epoxy_eglCreateImage: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            ctx: EGLContext,
+            target: EGLenum,
+            buffer: EGLClientBuffer,
+            attrib_list: *const EGLAttrib,
+        ) -> EGLImage,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateImageKHR"]
+    pub static mut epoxy_eglCreateImageKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            ctx: EGLContext,
+            target: EGLenum,
+            buffer: EGLClientBuffer,
+            attrib_list: *const EGLint,
+        ) -> EGLImageKHR,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateNativeClientBufferANDROID"]
+    pub static mut epoxy_eglCreateNativeClientBufferANDROID:
+        ::std::option::Option<unsafe extern "C" fn(attrib_list: *const EGLint) -> EGLClientBuffer>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreatePbufferFromClientBuffer"]
+    pub static mut epoxy_eglCreatePbufferFromClientBuffer: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            buftype: EGLenum,
+            buffer: EGLClientBuffer,
+            config: EGLConfig,
+            attrib_list: *const EGLint,
+        ) -> EGLSurface,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreatePbufferSurface"]
+    pub static mut epoxy_eglCreatePbufferSurface: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, config: EGLConfig, attrib_list: *const EGLint)
+            -> EGLSurface,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreatePixmapSurface"]
+    pub static mut epoxy_eglCreatePixmapSurface: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            config: EGLConfig,
+            pixmap: EGLNativePixmapType,
+            attrib_list: *const EGLint,
+        ) -> EGLSurface,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreatePixmapSurfaceHI"]
+    pub static mut epoxy_eglCreatePixmapSurfaceHI: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, config: EGLConfig, pixmap: *mut EGLClientPixmapHI)
+            -> EGLSurface,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreatePlatformPixmapSurface"]
+    pub static mut epoxy_eglCreatePlatformPixmapSurface: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            config: EGLConfig,
+            native_pixmap: *mut ::std::os::raw::c_void,
+            attrib_list: *const EGLAttrib,
+        ) -> EGLSurface,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreatePlatformPixmapSurfaceEXT"]
+    pub static mut epoxy_eglCreatePlatformPixmapSurfaceEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            config: EGLConfig,
+            native_pixmap: *mut ::std::os::raw::c_void,
+            attrib_list: *const EGLint,
+        ) -> EGLSurface,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreatePlatformWindowSurface"]
+    pub static mut epoxy_eglCreatePlatformWindowSurface: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            config: EGLConfig,
+            native_window: *mut ::std::os::raw::c_void,
+            attrib_list: *const EGLAttrib,
+        ) -> EGLSurface,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreatePlatformWindowSurfaceEXT"]
+    pub static mut epoxy_eglCreatePlatformWindowSurfaceEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            config: EGLConfig,
+            native_window: *mut ::std::os::raw::c_void,
+            attrib_list: *const EGLint,
+        ) -> EGLSurface,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateStreamAttribKHR"]
+    pub static mut epoxy_eglCreateStreamAttribKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, attrib_list: *const EGLAttrib) -> EGLStreamKHR,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateStreamFromFileDescriptorKHR"]
+    pub static mut epoxy_eglCreateStreamFromFileDescriptorKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, file_descriptor: EGLNativeFileDescriptorKHR)
+            -> EGLStreamKHR,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateStreamKHR"]
+    pub static mut epoxy_eglCreateStreamKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, attrib_list: *const EGLint) -> EGLStreamKHR,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateStreamProducerSurfaceKHR"]
+    pub static mut epoxy_eglCreateStreamProducerSurfaceKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            config: EGLConfig,
+            stream: EGLStreamKHR,
+            attrib_list: *const EGLint,
+        ) -> EGLSurface,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateStreamSyncNV"]
+    pub static mut epoxy_eglCreateStreamSyncNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            stream: EGLStreamKHR,
+            type_: EGLenum,
+            attrib_list: *const EGLint,
+        ) -> EGLSyncKHR,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateSync"]
+    pub static mut epoxy_eglCreateSync: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, type_: EGLenum, attrib_list: *const EGLAttrib)
+            -> EGLSync,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateSync64KHR"]
+    pub static mut epoxy_eglCreateSync64KHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, type_: EGLenum, attrib_list: *const EGLAttribKHR)
+            -> EGLSyncKHR,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateSyncKHR"]
+    pub static mut epoxy_eglCreateSyncKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, type_: EGLenum, attrib_list: *const EGLint)
+            -> EGLSyncKHR,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglCreateWindowSurface"]
+    pub static mut epoxy_eglCreateWindowSurface: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            config: EGLConfig,
+            win: EGLNativeWindowType,
+            attrib_list: *const EGLint,
+        ) -> EGLSurface,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglDebugMessageControlKHR"]
+    pub static mut epoxy_eglDebugMessageControlKHR: ::std::option::Option<
+        unsafe extern "C" fn(callback: EGLDEBUGPROCKHR, attrib_list: *const EGLAttrib) -> EGLint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglDestroyContext"]
+    pub static mut epoxy_eglDestroyContext:
+        ::std::option::Option<unsafe extern "C" fn(dpy: EGLDisplay, ctx: EGLContext) -> EGLBoolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglDestroyImage"]
+    pub static mut epoxy_eglDestroyImage:
+        ::std::option::Option<unsafe extern "C" fn(dpy: EGLDisplay, image: EGLImage) -> EGLBoolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglDestroyImageKHR"]
+    pub static mut epoxy_eglDestroyImageKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, image: EGLImageKHR) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglDestroyStreamKHR"]
+    pub static mut epoxy_eglDestroyStreamKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, stream: EGLStreamKHR) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglDestroySurface"]
+    pub static mut epoxy_eglDestroySurface: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, surface: EGLSurface) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglDestroySync"]
+    pub static mut epoxy_eglDestroySync:
+        ::std::option::Option<unsafe extern "C" fn(dpy: EGLDisplay, sync: EGLSync) -> EGLBoolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglDestroySyncKHR"]
+    pub static mut epoxy_eglDestroySyncKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, sync: EGLSyncKHR) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglDestroySyncNV"]
+    pub static mut epoxy_eglDestroySyncNV:
+        ::std::option::Option<unsafe extern "C" fn(sync: EGLSyncNV) -> EGLBoolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglDupNativeFenceFDANDROID"]
+    pub static mut epoxy_eglDupNativeFenceFDANDROID:
+        ::std::option::Option<unsafe extern "C" fn(dpy: EGLDisplay, sync: EGLSyncKHR) -> EGLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglExportDMABUFImageMESA"]
+    pub static mut epoxy_eglExportDMABUFImageMESA: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            image: EGLImageKHR,
+            fds: *mut ::std::os::raw::c_int,
+            strides: *mut EGLint,
+            offsets: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglExportDMABUFImageQueryMESA"]
+    pub static mut epoxy_eglExportDMABUFImageQueryMESA: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            image: EGLImageKHR,
+            fourcc: *mut ::std::os::raw::c_int,
+            num_planes: *mut ::std::os::raw::c_int,
+            modifiers: *mut EGLuint64KHR,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglExportDRMImageMESA"]
+    pub static mut epoxy_eglExportDRMImageMESA: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            image: EGLImageKHR,
+            name: *mut EGLint,
+            handle: *mut EGLint,
+            stride: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglFenceNV"]
+    pub static mut epoxy_eglFenceNV:
+        ::std::option::Option<unsafe extern "C" fn(sync: EGLSyncNV) -> EGLBoolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetConfigAttrib"]
+    pub static mut epoxy_eglGetConfigAttrib: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            config: EGLConfig,
+            attribute: EGLint,
+            value: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetConfigs"]
+    pub static mut epoxy_eglGetConfigs: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            configs: *mut EGLConfig,
+            config_size: EGLint,
+            num_config: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetCurrentContext"]
+    pub static mut epoxy_eglGetCurrentContext:
+        ::std::option::Option<unsafe extern "C" fn() -> EGLContext>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetCurrentDisplay"]
+    pub static mut epoxy_eglGetCurrentDisplay:
+        ::std::option::Option<unsafe extern "C" fn() -> EGLDisplay>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetCurrentSurface"]
+    pub static mut epoxy_eglGetCurrentSurface:
+        ::std::option::Option<unsafe extern "C" fn(readdraw: EGLint) -> EGLSurface>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetDisplay"]
+    pub static mut epoxy_eglGetDisplay:
+        ::std::option::Option<unsafe extern "C" fn(display_id: EGLNativeDisplayType) -> EGLDisplay>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetError"]
+    pub static mut epoxy_eglGetError: ::std::option::Option<unsafe extern "C" fn() -> EGLint>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetOutputLayersEXT"]
+    pub static mut epoxy_eglGetOutputLayersEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            attrib_list: *const EGLAttrib,
+            layers: *mut EGLOutputLayerEXT,
+            max_layers: EGLint,
+            num_layers: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetOutputPortsEXT"]
+    pub static mut epoxy_eglGetOutputPortsEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            attrib_list: *const EGLAttrib,
+            ports: *mut EGLOutputPortEXT,
+            max_ports: EGLint,
+            num_ports: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetPlatformDisplay"]
+    pub static mut epoxy_eglGetPlatformDisplay: ::std::option::Option<
+        unsafe extern "C" fn(
+            platform: EGLenum,
+            native_display: *mut ::std::os::raw::c_void,
+            attrib_list: *const EGLAttrib,
+        ) -> EGLDisplay,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetPlatformDisplayEXT"]
+    pub static mut epoxy_eglGetPlatformDisplayEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            platform: EGLenum,
+            native_display: *mut ::std::os::raw::c_void,
+            attrib_list: *const EGLint,
+        ) -> EGLDisplay,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetProcAddress"]
+    pub static mut epoxy_eglGetProcAddress: ::std::option::Option<
+        unsafe extern "C" fn(procname: *const ::std::os::raw::c_char)
+            -> __eglMustCastToProperFunctionPointerType,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetStreamFileDescriptorKHR"]
+    pub static mut epoxy_eglGetStreamFileDescriptorKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, stream: EGLStreamKHR) -> EGLNativeFileDescriptorKHR,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetSyncAttrib"]
+    pub static mut epoxy_eglGetSyncAttrib: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            sync: EGLSync,
+            attribute: EGLint,
+            value: *mut EGLAttrib,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetSyncAttribKHR"]
+    pub static mut epoxy_eglGetSyncAttribKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            sync: EGLSyncKHR,
+            attribute: EGLint,
+            value: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetSyncAttribNV"]
+    pub static mut epoxy_eglGetSyncAttribNV: ::std::option::Option<
+        unsafe extern "C" fn(sync: EGLSyncNV, attribute: EGLint, value: *mut EGLint) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetSystemTimeFrequencyNV"]
+    pub static mut epoxy_eglGetSystemTimeFrequencyNV:
+        ::std::option::Option<unsafe extern "C" fn() -> EGLuint64NV>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglGetSystemTimeNV"]
+    pub static mut epoxy_eglGetSystemTimeNV:
+        ::std::option::Option<unsafe extern "C" fn() -> EGLuint64NV>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglInitialize"]
+    pub static mut epoxy_eglInitialize: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, major: *mut EGLint, minor: *mut EGLint) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglLabelObjectKHR"]
+    pub static mut epoxy_eglLabelObjectKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            display: EGLDisplay,
+            objectType: EGLenum,
+            object: EGLObjectKHR,
+            label: EGLLabelKHR,
+        ) -> EGLint,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglLockSurfaceKHR"]
+    pub static mut epoxy_eglLockSurfaceKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, surface: EGLSurface, attrib_list: *const EGLint)
+            -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglMakeCurrent"]
+    pub static mut epoxy_eglMakeCurrent: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, draw: EGLSurface, read: EGLSurface, ctx: EGLContext)
+            -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglOutputLayerAttribEXT"]
+    pub static mut epoxy_eglOutputLayerAttribEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            layer: EGLOutputLayerEXT,
+            attribute: EGLint,
+            value: EGLAttrib,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglOutputPortAttribEXT"]
+    pub static mut epoxy_eglOutputPortAttribEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            port: EGLOutputPortEXT,
+            attribute: EGLint,
+            value: EGLAttrib,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglPostSubBufferNV"]
+    pub static mut epoxy_eglPostSubBufferNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            surface: EGLSurface,
+            x: EGLint,
+            y: EGLint,
+            width: EGLint,
+            height: EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglPresentationTimeANDROID"]
+    pub static mut epoxy_eglPresentationTimeANDROID: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, surface: EGLSurface, time: EGLnsecsANDROID)
+            -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryAPI"]
+    pub static mut epoxy_eglQueryAPI: ::std::option::Option<unsafe extern "C" fn() -> EGLenum>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryContext"]
+    pub static mut epoxy_eglQueryContext: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            ctx: EGLContext,
+            attribute: EGLint,
+            value: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryDebugKHR"]
+    pub static mut epoxy_eglQueryDebugKHR: ::std::option::Option<
+        unsafe extern "C" fn(attribute: EGLint, value: *mut EGLAttrib) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryDeviceAttribEXT"]
+    pub static mut epoxy_eglQueryDeviceAttribEXT: ::std::option::Option<
+        unsafe extern "C" fn(device: EGLDeviceEXT, attribute: EGLint, value: *mut EGLAttrib)
+            -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryDeviceStringEXT"]
+    pub static mut epoxy_eglQueryDeviceStringEXT: ::std::option::Option<
+        unsafe extern "C" fn(device: EGLDeviceEXT, name: EGLint) -> *const ::std::os::raw::c_char,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryDevicesEXT"]
+    pub static mut epoxy_eglQueryDevicesEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            max_devices: EGLint,
+            devices: *mut EGLDeviceEXT,
+            num_devices: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryDisplayAttribEXT"]
+    pub static mut epoxy_eglQueryDisplayAttribEXT: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, attribute: EGLint, value: *mut EGLAttrib)
+            -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryDisplayAttribNV"]
+    pub static mut epoxy_eglQueryDisplayAttribNV: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, attribute: EGLint, value: *mut EGLAttrib)
+            -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryDmaBufFormatsEXT"]
+    pub static mut epoxy_eglQueryDmaBufFormatsEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            max_formats: EGLint,
+            formats: *mut EGLint,
+            num_formats: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryDmaBufModifiersEXT"]
+    pub static mut epoxy_eglQueryDmaBufModifiersEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            format: EGLint,
+            max_modifiers: EGLint,
+            modifiers: *mut EGLuint64KHR,
+            external_only: *mut EGLBoolean,
+            num_modifiers: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryNativeDisplayNV"]
+    pub static mut epoxy_eglQueryNativeDisplayNV: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, display_id: *mut EGLNativeDisplayType) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryNativePixmapNV"]
+    pub static mut epoxy_eglQueryNativePixmapNV: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, surf: EGLSurface, pixmap: *mut EGLNativePixmapType)
+            -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryNativeWindowNV"]
+    pub static mut epoxy_eglQueryNativeWindowNV: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, surf: EGLSurface, window: *mut EGLNativeWindowType)
+            -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryOutputLayerAttribEXT"]
+    pub static mut epoxy_eglQueryOutputLayerAttribEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            layer: EGLOutputLayerEXT,
+            attribute: EGLint,
+            value: *mut EGLAttrib,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryOutputLayerStringEXT"]
+    pub static mut epoxy_eglQueryOutputLayerStringEXT: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, layer: EGLOutputLayerEXT, name: EGLint)
+            -> *const ::std::os::raw::c_char,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryOutputPortAttribEXT"]
+    pub static mut epoxy_eglQueryOutputPortAttribEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            port: EGLOutputPortEXT,
+            attribute: EGLint,
+            value: *mut EGLAttrib,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryOutputPortStringEXT"]
+    pub static mut epoxy_eglQueryOutputPortStringEXT: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, port: EGLOutputPortEXT, name: EGLint)
+            -> *const ::std::os::raw::c_char,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryStreamAttribKHR"]
+    pub static mut epoxy_eglQueryStreamAttribKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            stream: EGLStreamKHR,
+            attribute: EGLenum,
+            value: *mut EGLAttrib,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryStreamKHR"]
+    pub static mut epoxy_eglQueryStreamKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            stream: EGLStreamKHR,
+            attribute: EGLenum,
+            value: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryStreamMetadataNV"]
+    pub static mut epoxy_eglQueryStreamMetadataNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            stream: EGLStreamKHR,
+            name: EGLenum,
+            n: EGLint,
+            offset: EGLint,
+            size: EGLint,
+            data: *mut ::std::os::raw::c_void,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryStreamTimeKHR"]
+    pub static mut epoxy_eglQueryStreamTimeKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            stream: EGLStreamKHR,
+            attribute: EGLenum,
+            value: *mut EGLTimeKHR,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryStreamu64KHR"]
+    pub static mut epoxy_eglQueryStreamu64KHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            stream: EGLStreamKHR,
+            attribute: EGLenum,
+            value: *mut EGLuint64KHR,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQueryString"]
+    pub static mut epoxy_eglQueryString: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, name: EGLint) -> *const ::std::os::raw::c_char,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQuerySurface"]
+    pub static mut epoxy_eglQuerySurface: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            surface: EGLSurface,
+            attribute: EGLint,
+            value: *mut EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQuerySurface64KHR"]
+    pub static mut epoxy_eglQuerySurface64KHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            surface: EGLSurface,
+            attribute: EGLint,
+            value: *mut EGLAttribKHR,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglQuerySurfacePointerANGLE"]
+    pub static mut epoxy_eglQuerySurfacePointerANGLE: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            surface: EGLSurface,
+            attribute: EGLint,
+            value: *mut *mut ::std::os::raw::c_void,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglReleaseTexImage"]
+    pub static mut epoxy_eglReleaseTexImage: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, surface: EGLSurface, buffer: EGLint) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglReleaseThread"]
+    pub static mut epoxy_eglReleaseThread:
+        ::std::option::Option<unsafe extern "C" fn() -> EGLBoolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglResetStreamNV"]
+    pub static mut epoxy_eglResetStreamNV: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, stream: EGLStreamKHR) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglSetBlobCacheFuncsANDROID"]
+    pub static mut epoxy_eglSetBlobCacheFuncsANDROID: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            set: EGLSetBlobFuncANDROID,
+            get: EGLGetBlobFuncANDROID,
+        ),
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglSetDamageRegionKHR"]
+    pub static mut epoxy_eglSetDamageRegionKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            surface: EGLSurface,
+            rects: *mut EGLint,
+            n_rects: EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglSetStreamAttribKHR"]
+    pub static mut epoxy_eglSetStreamAttribKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            stream: EGLStreamKHR,
+            attribute: EGLenum,
+            value: EGLAttrib,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglSetStreamMetadataNV"]
+    pub static mut epoxy_eglSetStreamMetadataNV: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            stream: EGLStreamKHR,
+            n: EGLint,
+            offset: EGLint,
+            size: EGLint,
+            data: *const ::std::os::raw::c_void,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglSignalSyncKHR"]
+    pub static mut epoxy_eglSignalSyncKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, sync: EGLSyncKHR, mode: EGLenum) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglSignalSyncNV"]
+    pub static mut epoxy_eglSignalSyncNV:
+        ::std::option::Option<unsafe extern "C" fn(sync: EGLSyncNV, mode: EGLenum) -> EGLBoolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglStreamAttribKHR"]
+    pub static mut epoxy_eglStreamAttribKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            stream: EGLStreamKHR,
+            attribute: EGLenum,
+            value: EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglStreamConsumerAcquireAttribKHR"]
+    pub static mut epoxy_eglStreamConsumerAcquireAttribKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, stream: EGLStreamKHR, attrib_list: *const EGLAttrib)
+            -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglStreamConsumerAcquireKHR"]
+    pub static mut epoxy_eglStreamConsumerAcquireKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, stream: EGLStreamKHR) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglStreamConsumerGLTextureExternalAttribsNV"]
+    pub static mut epoxy_eglStreamConsumerGLTextureExternalAttribsNV: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, stream: EGLStreamKHR, attrib_list: *mut EGLAttrib)
+            -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglStreamConsumerGLTextureExternalKHR"]
+    pub static mut epoxy_eglStreamConsumerGLTextureExternalKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, stream: EGLStreamKHR) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglStreamConsumerOutputEXT"]
+    pub static mut epoxy_eglStreamConsumerOutputEXT: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, stream: EGLStreamKHR, layer: EGLOutputLayerEXT)
+            -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglStreamConsumerReleaseAttribKHR"]
+    pub static mut epoxy_eglStreamConsumerReleaseAttribKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, stream: EGLStreamKHR, attrib_list: *const EGLAttrib)
+            -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglStreamConsumerReleaseKHR"]
+    pub static mut epoxy_eglStreamConsumerReleaseKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, stream: EGLStreamKHR) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglSurfaceAttrib"]
+    pub static mut epoxy_eglSurfaceAttrib: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            surface: EGLSurface,
+            attribute: EGLint,
+            value: EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglSwapBuffers"]
+    pub static mut epoxy_eglSwapBuffers: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, surface: EGLSurface) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglSwapBuffersRegion2NOK"]
+    pub static mut epoxy_eglSwapBuffersRegion2NOK: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            surface: EGLSurface,
+            numRects: EGLint,
+            rects: *const EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglSwapBuffersRegionNOK"]
+    pub static mut epoxy_eglSwapBuffersRegionNOK: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            surface: EGLSurface,
+            numRects: EGLint,
+            rects: *const EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglSwapBuffersWithDamageEXT"]
+    pub static mut epoxy_eglSwapBuffersWithDamageEXT: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            surface: EGLSurface,
+            rects: *mut EGLint,
+            n_rects: EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglSwapBuffersWithDamageKHR"]
+    pub static mut epoxy_eglSwapBuffersWithDamageKHR: ::std::option::Option<
+        unsafe extern "C" fn(
+            dpy: EGLDisplay,
+            surface: EGLSurface,
+            rects: *mut EGLint,
+            n_rects: EGLint,
+        ) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglSwapInterval"]
+    pub static mut epoxy_eglSwapInterval: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, interval: EGLint) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglTerminate"]
+    pub static mut epoxy_eglTerminate:
+        ::std::option::Option<unsafe extern "C" fn(dpy: EGLDisplay) -> EGLBoolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglUnlockSurfaceKHR"]
+    pub static mut epoxy_eglUnlockSurfaceKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, surface: EGLSurface) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglWaitClient"]
+    pub static mut epoxy_eglWaitClient: ::std::option::Option<unsafe extern "C" fn() -> EGLBoolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglWaitGL"]
+    pub static mut epoxy_eglWaitGL: ::std::option::Option<unsafe extern "C" fn() -> EGLBoolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglWaitNative"]
+    pub static mut epoxy_eglWaitNative:
+        ::std::option::Option<unsafe extern "C" fn(engine: EGLint) -> EGLBoolean>;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglWaitSync"]
+    pub static mut epoxy_eglWaitSync: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, sync: EGLSync, flags: EGLint) -> EGLBoolean,
+    >;
+}
+extern "C" {
+    #[link_name = "\u{1}epoxy_eglWaitSyncKHR"]
+    pub static mut epoxy_eglWaitSyncKHR: ::std::option::Option<
+        unsafe extern "C" fn(dpy: EGLDisplay, sync: EGLSyncKHR, flags: EGLint) -> EGLint,
+    >;
+}
+extern "C" {
+    pub fn epoxy_has_egl_extension(
+        dpy: EGLDisplay,
+        extension: *const ::std::os::raw::c_char,
+    ) -> bool;
+}
+extern "C" {
+    pub fn epoxy_egl_version(dpy: EGLDisplay) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn epoxy_has_egl() -> bool;
+}
diff --git a/gpu_renderer/src/generated/generate b/gpu_renderer/src/generated/generate
new file mode 120000
index 0000000..d4bb1f1
--- /dev/null
+++ b/gpu_renderer/src/generated/generate
@@ -0,0 +1 @@
+generate.py
\ No newline at end of file
diff --git a/gpu_renderer/src/generated/generate.py b/gpu_renderer/src/generated/generate.py
new file mode 100755
index 0000000..8438ae2
--- /dev/null
+++ b/gpu_renderer/src/generated/generate.py
@@ -0,0 +1,182 @@
+#!/usr/bin/env python3
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Generates bindings that are used gpu_renderer.
+
+A sysroot and virglrenderer source checkout is required. The defaults to the
+root directory.
+"""
+
+from __future__ import print_function
+import argparse
+import multiprocessing.pool
+import os
+import subprocess
+import sys
+import tempfile
+
+# Bright green.
+PASS_COLOR = '\033[1;32m'
+# Bright red.
+FAIL_COLOR = '\033[1;31m'
+# Default color.
+END_COLOR = '\033[0m'
+
+verbose = False
+
+def generate_module(module_name, whitelist, header, clang_args, lib_name):
+  args = [
+    'bindgen',
+    '--no-layout-tests',
+    '--whitelist-function', whitelist,
+    '--whitelist-var', whitelist,
+    '--whitelist-type', whitelist,
+    '--no-prepend-enum-name',
+    '--no-rustfmt-bindings',
+    '-o', module_name + '.rs',
+  ];
+
+  if lib_name:
+    args.extend(['--raw-line',
+                 '#[link(name = "{}")] extern {{}}'.format(lib_name)])
+
+  args.extend([header, '--'])
+  args.extend(clang_args)
+
+  if verbose:
+    print(' '.join(args))
+
+  if subprocess.Popen(args).wait() == 0:
+    return 'pass'
+  else:
+    return 'bindgen failed'
+
+
+def download_virgl(src, dst, branch):
+  virgl_src = tempfile.TemporaryDirectory(prefix='virglrenderer-src')
+
+  args = ['git', 'clone']
+
+  if branch:
+    args.extend(['-b', branch])
+
+  args.extend([src, dst])
+  
+  if verbose:
+    print(' '.join(args))
+
+  if subprocess.Popen(args).wait() == 0:
+    return True
+  else:
+    
+    return False
+
+
+def get_parser():
+  """Gets the argument parser"""
+  parser = argparse.ArgumentParser(description=__doc__)
+  parser.add_argument('--sysroot',
+                      default='/',
+                      help='sysroot directory (default=%(default)s)')
+  parser.add_argument('--virglrenderer',
+                      default='git://git.freedesktop.org/git/virglrenderer',
+                      help='virglrenderer src dir/repo (default=%(default)s)')
+  parser.add_argument('--virgl_branch',
+                      default='master',
+                      help='virglrenderer branch name (default=%(default)s)')
+  parser.add_argument('--verbose', '-v',
+                      action='store_true',
+                      help='enable verbose output (default=%(default)s)')
+  return parser
+
+
+def main(argv):
+  global verbose
+  os.chdir(os.path.dirname(sys.argv[0]))
+  opts = get_parser().parse_args(argv)
+  if opts.verbose:
+    verbose = True
+
+  virgl_src_dir = opts.virglrenderer
+  virgl_src_dir_temp = None
+  if '://' in opts.virglrenderer:
+    virgl_src_dir_temp = tempfile.TemporaryDirectory(prefix='virglrenderer-src')
+    virgl_src_dir = virgl_src_dir_temp.name
+    if not download_virgl(opts.virglrenderer, virgl_src_dir, opts.virgl_branch):
+      print('failed to clone \'{}\' to \'{}\''.format(virgl_src_dir,
+                                                      opts.virgl_branch))
+      sys.exit(1)
+
+  clang_args = ['-I', os.path.join(opts.sysroot, 'usr/include')]
+
+  modules = (
+    (
+      'virglrenderer',
+      'virgl_.+',
+      os.path.join(opts.sysroot, 'usr/include/virgl/virglrenderer.h'),
+      clang_args,
+      'virglrenderer',
+    ),
+    (
+      'epoxy_egl',
+      '(E?GL)|(epoxy)_.+',
+      os.path.join(opts.sysroot, 'usr/include/epoxy/egl.h'),
+      clang_args,
+      'epoxy',
+    ),
+    (
+      'virgl_protocol',
+      '(virgl)|(VIRGL)_.+',
+      os.path.join(virgl_src_dir, 'src/virgl_protocol.h'),
+      clang_args,
+      None,
+    ),
+    (
+      'p_defines',
+      '(pipe)|(PIPE).+',
+      os.path.join(virgl_src_dir, 'src/gallium/include/pipe/p_defines.h'),
+      clang_args,
+      None,
+    ),
+    (
+      'p_format',
+      'pipe_format',
+      os.path.join(virgl_src_dir, 'src/gallium/include/pipe/p_format.h'),
+      clang_args,
+      None,
+    ),
+  )
+
+  pool = multiprocessing.pool.Pool(len(modules))
+  results = pool.starmap(generate_module, modules, 1)
+
+  return_fail = False
+  print('---')
+  print('generate module summary:')
+  for module, result in zip(modules, results):
+    result_color = FAIL_COLOR
+    if result == 'pass':
+      result_color = PASS_COLOR
+    else:
+      return_fail = True
+
+    print('%15s: %s%s%s' %
+          (module[0], result_color, result, END_COLOR))
+
+  if return_fail:
+    sys.exit(1)
+
+  with open('mod.rs', 'w') as f:
+    print('/* generated by generate.py */', file=f)
+    print('#![allow(dead_code)]', file=f)
+    print('#![allow(non_camel_case_types)]', file=f)
+    print('#![allow(non_snake_case)]', file=f)
+    print('#![allow(non_upper_case_globals)]', file=f)
+    for module in modules:
+      print('pub mod', module[0] + ';', file=f)
+
+
+if __name__ == '__main__':
+  sys.exit(main(sys.argv[1:]))
diff --git a/gpu_renderer/src/generated/mod.rs b/gpu_renderer/src/generated/mod.rs
new file mode 100644
index 0000000..a836066
--- /dev/null
+++ b/gpu_renderer/src/generated/mod.rs
@@ -0,0 +1,10 @@
+/* generated by generate.py */
+#![allow(dead_code)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+#![allow(non_upper_case_globals)]
+pub mod virglrenderer;
+pub mod epoxy_egl;
+pub mod virgl_protocol;
+pub mod p_defines;
+pub mod p_format;
diff --git a/gpu_renderer/src/generated/p_defines.rs b/gpu_renderer/src/generated/p_defines.rs
new file mode 100644
index 0000000..3699069
--- /dev/null
+++ b/gpu_renderer/src/generated/p_defines.rs
@@ -0,0 +1,604 @@
+/* automatically generated by rust-bindgen */
+
+pub const _POSIX_PIPE_BUF: u32 = 512;
+pub const PIPE_BUF: u32 = 4096;
+pub const PIPE_BLENDFACTOR_ONE: u32 = 1;
+pub const PIPE_BLENDFACTOR_SRC_COLOR: u32 = 2;
+pub const PIPE_BLENDFACTOR_SRC_ALPHA: u32 = 3;
+pub const PIPE_BLENDFACTOR_DST_ALPHA: u32 = 4;
+pub const PIPE_BLENDFACTOR_DST_COLOR: u32 = 5;
+pub const PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE: u32 = 6;
+pub const PIPE_BLENDFACTOR_CONST_COLOR: u32 = 7;
+pub const PIPE_BLENDFACTOR_CONST_ALPHA: u32 = 8;
+pub const PIPE_BLENDFACTOR_SRC1_COLOR: u32 = 9;
+pub const PIPE_BLENDFACTOR_SRC1_ALPHA: u32 = 10;
+pub const PIPE_BLENDFACTOR_ZERO: u32 = 17;
+pub const PIPE_BLENDFACTOR_INV_SRC_COLOR: u32 = 18;
+pub const PIPE_BLENDFACTOR_INV_SRC_ALPHA: u32 = 19;
+pub const PIPE_BLENDFACTOR_INV_DST_ALPHA: u32 = 20;
+pub const PIPE_BLENDFACTOR_INV_DST_COLOR: u32 = 21;
+pub const PIPE_BLENDFACTOR_INV_CONST_COLOR: u32 = 23;
+pub const PIPE_BLENDFACTOR_INV_CONST_ALPHA: u32 = 24;
+pub const PIPE_BLENDFACTOR_INV_SRC1_COLOR: u32 = 25;
+pub const PIPE_BLENDFACTOR_INV_SRC1_ALPHA: u32 = 26;
+pub const PIPE_BLEND_ADD: u32 = 0;
+pub const PIPE_BLEND_SUBTRACT: u32 = 1;
+pub const PIPE_BLEND_REVERSE_SUBTRACT: u32 = 2;
+pub const PIPE_BLEND_MIN: u32 = 3;
+pub const PIPE_BLEND_MAX: u32 = 4;
+pub const PIPE_LOGICOP_CLEAR: u32 = 0;
+pub const PIPE_LOGICOP_NOR: u32 = 1;
+pub const PIPE_LOGICOP_AND_INVERTED: u32 = 2;
+pub const PIPE_LOGICOP_COPY_INVERTED: u32 = 3;
+pub const PIPE_LOGICOP_AND_REVERSE: u32 = 4;
+pub const PIPE_LOGICOP_INVERT: u32 = 5;
+pub const PIPE_LOGICOP_XOR: u32 = 6;
+pub const PIPE_LOGICOP_NAND: u32 = 7;
+pub const PIPE_LOGICOP_AND: u32 = 8;
+pub const PIPE_LOGICOP_EQUIV: u32 = 9;
+pub const PIPE_LOGICOP_NOOP: u32 = 10;
+pub const PIPE_LOGICOP_OR_INVERTED: u32 = 11;
+pub const PIPE_LOGICOP_COPY: u32 = 12;
+pub const PIPE_LOGICOP_OR_REVERSE: u32 = 13;
+pub const PIPE_LOGICOP_OR: u32 = 14;
+pub const PIPE_LOGICOP_SET: u32 = 15;
+pub const PIPE_MASK_R: u32 = 1;
+pub const PIPE_MASK_G: u32 = 2;
+pub const PIPE_MASK_B: u32 = 4;
+pub const PIPE_MASK_A: u32 = 8;
+pub const PIPE_MASK_RGBA: u32 = 15;
+pub const PIPE_MASK_Z: u32 = 16;
+pub const PIPE_MASK_S: u32 = 32;
+pub const PIPE_MASK_ZS: u32 = 48;
+pub const PIPE_MASK_RGBAZS: u32 = 63;
+pub const PIPE_FUNC_NEVER: u32 = 0;
+pub const PIPE_FUNC_LESS: u32 = 1;
+pub const PIPE_FUNC_EQUAL: u32 = 2;
+pub const PIPE_FUNC_LEQUAL: u32 = 3;
+pub const PIPE_FUNC_GREATER: u32 = 4;
+pub const PIPE_FUNC_NOTEQUAL: u32 = 5;
+pub const PIPE_FUNC_GEQUAL: u32 = 6;
+pub const PIPE_FUNC_ALWAYS: u32 = 7;
+pub const PIPE_POLYGON_MODE_FILL: u32 = 0;
+pub const PIPE_POLYGON_MODE_LINE: u32 = 1;
+pub const PIPE_POLYGON_MODE_POINT: u32 = 2;
+pub const PIPE_FACE_NONE: u32 = 0;
+pub const PIPE_FACE_FRONT: u32 = 1;
+pub const PIPE_FACE_BACK: u32 = 2;
+pub const PIPE_FACE_FRONT_AND_BACK: u32 = 3;
+pub const PIPE_STENCIL_OP_KEEP: u32 = 0;
+pub const PIPE_STENCIL_OP_ZERO: u32 = 1;
+pub const PIPE_STENCIL_OP_REPLACE: u32 = 2;
+pub const PIPE_STENCIL_OP_INCR: u32 = 3;
+pub const PIPE_STENCIL_OP_DECR: u32 = 4;
+pub const PIPE_STENCIL_OP_INCR_WRAP: u32 = 5;
+pub const PIPE_STENCIL_OP_DECR_WRAP: u32 = 6;
+pub const PIPE_STENCIL_OP_INVERT: u32 = 7;
+pub const PIPE_TEX_FACE_POS_X: u32 = 0;
+pub const PIPE_TEX_FACE_NEG_X: u32 = 1;
+pub const PIPE_TEX_FACE_POS_Y: u32 = 2;
+pub const PIPE_TEX_FACE_NEG_Y: u32 = 3;
+pub const PIPE_TEX_FACE_POS_Z: u32 = 4;
+pub const PIPE_TEX_FACE_NEG_Z: u32 = 5;
+pub const PIPE_TEX_FACE_MAX: u32 = 6;
+pub const PIPE_TEX_WRAP_REPEAT: u32 = 0;
+pub const PIPE_TEX_WRAP_CLAMP: u32 = 1;
+pub const PIPE_TEX_WRAP_CLAMP_TO_EDGE: u32 = 2;
+pub const PIPE_TEX_WRAP_CLAMP_TO_BORDER: u32 = 3;
+pub const PIPE_TEX_WRAP_MIRROR_REPEAT: u32 = 4;
+pub const PIPE_TEX_WRAP_MIRROR_CLAMP: u32 = 5;
+pub const PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE: u32 = 6;
+pub const PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER: u32 = 7;
+pub const PIPE_TEX_MIPFILTER_NEAREST: u32 = 0;
+pub const PIPE_TEX_MIPFILTER_LINEAR: u32 = 1;
+pub const PIPE_TEX_MIPFILTER_NONE: u32 = 2;
+pub const PIPE_TEX_FILTER_NEAREST: u32 = 0;
+pub const PIPE_TEX_FILTER_LINEAR: u32 = 1;
+pub const PIPE_TEX_COMPARE_NONE: u32 = 0;
+pub const PIPE_TEX_COMPARE_R_TO_TEXTURE: u32 = 1;
+pub const PIPE_CLEAR_DEPTH: u32 = 1;
+pub const PIPE_CLEAR_STENCIL: u32 = 2;
+pub const PIPE_CLEAR_COLOR0: u32 = 4;
+pub const PIPE_CLEAR_COLOR1: u32 = 8;
+pub const PIPE_CLEAR_COLOR2: u32 = 16;
+pub const PIPE_CLEAR_COLOR3: u32 = 32;
+pub const PIPE_CLEAR_COLOR4: u32 = 64;
+pub const PIPE_CLEAR_COLOR5: u32 = 128;
+pub const PIPE_CLEAR_COLOR6: u32 = 256;
+pub const PIPE_CLEAR_COLOR7: u32 = 512;
+pub const PIPE_CLEAR_COLOR: u32 = 1020;
+pub const PIPE_CLEAR_DEPTHSTENCIL: u32 = 3;
+pub const PIPE_BARRIER_MAPPED_BUFFER: u32 = 1;
+pub const PIPE_BIND_DEPTH_STENCIL: u32 = 1;
+pub const PIPE_BIND_RENDER_TARGET: u32 = 2;
+pub const PIPE_BIND_BLENDABLE: u32 = 4;
+pub const PIPE_BIND_SAMPLER_VIEW: u32 = 8;
+pub const PIPE_BIND_VERTEX_BUFFER: u32 = 16;
+pub const PIPE_BIND_INDEX_BUFFER: u32 = 32;
+pub const PIPE_BIND_CONSTANT_BUFFER: u32 = 64;
+pub const PIPE_BIND_DISPLAY_TARGET: u32 = 256;
+pub const PIPE_BIND_TRANSFER_WRITE: u32 = 512;
+pub const PIPE_BIND_TRANSFER_READ: u32 = 1024;
+pub const PIPE_BIND_STREAM_OUTPUT: u32 = 2048;
+pub const PIPE_BIND_CURSOR: u32 = 65536;
+pub const PIPE_BIND_CUSTOM: u32 = 131072;
+pub const PIPE_BIND_GLOBAL: u32 = 262144;
+pub const PIPE_BIND_SHADER_RESOURCE: u32 = 524288;
+pub const PIPE_BIND_COMPUTE_RESOURCE: u32 = 1048576;
+pub const PIPE_BIND_COMMAND_ARGS_BUFFER: u32 = 2097152;
+pub const PIPE_BIND_SCANOUT: u32 = 16384;
+pub const PIPE_BIND_SHARED: u32 = 32768;
+pub const PIPE_BIND_LINEAR: u32 = 2097152;
+pub const PIPE_RESOURCE_FLAG_MAP_PERSISTENT: u32 = 1;
+pub const PIPE_RESOURCE_FLAG_MAP_COHERENT: u32 = 2;
+pub const PIPE_RESOURCE_FLAG_DRV_PRIV: u32 = 65536;
+pub const PIPE_RESOURCE_FLAG_ST_PRIV: u32 = 16777216;
+pub const PIPE_USAGE_DEFAULT: u32 = 0;
+pub const PIPE_USAGE_IMMUTABLE: u32 = 1;
+pub const PIPE_USAGE_DYNAMIC: u32 = 2;
+pub const PIPE_USAGE_STREAM: u32 = 3;
+pub const PIPE_USAGE_STAGING: u32 = 4;
+pub const PIPE_SHADER_VERTEX: u32 = 0;
+pub const PIPE_SHADER_FRAGMENT: u32 = 1;
+pub const PIPE_SHADER_GEOMETRY: u32 = 2;
+pub const PIPE_SHADER_TESS_CTRL: u32 = 3;
+pub const PIPE_SHADER_TESS_EVAL: u32 = 4;
+pub const PIPE_SHADER_COMPUTE: u32 = 5;
+pub const PIPE_SHADER_TYPES: u32 = 6;
+pub const PIPE_PRIM_POINTS: u32 = 0;
+pub const PIPE_PRIM_LINES: u32 = 1;
+pub const PIPE_PRIM_LINE_LOOP: u32 = 2;
+pub const PIPE_PRIM_LINE_STRIP: u32 = 3;
+pub const PIPE_PRIM_TRIANGLES: u32 = 4;
+pub const PIPE_PRIM_TRIANGLE_STRIP: u32 = 5;
+pub const PIPE_PRIM_TRIANGLE_FAN: u32 = 6;
+pub const PIPE_PRIM_QUADS: u32 = 7;
+pub const PIPE_PRIM_QUAD_STRIP: u32 = 8;
+pub const PIPE_PRIM_POLYGON: u32 = 9;
+pub const PIPE_PRIM_LINES_ADJACENCY: u32 = 10;
+pub const PIPE_PRIM_LINE_STRIP_ADJACENCY: u32 = 11;
+pub const PIPE_PRIM_TRIANGLES_ADJACENCY: u32 = 12;
+pub const PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY: u32 = 13;
+pub const PIPE_PRIM_PATCHES: u32 = 14;
+pub const PIPE_PRIM_MAX: u32 = 15;
+pub const PIPE_TESS_SPACING_FRACTIONAL_ODD: u32 = 0;
+pub const PIPE_TESS_SPACING_FRACTIONAL_EVEN: u32 = 1;
+pub const PIPE_TESS_SPACING_EQUAL: u32 = 2;
+pub const PIPE_QUERY_OCCLUSION_COUNTER: u32 = 0;
+pub const PIPE_QUERY_OCCLUSION_PREDICATE: u32 = 1;
+pub const PIPE_QUERY_TIMESTAMP: u32 = 2;
+pub const PIPE_QUERY_TIMESTAMP_DISJOINT: u32 = 3;
+pub const PIPE_QUERY_TIME_ELAPSED: u32 = 4;
+pub const PIPE_QUERY_PRIMITIVES_GENERATED: u32 = 5;
+pub const PIPE_QUERY_PRIMITIVES_EMITTED: u32 = 6;
+pub const PIPE_QUERY_SO_STATISTICS: u32 = 7;
+pub const PIPE_QUERY_SO_OVERFLOW_PREDICATE: u32 = 8;
+pub const PIPE_QUERY_GPU_FINISHED: u32 = 9;
+pub const PIPE_QUERY_PIPELINE_STATISTICS: u32 = 10;
+pub const PIPE_QUERY_TYPES: u32 = 11;
+pub const PIPE_QUERY_DRIVER_SPECIFIC: u32 = 256;
+pub const PIPE_RENDER_COND_WAIT: u32 = 0;
+pub const PIPE_RENDER_COND_NO_WAIT: u32 = 1;
+pub const PIPE_RENDER_COND_BY_REGION_WAIT: u32 = 2;
+pub const PIPE_RENDER_COND_BY_REGION_NO_WAIT: u32 = 3;
+pub const PIPE_SPRITE_COORD_UPPER_LEFT: u32 = 0;
+pub const PIPE_SPRITE_COORD_LOWER_LEFT: u32 = 1;
+pub const PIPE_SWIZZLE_RED: u32 = 0;
+pub const PIPE_SWIZZLE_GREEN: u32 = 1;
+pub const PIPE_SWIZZLE_BLUE: u32 = 2;
+pub const PIPE_SWIZZLE_ALPHA: u32 = 3;
+pub const PIPE_SWIZZLE_ZERO: u32 = 4;
+pub const PIPE_SWIZZLE_ONE: u32 = 5;
+pub const PIPE_TIMEOUT_INFINITE: i32 = -1;
+pub const PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_NV50: u32 = 1;
+pub const PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_R600: u32 = 2;
+pub type boolean = ::std::os::raw::c_uchar;
+pub const PIPE_OK: pipe_error = 0;
+/// < Generic error
+pub const PIPE_ERROR: pipe_error = -1;
+pub const PIPE_ERROR_BAD_INPUT: pipe_error = -2;
+pub const PIPE_ERROR_OUT_OF_MEMORY: pipe_error = -3;
+pub const PIPE_ERROR_RETRY: pipe_error = -4;
+/// Gallium error codes.
+///
+/// - A zero value always means success.
+/// - A negative value always means failure.
+/// - The meaning of a positive value is function dependent.
+pub type pipe_error = i32;
+pub const PIPE_BUFFER: pipe_texture_target = 0;
+pub const PIPE_TEXTURE_1D: pipe_texture_target = 1;
+pub const PIPE_TEXTURE_2D: pipe_texture_target = 2;
+pub const PIPE_TEXTURE_3D: pipe_texture_target = 3;
+pub const PIPE_TEXTURE_CUBE: pipe_texture_target = 4;
+pub const PIPE_TEXTURE_RECT: pipe_texture_target = 5;
+pub const PIPE_TEXTURE_1D_ARRAY: pipe_texture_target = 6;
+pub const PIPE_TEXTURE_2D_ARRAY: pipe_texture_target = 7;
+pub const PIPE_TEXTURE_CUBE_ARRAY: pipe_texture_target = 8;
+pub const PIPE_MAX_TEXTURE_TYPES: pipe_texture_target = 9;
+/// Texture types.
+/// See the documentation for info on PIPE_TEXTURE_RECT vs PIPE_TEXTURE_2D
+pub type pipe_texture_target = u32;
+/// Resource contents read back (or accessed directly) at transfer
+/// create time.
+pub const PIPE_TRANSFER_READ: pipe_transfer_usage = 1;
+/// Resource contents will be written back at transfer_unmap
+/// time (or modified as a result of being accessed directly).
+pub const PIPE_TRANSFER_WRITE: pipe_transfer_usage = 2;
+/// Read/modify/write
+pub const PIPE_TRANSFER_READ_WRITE: pipe_transfer_usage = 3;
+/// The transfer should map the texture storage directly. The driver may
+/// return NULL if that isn't possible, and the state tracker needs to cope
+/// with that and use an alternative path without this flag.
+///
+/// E.g. the state tracker could have a simpler path which maps textures and
+/// does read/modify/write cycles on them directly, and a more complicated
+/// path which uses minimal read and write transfers.
+pub const PIPE_TRANSFER_MAP_DIRECTLY: pipe_transfer_usage = 4;
+/// Discards the memory within the mapped region.
+///
+/// It should not be used with PIPE_TRANSFER_READ.
+///
+/// See also:
+/// - OpenGL's ARB_map_buffer_range extension, MAP_INVALIDATE_RANGE_BIT flag.
+pub const PIPE_TRANSFER_DISCARD_RANGE: pipe_transfer_usage = 256;
+/// Fail if the resource cannot be mapped immediately.
+///
+/// See also:
+/// - Direct3D's D3DLOCK_DONOTWAIT flag.
+/// - Mesa3D's MESA_MAP_NOWAIT_BIT flag.
+/// - WDDM's D3DDDICB_LOCKFLAGS.DonotWait flag.
+pub const PIPE_TRANSFER_DONTBLOCK: pipe_transfer_usage = 512;
+/// Do not attempt to synchronize pending operations on the resource when mapping.
+///
+/// It should not be used with PIPE_TRANSFER_READ.
+///
+/// See also:
+/// - OpenGL's ARB_map_buffer_range extension, MAP_UNSYNCHRONIZED_BIT flag.
+/// - Direct3D's D3DLOCK_NOOVERWRITE flag.
+/// - WDDM's D3DDDICB_LOCKFLAGS.IgnoreSync flag.
+pub const PIPE_TRANSFER_UNSYNCHRONIZED: pipe_transfer_usage = 1024;
+/// Written ranges will be notified later with
+/// pipe_context::transfer_flush_region.
+///
+/// It should not be used with PIPE_TRANSFER_READ.
+///
+/// See also:
+/// - pipe_context::transfer_flush_region
+/// - OpenGL's ARB_map_buffer_range extension, MAP_FLUSH_EXPLICIT_BIT flag.
+pub const PIPE_TRANSFER_FLUSH_EXPLICIT: pipe_transfer_usage = 2048;
+/// Discards all memory backing the resource.
+///
+/// It should not be used with PIPE_TRANSFER_READ.
+///
+/// This is equivalent to:
+/// - OpenGL's ARB_map_buffer_range extension, MAP_INVALIDATE_BUFFER_BIT
+/// - BufferData(NULL) on a GL buffer
+/// - Direct3D's D3DLOCK_DISCARD flag.
+/// - WDDM's D3DDDICB_LOCKFLAGS.Discard flag.
+/// - D3D10 DDI's D3D10_DDI_MAP_WRITE_DISCARD flag
+/// - D3D10's D3D10_MAP_WRITE_DISCARD flag.
+pub const PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE: pipe_transfer_usage = 4096;
+/// Allows the resource to be used for rendering while mapped.
+///
+/// PIPE_RESOURCE_FLAG_MAP_PERSISTENT must be set when creating
+/// the resource.
+///
+/// If COHERENT is not set, memory_barrier(PIPE_BARRIER_MAPPED_BUFFER)
+/// must be called to ensure the device can see what the CPU has written.
+pub const PIPE_TRANSFER_PERSISTENT: pipe_transfer_usage = 8192;
+/// If PERSISTENT is set, this ensures any writes done by the device are
+/// immediately visible to the CPU and vice versa.
+///
+/// PIPE_RESOURCE_FLAG_MAP_COHERENT must be set when creating
+/// the resource.
+pub const PIPE_TRANSFER_COHERENT: pipe_transfer_usage = 16384;
+/// Transfer object usage flags
+pub type pipe_transfer_usage = u32;
+pub const PIPE_FLUSH_END_OF_FRAME: pipe_flush_flags = 1;
+/// Flags for the flush function.
+pub type pipe_flush_flags = u32;
+pub const PIPE_CAP_NPOT_TEXTURES: pipe_cap = 1;
+pub const PIPE_CAP_TWO_SIDED_STENCIL: pipe_cap = 2;
+pub const PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS: pipe_cap = 4;
+pub const PIPE_CAP_ANISOTROPIC_FILTER: pipe_cap = 5;
+pub const PIPE_CAP_POINT_SPRITE: pipe_cap = 6;
+pub const PIPE_CAP_MAX_RENDER_TARGETS: pipe_cap = 7;
+pub const PIPE_CAP_OCCLUSION_QUERY: pipe_cap = 8;
+pub const PIPE_CAP_QUERY_TIME_ELAPSED: pipe_cap = 9;
+pub const PIPE_CAP_TEXTURE_SHADOW_MAP: pipe_cap = 10;
+pub const PIPE_CAP_TEXTURE_SWIZZLE: pipe_cap = 11;
+pub const PIPE_CAP_MAX_TEXTURE_2D_LEVELS: pipe_cap = 12;
+pub const PIPE_CAP_MAX_TEXTURE_3D_LEVELS: pipe_cap = 13;
+pub const PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS: pipe_cap = 14;
+pub const PIPE_CAP_TEXTURE_MIRROR_CLAMP: pipe_cap = 25;
+pub const PIPE_CAP_BLEND_EQUATION_SEPARATE: pipe_cap = 28;
+pub const PIPE_CAP_SM3: pipe_cap = 29;
+pub const PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS: pipe_cap = 30;
+pub const PIPE_CAP_PRIMITIVE_RESTART: pipe_cap = 31;
+/// blend enables and write masks per rendertarget
+pub const PIPE_CAP_INDEP_BLEND_ENABLE: pipe_cap = 33;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_INDEP_BLEND_FUNC: pipe_cap = 34;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS: pipe_cap = 36;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT: pipe_cap = 37;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT: pipe_cap = 38;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER: pipe_cap = 39;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER: pipe_cap = 40;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_DEPTH_CLIP_DISABLE: pipe_cap = 41;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_SHADER_STENCIL_EXPORT: pipe_cap = 42;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TGSI_INSTANCEID: pipe_cap = 43;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR: pipe_cap = 44;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_FRAGMENT_COLOR_CLAMPED: pipe_cap = 45;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MIXED_COLORBUFFER_FORMATS: pipe_cap = 46;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_SEAMLESS_CUBE_MAP: pipe_cap = 47;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE: pipe_cap = 48;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MIN_TEXEL_OFFSET: pipe_cap = 50;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MAX_TEXEL_OFFSET: pipe_cap = 51;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_CONDITIONAL_RENDER: pipe_cap = 52;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TEXTURE_BARRIER: pipe_cap = 53;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MAX_STREAM_OUTPUT_SEPARATE_COMPONENTS: pipe_cap = 55;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MAX_STREAM_OUTPUT_INTERLEAVED_COMPONENTS: pipe_cap = 56;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME: pipe_cap = 57;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TGSI_CAN_COMPACT_CONSTANTS: pipe_cap = 59;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_VERTEX_COLOR_UNCLAMPED: pipe_cap = 60;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_VERTEX_COLOR_CLAMPED: pipe_cap = 61;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_GLSL_FEATURE_LEVEL: pipe_cap = 62;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION: pipe_cap = 63;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_USER_VERTEX_BUFFERS: pipe_cap = 64;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY: pipe_cap = 65;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY: pipe_cap = 66;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY: pipe_cap = 67;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_COMPUTE: pipe_cap = 68;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_USER_INDEX_BUFFERS: pipe_cap = 69;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_USER_CONSTANT_BUFFERS: pipe_cap = 70;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT: pipe_cap = 71;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_START_INSTANCE: pipe_cap = 72;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_QUERY_TIMESTAMP: pipe_cap = 73;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TEXTURE_MULTISAMPLE: pipe_cap = 74;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MIN_MAP_BUFFER_ALIGNMENT: pipe_cap = 75;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_CUBE_MAP_ARRAY: pipe_cap = 76;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TEXTURE_BUFFER_OBJECTS: pipe_cap = 77;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT: pipe_cap = 78;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TGSI_TEXCOORD: pipe_cap = 79;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER: pipe_cap = 80;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_QUERY_PIPELINE_STATISTICS: pipe_cap = 81;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK: pipe_cap = 82;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE: pipe_cap = 83;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MAX_VIEWPORTS: pipe_cap = 84;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_ENDIANNESS: pipe_cap = 85;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MIXED_FRAMEBUFFER_SIZES: pipe_cap = 86;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TGSI_VS_LAYER_VIEWPORT: pipe_cap = 87;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MAX_GEOMETRY_OUTPUT_VERTICES: pipe_cap = 88;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: pipe_cap = 89;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS: pipe_cap = 90;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TEXTURE_GATHER_SM5: pipe_cap = 91;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT: pipe_cap = 92;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_FAKE_SW_MSAA: pipe_cap = 93;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TEXTURE_QUERY_LOD: pipe_cap = 94;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MIN_TEXTURE_GATHER_OFFSET: pipe_cap = 95;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MAX_TEXTURE_GATHER_OFFSET: pipe_cap = 96;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_SAMPLE_SHADING: pipe_cap = 97;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TEXTURE_GATHER_OFFSETS: pipe_cap = 98;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION: pipe_cap = 99;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MAX_VERTEX_STREAMS: pipe_cap = 100;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_DRAW_INDIRECT: pipe_cap = 101;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_TGSI_FS_FINE_DERIVATIVE: pipe_cap = 102;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_VENDOR_ID: pipe_cap = 103;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_DEVICE_ID: pipe_cap = 104;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_ACCELERATED: pipe_cap = 105;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_VIDEO_MEMORY: pipe_cap = 106;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_UMA: pipe_cap = 107;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_CONDITIONAL_RENDER_INVERTED: pipe_cap = 108;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_MAX_VERTEX_ATTRIB_STRIDE: pipe_cap = 109;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_SAMPLER_VIEW_TARGET: pipe_cap = 110;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_CLIP_HALFZ: pipe_cap = 111;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_VERTEXID_NOBASE: pipe_cap = 112;
+/// different blend funcs per rendertarget
+pub const PIPE_CAP_POLYGON_OFFSET_CLAMP: pipe_cap = 113;
+/// Implementation capabilities/limits which are queried through
+/// pipe_screen::get_param()
+pub type pipe_cap = u32;
+pub const PIPE_ENDIAN_LITTLE: pipe_endian = 0;
+pub const PIPE_ENDIAN_BIG: pipe_endian = 1;
+pub const PIPE_ENDIAN_NATIVE: pipe_endian = 0;
+pub type pipe_endian = u32;
+pub const PIPE_CAPF_MAX_LINE_WIDTH: pipe_capf = 0;
+pub const PIPE_CAPF_MAX_LINE_WIDTH_AA: pipe_capf = 1;
+pub const PIPE_CAPF_MAX_POINT_WIDTH: pipe_capf = 2;
+pub const PIPE_CAPF_MAX_POINT_WIDTH_AA: pipe_capf = 3;
+pub const PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: pipe_capf = 4;
+pub const PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: pipe_capf = 5;
+pub const PIPE_CAPF_GUARD_BAND_LEFT: pipe_capf = 6;
+pub const PIPE_CAPF_GUARD_BAND_TOP: pipe_capf = 7;
+pub const PIPE_CAPF_GUARD_BAND_RIGHT: pipe_capf = 8;
+pub const PIPE_CAPF_GUARD_BAND_BOTTOM: pipe_capf = 9;
+/// Implementation limits which are queried through
+/// pipe_screen::get_paramf()
+pub type pipe_capf = u32;
+pub const PIPE_SHADER_CAP_MAX_INSTRUCTIONS: pipe_shader_cap = 0;
+pub const PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS: pipe_shader_cap = 1;
+pub const PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS: pipe_shader_cap = 2;
+pub const PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS: pipe_shader_cap = 3;
+pub const PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: pipe_shader_cap = 4;
+pub const PIPE_SHADER_CAP_MAX_INPUTS: pipe_shader_cap = 5;
+pub const PIPE_SHADER_CAP_MAX_OUTPUTS: pipe_shader_cap = 6;
+pub const PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE: pipe_shader_cap = 7;
+pub const PIPE_SHADER_CAP_MAX_CONST_BUFFERS: pipe_shader_cap = 8;
+pub const PIPE_SHADER_CAP_MAX_TEMPS: pipe_shader_cap = 9;
+pub const PIPE_SHADER_CAP_MAX_PREDS: pipe_shader_cap = 10;
+pub const PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: pipe_shader_cap = 11;
+pub const PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR: pipe_shader_cap = 12;
+pub const PIPE_SHADER_CAP_INDIRECT_OUTPUT_ADDR: pipe_shader_cap = 13;
+pub const PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR: pipe_shader_cap = 14;
+pub const PIPE_SHADER_CAP_INDIRECT_CONST_ADDR: pipe_shader_cap = 15;
+pub const PIPE_SHADER_CAP_SUBROUTINES: pipe_shader_cap = 16;
+pub const PIPE_SHADER_CAP_INTEGERS: pipe_shader_cap = 17;
+pub const PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS: pipe_shader_cap = 18;
+pub const PIPE_SHADER_CAP_PREFERRED_IR: pipe_shader_cap = 19;
+pub const PIPE_SHADER_CAP_TGSI_SQRT_SUPPORTED: pipe_shader_cap = 20;
+pub const PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS: pipe_shader_cap = 21;
+pub const PIPE_SHADER_CAP_DOUBLES: pipe_shader_cap = 22;
+pub type pipe_shader_cap = u32;
+pub const PIPE_SHADER_IR_TGSI: pipe_shader_ir = 0;
+pub const PIPE_SHADER_IR_LLVM: pipe_shader_ir = 1;
+pub const PIPE_SHADER_IR_NATIVE: pipe_shader_ir = 2;
+/// Shader intermediate representation.
+pub type pipe_shader_ir = u32;
+pub const PIPE_COMPUTE_CAP_IR_TARGET: pipe_compute_cap = 0;
+pub const PIPE_COMPUTE_CAP_GRID_DIMENSION: pipe_compute_cap = 1;
+pub const PIPE_COMPUTE_CAP_MAX_GRID_SIZE: pipe_compute_cap = 2;
+pub const PIPE_COMPUTE_CAP_MAX_BLOCK_SIZE: pipe_compute_cap = 3;
+pub const PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK: pipe_compute_cap = 4;
+pub const PIPE_COMPUTE_CAP_MAX_GLOBAL_SIZE: pipe_compute_cap = 5;
+pub const PIPE_COMPUTE_CAP_MAX_LOCAL_SIZE: pipe_compute_cap = 6;
+pub const PIPE_COMPUTE_CAP_MAX_PRIVATE_SIZE: pipe_compute_cap = 7;
+pub const PIPE_COMPUTE_CAP_MAX_INPUT_SIZE: pipe_compute_cap = 8;
+pub const PIPE_COMPUTE_CAP_MAX_MEM_ALLOC_SIZE: pipe_compute_cap = 9;
+pub const PIPE_COMPUTE_CAP_MAX_CLOCK_FREQUENCY: pipe_compute_cap = 10;
+pub const PIPE_COMPUTE_CAP_MAX_COMPUTE_UNITS: pipe_compute_cap = 11;
+pub const PIPE_COMPUTE_CAP_IMAGES_SUPPORTED: pipe_compute_cap = 12;
+/// Compute-specific implementation capability.  They can be queried
+/// using pipe_screen::get_compute_param.
+pub type pipe_compute_cap = u32;
+/// Query result for PIPE_QUERY_SO_STATISTICS.
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct pipe_query_data_so_statistics {
+    pub num_primitives_written: u64,
+    pub primitives_storage_needed: u64,
+}
+/// Query result for PIPE_QUERY_TIMESTAMP_DISJOINT.
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct pipe_query_data_timestamp_disjoint {
+    pub frequency: u64,
+    pub disjoint: boolean,
+}
+/// Query result for PIPE_QUERY_PIPELINE_STATISTICS.
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct pipe_query_data_pipeline_statistics {
+    /// < Num vertices read by the vertex fetcher.
+    pub ia_vertices: u64,
+    /// < Num primitives read by the vertex fetcher.
+    pub ia_primitives: u64,
+    /// < Num vertex shader invocations.
+    pub vs_invocations: u64,
+    /// < Num geometry shader invocations.
+    pub gs_invocations: u64,
+    /// < Num primitives output by a geometry shader.
+    pub gs_primitives: u64,
+    /// < Num primitives sent to the rasterizer.
+    pub c_invocations: u64,
+    /// < Num primitives that were rendered.
+    pub c_primitives: u64,
+    /// < Num pixel shader invocations.
+    pub ps_invocations: u64,
+    /// < Num hull shader invocations.
+    pub hs_invocations: u64,
+    /// < Num domain shader invocations.
+    pub ds_invocations: u64,
+    /// < Num compute shader invocations.
+    pub cs_invocations: u64,
+}
+/// Query result (returned by pipe_context::get_query_result).
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pipe_query_result {
+    pub b: boolean,
+    pub u64: u64,
+    pub so_statistics: pipe_query_data_so_statistics,
+    pub timestamp_disjoint: pipe_query_data_timestamp_disjoint,
+    pub pipeline_statistics: pipe_query_data_pipeline_statistics,
+    _bindgen_union_align: [u64; 11usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pipe_color_union {
+    pub f: [f32; 4usize],
+    pub i: [::std::os::raw::c_int; 4usize],
+    pub ui: [::std::os::raw::c_uint; 4usize],
+    _bindgen_union_align: [u32; 4usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct pipe_driver_query_info {
+    pub name: *const ::std::os::raw::c_char,
+    pub query_type: ::std::os::raw::c_uint,
+    pub max_value: u64,
+    pub uses_byte_units: boolean,
+}
diff --git a/gpu_renderer/src/generated/p_format.rs b/gpu_renderer/src/generated/p_format.rs
new file mode 100644
index 0000000..c68b3b9
--- /dev/null
+++ b/gpu_renderer/src/generated/p_format.rs
@@ -0,0 +1,275 @@
+/* automatically generated by rust-bindgen */
+
+pub const PIPE_FORMAT_NONE: pipe_format = 0;
+pub const PIPE_FORMAT_B8G8R8A8_UNORM: pipe_format = 1;
+pub const PIPE_FORMAT_B8G8R8X8_UNORM: pipe_format = 2;
+pub const PIPE_FORMAT_A8R8G8B8_UNORM: pipe_format = 3;
+pub const PIPE_FORMAT_X8R8G8B8_UNORM: pipe_format = 4;
+pub const PIPE_FORMAT_B5G5R5A1_UNORM: pipe_format = 5;
+pub const PIPE_FORMAT_B4G4R4A4_UNORM: pipe_format = 6;
+pub const PIPE_FORMAT_B5G6R5_UNORM: pipe_format = 7;
+pub const PIPE_FORMAT_R10G10B10A2_UNORM: pipe_format = 8;
+/// < ubyte luminance
+pub const PIPE_FORMAT_L8_UNORM: pipe_format = 9;
+/// < ubyte alpha
+pub const PIPE_FORMAT_A8_UNORM: pipe_format = 10;
+/// < ubyte intensity
+pub const PIPE_FORMAT_I8_UNORM: pipe_format = 11;
+/// < ubyte alpha, luminance
+pub const PIPE_FORMAT_L8A8_UNORM: pipe_format = 12;
+/// < ushort luminance
+pub const PIPE_FORMAT_L16_UNORM: pipe_format = 13;
+pub const PIPE_FORMAT_UYVY: pipe_format = 14;
+pub const PIPE_FORMAT_YUYV: pipe_format = 15;
+pub const PIPE_FORMAT_Z16_UNORM: pipe_format = 16;
+pub const PIPE_FORMAT_Z32_UNORM: pipe_format = 17;
+pub const PIPE_FORMAT_Z32_FLOAT: pipe_format = 18;
+pub const PIPE_FORMAT_Z24_UNORM_S8_UINT: pipe_format = 19;
+pub const PIPE_FORMAT_S8_UINT_Z24_UNORM: pipe_format = 20;
+pub const PIPE_FORMAT_Z24X8_UNORM: pipe_format = 21;
+pub const PIPE_FORMAT_X8Z24_UNORM: pipe_format = 22;
+/// < ubyte stencil
+pub const PIPE_FORMAT_S8_UINT: pipe_format = 23;
+pub const PIPE_FORMAT_R64_FLOAT: pipe_format = 24;
+pub const PIPE_FORMAT_R64G64_FLOAT: pipe_format = 25;
+pub const PIPE_FORMAT_R64G64B64_FLOAT: pipe_format = 26;
+pub const PIPE_FORMAT_R64G64B64A64_FLOAT: pipe_format = 27;
+pub const PIPE_FORMAT_R32_FLOAT: pipe_format = 28;
+pub const PIPE_FORMAT_R32G32_FLOAT: pipe_format = 29;
+pub const PIPE_FORMAT_R32G32B32_FLOAT: pipe_format = 30;
+pub const PIPE_FORMAT_R32G32B32A32_FLOAT: pipe_format = 31;
+pub const PIPE_FORMAT_R32_UNORM: pipe_format = 32;
+pub const PIPE_FORMAT_R32G32_UNORM: pipe_format = 33;
+pub const PIPE_FORMAT_R32G32B32_UNORM: pipe_format = 34;
+pub const PIPE_FORMAT_R32G32B32A32_UNORM: pipe_format = 35;
+pub const PIPE_FORMAT_R32_USCALED: pipe_format = 36;
+pub const PIPE_FORMAT_R32G32_USCALED: pipe_format = 37;
+pub const PIPE_FORMAT_R32G32B32_USCALED: pipe_format = 38;
+pub const PIPE_FORMAT_R32G32B32A32_USCALED: pipe_format = 39;
+pub const PIPE_FORMAT_R32_SNORM: pipe_format = 40;
+pub const PIPE_FORMAT_R32G32_SNORM: pipe_format = 41;
+pub const PIPE_FORMAT_R32G32B32_SNORM: pipe_format = 42;
+pub const PIPE_FORMAT_R32G32B32A32_SNORM: pipe_format = 43;
+pub const PIPE_FORMAT_R32_SSCALED: pipe_format = 44;
+pub const PIPE_FORMAT_R32G32_SSCALED: pipe_format = 45;
+pub const PIPE_FORMAT_R32G32B32_SSCALED: pipe_format = 46;
+pub const PIPE_FORMAT_R32G32B32A32_SSCALED: pipe_format = 47;
+pub const PIPE_FORMAT_R16_UNORM: pipe_format = 48;
+pub const PIPE_FORMAT_R16G16_UNORM: pipe_format = 49;
+pub const PIPE_FORMAT_R16G16B16_UNORM: pipe_format = 50;
+pub const PIPE_FORMAT_R16G16B16A16_UNORM: pipe_format = 51;
+pub const PIPE_FORMAT_R16_USCALED: pipe_format = 52;
+pub const PIPE_FORMAT_R16G16_USCALED: pipe_format = 53;
+pub const PIPE_FORMAT_R16G16B16_USCALED: pipe_format = 54;
+pub const PIPE_FORMAT_R16G16B16A16_USCALED: pipe_format = 55;
+pub const PIPE_FORMAT_R16_SNORM: pipe_format = 56;
+pub const PIPE_FORMAT_R16G16_SNORM: pipe_format = 57;
+pub const PIPE_FORMAT_R16G16B16_SNORM: pipe_format = 58;
+pub const PIPE_FORMAT_R16G16B16A16_SNORM: pipe_format = 59;
+pub const PIPE_FORMAT_R16_SSCALED: pipe_format = 60;
+pub const PIPE_FORMAT_R16G16_SSCALED: pipe_format = 61;
+pub const PIPE_FORMAT_R16G16B16_SSCALED: pipe_format = 62;
+pub const PIPE_FORMAT_R16G16B16A16_SSCALED: pipe_format = 63;
+pub const PIPE_FORMAT_R8_UNORM: pipe_format = 64;
+pub const PIPE_FORMAT_R8G8_UNORM: pipe_format = 65;
+pub const PIPE_FORMAT_R8G8B8_UNORM: pipe_format = 66;
+pub const PIPE_FORMAT_R8G8B8A8_UNORM: pipe_format = 67;
+pub const PIPE_FORMAT_X8B8G8R8_UNORM: pipe_format = 68;
+pub const PIPE_FORMAT_R8_USCALED: pipe_format = 69;
+pub const PIPE_FORMAT_R8G8_USCALED: pipe_format = 70;
+pub const PIPE_FORMAT_R8G8B8_USCALED: pipe_format = 71;
+pub const PIPE_FORMAT_R8G8B8A8_USCALED: pipe_format = 72;
+pub const PIPE_FORMAT_R8_SNORM: pipe_format = 74;
+pub const PIPE_FORMAT_R8G8_SNORM: pipe_format = 75;
+pub const PIPE_FORMAT_R8G8B8_SNORM: pipe_format = 76;
+pub const PIPE_FORMAT_R8G8B8A8_SNORM: pipe_format = 77;
+pub const PIPE_FORMAT_R8_SSCALED: pipe_format = 82;
+pub const PIPE_FORMAT_R8G8_SSCALED: pipe_format = 83;
+pub const PIPE_FORMAT_R8G8B8_SSCALED: pipe_format = 84;
+pub const PIPE_FORMAT_R8G8B8A8_SSCALED: pipe_format = 85;
+pub const PIPE_FORMAT_R32_FIXED: pipe_format = 87;
+pub const PIPE_FORMAT_R32G32_FIXED: pipe_format = 88;
+pub const PIPE_FORMAT_R32G32B32_FIXED: pipe_format = 89;
+pub const PIPE_FORMAT_R32G32B32A32_FIXED: pipe_format = 90;
+pub const PIPE_FORMAT_R16_FLOAT: pipe_format = 91;
+pub const PIPE_FORMAT_R16G16_FLOAT: pipe_format = 92;
+pub const PIPE_FORMAT_R16G16B16_FLOAT: pipe_format = 93;
+pub const PIPE_FORMAT_R16G16B16A16_FLOAT: pipe_format = 94;
+pub const PIPE_FORMAT_L8_SRGB: pipe_format = 95;
+pub const PIPE_FORMAT_L8A8_SRGB: pipe_format = 96;
+pub const PIPE_FORMAT_R8G8B8_SRGB: pipe_format = 97;
+pub const PIPE_FORMAT_A8B8G8R8_SRGB: pipe_format = 98;
+pub const PIPE_FORMAT_X8B8G8R8_SRGB: pipe_format = 99;
+pub const PIPE_FORMAT_B8G8R8A8_SRGB: pipe_format = 100;
+pub const PIPE_FORMAT_B8G8R8X8_SRGB: pipe_format = 101;
+pub const PIPE_FORMAT_A8R8G8B8_SRGB: pipe_format = 102;
+pub const PIPE_FORMAT_X8R8G8B8_SRGB: pipe_format = 103;
+pub const PIPE_FORMAT_R8G8B8A8_SRGB: pipe_format = 104;
+pub const PIPE_FORMAT_DXT1_RGB: pipe_format = 105;
+pub const PIPE_FORMAT_DXT1_RGBA: pipe_format = 106;
+pub const PIPE_FORMAT_DXT3_RGBA: pipe_format = 107;
+pub const PIPE_FORMAT_DXT5_RGBA: pipe_format = 108;
+pub const PIPE_FORMAT_DXT1_SRGB: pipe_format = 109;
+pub const PIPE_FORMAT_DXT1_SRGBA: pipe_format = 110;
+pub const PIPE_FORMAT_DXT3_SRGBA: pipe_format = 111;
+pub const PIPE_FORMAT_DXT5_SRGBA: pipe_format = 112;
+pub const PIPE_FORMAT_RGTC1_UNORM: pipe_format = 113;
+pub const PIPE_FORMAT_RGTC1_SNORM: pipe_format = 114;
+pub const PIPE_FORMAT_RGTC2_UNORM: pipe_format = 115;
+pub const PIPE_FORMAT_RGTC2_SNORM: pipe_format = 116;
+pub const PIPE_FORMAT_R8G8_B8G8_UNORM: pipe_format = 117;
+pub const PIPE_FORMAT_G8R8_G8B8_UNORM: pipe_format = 118;
+pub const PIPE_FORMAT_R8SG8SB8UX8U_NORM: pipe_format = 119;
+pub const PIPE_FORMAT_R5SG5SB6U_NORM: pipe_format = 120;
+pub const PIPE_FORMAT_A8B8G8R8_UNORM: pipe_format = 121;
+pub const PIPE_FORMAT_B5G5R5X1_UNORM: pipe_format = 122;
+pub const PIPE_FORMAT_R10G10B10A2_USCALED: pipe_format = 123;
+pub const PIPE_FORMAT_R11G11B10_FLOAT: pipe_format = 124;
+pub const PIPE_FORMAT_R9G9B9E5_FLOAT: pipe_format = 125;
+pub const PIPE_FORMAT_Z32_FLOAT_S8X24_UINT: pipe_format = 126;
+pub const PIPE_FORMAT_R1_UNORM: pipe_format = 127;
+pub const PIPE_FORMAT_R10G10B10X2_USCALED: pipe_format = 128;
+pub const PIPE_FORMAT_R10G10B10X2_SNORM: pipe_format = 129;
+pub const PIPE_FORMAT_L4A4_UNORM: pipe_format = 130;
+pub const PIPE_FORMAT_B10G10R10A2_UNORM: pipe_format = 131;
+pub const PIPE_FORMAT_R10SG10SB10SA2U_NORM: pipe_format = 132;
+pub const PIPE_FORMAT_R8G8Bx_SNORM: pipe_format = 133;
+pub const PIPE_FORMAT_R8G8B8X8_UNORM: pipe_format = 134;
+pub const PIPE_FORMAT_B4G4R4X4_UNORM: pipe_format = 135;
+pub const PIPE_FORMAT_X24S8_UINT: pipe_format = 136;
+pub const PIPE_FORMAT_S8X24_UINT: pipe_format = 137;
+pub const PIPE_FORMAT_X32_S8X24_UINT: pipe_format = 138;
+pub const PIPE_FORMAT_B2G3R3_UNORM: pipe_format = 139;
+pub const PIPE_FORMAT_L16A16_UNORM: pipe_format = 140;
+pub const PIPE_FORMAT_A16_UNORM: pipe_format = 141;
+pub const PIPE_FORMAT_I16_UNORM: pipe_format = 142;
+pub const PIPE_FORMAT_LATC1_UNORM: pipe_format = 143;
+pub const PIPE_FORMAT_LATC1_SNORM: pipe_format = 144;
+pub const PIPE_FORMAT_LATC2_UNORM: pipe_format = 145;
+pub const PIPE_FORMAT_LATC2_SNORM: pipe_format = 146;
+pub const PIPE_FORMAT_A8_SNORM: pipe_format = 147;
+pub const PIPE_FORMAT_L8_SNORM: pipe_format = 148;
+pub const PIPE_FORMAT_L8A8_SNORM: pipe_format = 149;
+pub const PIPE_FORMAT_I8_SNORM: pipe_format = 150;
+pub const PIPE_FORMAT_A16_SNORM: pipe_format = 151;
+pub const PIPE_FORMAT_L16_SNORM: pipe_format = 152;
+pub const PIPE_FORMAT_L16A16_SNORM: pipe_format = 153;
+pub const PIPE_FORMAT_I16_SNORM: pipe_format = 154;
+pub const PIPE_FORMAT_A16_FLOAT: pipe_format = 155;
+pub const PIPE_FORMAT_L16_FLOAT: pipe_format = 156;
+pub const PIPE_FORMAT_L16A16_FLOAT: pipe_format = 157;
+pub const PIPE_FORMAT_I16_FLOAT: pipe_format = 158;
+pub const PIPE_FORMAT_A32_FLOAT: pipe_format = 159;
+pub const PIPE_FORMAT_L32_FLOAT: pipe_format = 160;
+pub const PIPE_FORMAT_L32A32_FLOAT: pipe_format = 161;
+pub const PIPE_FORMAT_I32_FLOAT: pipe_format = 162;
+pub const PIPE_FORMAT_YV12: pipe_format = 163;
+pub const PIPE_FORMAT_YV16: pipe_format = 164;
+/// < aka I420
+pub const PIPE_FORMAT_IYUV: pipe_format = 165;
+pub const PIPE_FORMAT_NV12: pipe_format = 166;
+pub const PIPE_FORMAT_NV21: pipe_format = 167;
+pub const PIPE_FORMAT_A4R4_UNORM: pipe_format = 168;
+pub const PIPE_FORMAT_R4A4_UNORM: pipe_format = 169;
+pub const PIPE_FORMAT_R8A8_UNORM: pipe_format = 170;
+pub const PIPE_FORMAT_A8R8_UNORM: pipe_format = 171;
+pub const PIPE_FORMAT_R10G10B10A2_SSCALED: pipe_format = 172;
+pub const PIPE_FORMAT_R10G10B10A2_SNORM: pipe_format = 173;
+pub const PIPE_FORMAT_B10G10R10A2_USCALED: pipe_format = 174;
+pub const PIPE_FORMAT_B10G10R10A2_SSCALED: pipe_format = 175;
+pub const PIPE_FORMAT_B10G10R10A2_SNORM: pipe_format = 176;
+pub const PIPE_FORMAT_R8_UINT: pipe_format = 177;
+pub const PIPE_FORMAT_R8G8_UINT: pipe_format = 178;
+pub const PIPE_FORMAT_R8G8B8_UINT: pipe_format = 179;
+pub const PIPE_FORMAT_R8G8B8A8_UINT: pipe_format = 180;
+pub const PIPE_FORMAT_R8_SINT: pipe_format = 181;
+pub const PIPE_FORMAT_R8G8_SINT: pipe_format = 182;
+pub const PIPE_FORMAT_R8G8B8_SINT: pipe_format = 183;
+pub const PIPE_FORMAT_R8G8B8A8_SINT: pipe_format = 184;
+pub const PIPE_FORMAT_R16_UINT: pipe_format = 185;
+pub const PIPE_FORMAT_R16G16_UINT: pipe_format = 186;
+pub const PIPE_FORMAT_R16G16B16_UINT: pipe_format = 187;
+pub const PIPE_FORMAT_R16G16B16A16_UINT: pipe_format = 188;
+pub const PIPE_FORMAT_R16_SINT: pipe_format = 189;
+pub const PIPE_FORMAT_R16G16_SINT: pipe_format = 190;
+pub const PIPE_FORMAT_R16G16B16_SINT: pipe_format = 191;
+pub const PIPE_FORMAT_R16G16B16A16_SINT: pipe_format = 192;
+pub const PIPE_FORMAT_R32_UINT: pipe_format = 193;
+pub const PIPE_FORMAT_R32G32_UINT: pipe_format = 194;
+pub const PIPE_FORMAT_R32G32B32_UINT: pipe_format = 195;
+pub const PIPE_FORMAT_R32G32B32A32_UINT: pipe_format = 196;
+pub const PIPE_FORMAT_R32_SINT: pipe_format = 197;
+pub const PIPE_FORMAT_R32G32_SINT: pipe_format = 198;
+pub const PIPE_FORMAT_R32G32B32_SINT: pipe_format = 199;
+pub const PIPE_FORMAT_R32G32B32A32_SINT: pipe_format = 200;
+pub const PIPE_FORMAT_A8_UINT: pipe_format = 201;
+pub const PIPE_FORMAT_I8_UINT: pipe_format = 202;
+pub const PIPE_FORMAT_L8_UINT: pipe_format = 203;
+pub const PIPE_FORMAT_L8A8_UINT: pipe_format = 204;
+pub const PIPE_FORMAT_A8_SINT: pipe_format = 205;
+pub const PIPE_FORMAT_I8_SINT: pipe_format = 206;
+pub const PIPE_FORMAT_L8_SINT: pipe_format = 207;
+pub const PIPE_FORMAT_L8A8_SINT: pipe_format = 208;
+pub const PIPE_FORMAT_A16_UINT: pipe_format = 209;
+pub const PIPE_FORMAT_I16_UINT: pipe_format = 210;
+pub const PIPE_FORMAT_L16_UINT: pipe_format = 211;
+pub const PIPE_FORMAT_L16A16_UINT: pipe_format = 212;
+pub const PIPE_FORMAT_A16_SINT: pipe_format = 213;
+pub const PIPE_FORMAT_I16_SINT: pipe_format = 214;
+pub const PIPE_FORMAT_L16_SINT: pipe_format = 215;
+pub const PIPE_FORMAT_L16A16_SINT: pipe_format = 216;
+pub const PIPE_FORMAT_A32_UINT: pipe_format = 217;
+pub const PIPE_FORMAT_I32_UINT: pipe_format = 218;
+pub const PIPE_FORMAT_L32_UINT: pipe_format = 219;
+pub const PIPE_FORMAT_L32A32_UINT: pipe_format = 220;
+pub const PIPE_FORMAT_A32_SINT: pipe_format = 221;
+pub const PIPE_FORMAT_I32_SINT: pipe_format = 222;
+pub const PIPE_FORMAT_L32_SINT: pipe_format = 223;
+pub const PIPE_FORMAT_L32A32_SINT: pipe_format = 224;
+pub const PIPE_FORMAT_B10G10R10A2_UINT: pipe_format = 225;
+pub const PIPE_FORMAT_ETC1_RGB8: pipe_format = 226;
+pub const PIPE_FORMAT_R8G8_R8B8_UNORM: pipe_format = 227;
+pub const PIPE_FORMAT_G8R8_B8R8_UNORM: pipe_format = 228;
+pub const PIPE_FORMAT_R8G8B8X8_SNORM: pipe_format = 229;
+pub const PIPE_FORMAT_R8G8B8X8_SRGB: pipe_format = 230;
+pub const PIPE_FORMAT_R8G8B8X8_UINT: pipe_format = 231;
+pub const PIPE_FORMAT_R8G8B8X8_SINT: pipe_format = 232;
+pub const PIPE_FORMAT_B10G10R10X2_UNORM: pipe_format = 233;
+pub const PIPE_FORMAT_R16G16B16X16_UNORM: pipe_format = 234;
+pub const PIPE_FORMAT_R16G16B16X16_SNORM: pipe_format = 235;
+pub const PIPE_FORMAT_R16G16B16X16_FLOAT: pipe_format = 236;
+pub const PIPE_FORMAT_R16G16B16X16_UINT: pipe_format = 237;
+pub const PIPE_FORMAT_R16G16B16X16_SINT: pipe_format = 238;
+pub const PIPE_FORMAT_R32G32B32X32_FLOAT: pipe_format = 239;
+pub const PIPE_FORMAT_R32G32B32X32_UINT: pipe_format = 240;
+pub const PIPE_FORMAT_R32G32B32X32_SINT: pipe_format = 241;
+pub const PIPE_FORMAT_R8A8_SNORM: pipe_format = 242;
+pub const PIPE_FORMAT_R16A16_UNORM: pipe_format = 243;
+pub const PIPE_FORMAT_R16A16_SNORM: pipe_format = 244;
+pub const PIPE_FORMAT_R16A16_FLOAT: pipe_format = 245;
+pub const PIPE_FORMAT_R32A32_FLOAT: pipe_format = 246;
+pub const PIPE_FORMAT_R8A8_UINT: pipe_format = 247;
+pub const PIPE_FORMAT_R8A8_SINT: pipe_format = 248;
+pub const PIPE_FORMAT_R16A16_UINT: pipe_format = 249;
+pub const PIPE_FORMAT_R16A16_SINT: pipe_format = 250;
+pub const PIPE_FORMAT_R32A32_UINT: pipe_format = 251;
+pub const PIPE_FORMAT_R32A32_SINT: pipe_format = 252;
+pub const PIPE_FORMAT_R10G10B10A2_UINT: pipe_format = 253;
+pub const PIPE_FORMAT_B5G6R5_SRGB: pipe_format = 254;
+pub const PIPE_FORMAT_BPTC_RGBA_UNORM: pipe_format = 255;
+pub const PIPE_FORMAT_BPTC_SRGBA: pipe_format = 256;
+pub const PIPE_FORMAT_BPTC_RGB_FLOAT: pipe_format = 257;
+pub const PIPE_FORMAT_BPTC_RGB_UFLOAT: pipe_format = 258;
+pub const PIPE_FORMAT_A8L8_UNORM: pipe_format = 259;
+pub const PIPE_FORMAT_A8L8_SNORM: pipe_format = 260;
+pub const PIPE_FORMAT_A8L8_SRGB: pipe_format = 261;
+pub const PIPE_FORMAT_A16L16_UNORM: pipe_format = 262;
+pub const PIPE_FORMAT_G8R8_UNORM: pipe_format = 263;
+pub const PIPE_FORMAT_G8R8_SNORM: pipe_format = 264;
+pub const PIPE_FORMAT_G16R16_UNORM: pipe_format = 265;
+pub const PIPE_FORMAT_G16R16_SNORM: pipe_format = 266;
+pub const PIPE_FORMAT_A8B8G8R8_SNORM: pipe_format = 267;
+pub const PIPE_FORMAT_X8B8G8R8_SNORM: pipe_format = 268;
+pub const PIPE_FORMAT_COUNT: pipe_format = 269;
+/// Formats for textures, surfaces and vertex data
+pub type pipe_format = u32;
diff --git a/gpu_renderer/src/generated/virgl_protocol.rs b/gpu_renderer/src/generated/virgl_protocol.rs
new file mode 100644
index 0000000..90565cc
--- /dev/null
+++ b/gpu_renderer/src/generated/virgl_protocol.rs
@@ -0,0 +1,239 @@
+/* automatically generated by rust-bindgen */
+
+pub const VIRGL_QUERY_STATE_NEW: u32 = 0;
+pub const VIRGL_QUERY_STATE_DONE: u32 = 1;
+pub const VIRGL_QUERY_STATE_WAIT_HOST: u32 = 2;
+pub const VIRGL_MAX_COLOR_BUFS: u32 = 8;
+pub const VIRGL_MAX_CLIP_PLANES: u32 = 8;
+pub const VIRGL_OBJ_CREATE_HEADER: u32 = 0;
+pub const VIRGL_OBJ_CREATE_HANDLE: u32 = 1;
+pub const VIRGL_OBJ_BIND_HEADER: u32 = 0;
+pub const VIRGL_OBJ_BIND_HANDLE: u32 = 1;
+pub const VIRGL_OBJ_DESTROY_HANDLE: u32 = 1;
+pub const VIRGL_OBJ_BLEND_SIZE: u32 = 11;
+pub const VIRGL_OBJ_BLEND_HANDLE: u32 = 1;
+pub const VIRGL_OBJ_BLEND_S0: u32 = 2;
+pub const VIRGL_OBJ_BLEND_S1: u32 = 3;
+pub const VIRGL_OBJ_DSA_SIZE: u32 = 5;
+pub const VIRGL_OBJ_DSA_HANDLE: u32 = 1;
+pub const VIRGL_OBJ_DSA_S0: u32 = 2;
+pub const VIRGL_OBJ_DSA_S1: u32 = 3;
+pub const VIRGL_OBJ_DSA_S2: u32 = 4;
+pub const VIRGL_OBJ_DSA_ALPHA_REF: u32 = 5;
+pub const VIRGL_OBJ_RS_SIZE: u32 = 9;
+pub const VIRGL_OBJ_RS_HANDLE: u32 = 1;
+pub const VIRGL_OBJ_RS_S0: u32 = 2;
+pub const VIRGL_OBJ_RS_POINT_SIZE: u32 = 3;
+pub const VIRGL_OBJ_RS_SPRITE_COORD_ENABLE: u32 = 4;
+pub const VIRGL_OBJ_RS_S3: u32 = 5;
+pub const VIRGL_OBJ_RS_LINE_WIDTH: u32 = 6;
+pub const VIRGL_OBJ_RS_OFFSET_UNITS: u32 = 7;
+pub const VIRGL_OBJ_RS_OFFSET_SCALE: u32 = 8;
+pub const VIRGL_OBJ_RS_OFFSET_CLAMP: u32 = 9;
+pub const VIRGL_OBJ_CLEAR_SIZE: u32 = 8;
+pub const VIRGL_OBJ_CLEAR_BUFFERS: u32 = 1;
+pub const VIRGL_OBJ_CLEAR_COLOR_0: u32 = 2;
+pub const VIRGL_OBJ_CLEAR_COLOR_1: u32 = 3;
+pub const VIRGL_OBJ_CLEAR_COLOR_2: u32 = 4;
+pub const VIRGL_OBJ_CLEAR_COLOR_3: u32 = 5;
+pub const VIRGL_OBJ_CLEAR_DEPTH_0: u32 = 6;
+pub const VIRGL_OBJ_CLEAR_DEPTH_1: u32 = 7;
+pub const VIRGL_OBJ_CLEAR_STENCIL: u32 = 8;
+pub const VIRGL_OBJ_SHADER_HANDLE: u32 = 1;
+pub const VIRGL_OBJ_SHADER_TYPE: u32 = 2;
+pub const VIRGL_OBJ_SHADER_OFFSET: u32 = 3;
+pub const VIRGL_OBJ_SHADER_OFFSET_CONT: u32 = 2147483648;
+pub const VIRGL_OBJ_SHADER_NUM_TOKENS: u32 = 4;
+pub const VIRGL_OBJ_SHADER_SO_NUM_OUTPUTS: u32 = 5;
+pub const VIRGL_SET_VIEWPORT_START_SLOT: u32 = 1;
+pub const VIRGL_SET_FRAMEBUFFER_STATE_NR_CBUFS: u32 = 1;
+pub const VIRGL_SET_FRAMEBUFFER_STATE_NR_ZSURF_HANDLE: u32 = 2;
+pub const VIRGL_OBJ_VERTEX_ELEMENTS_HANDLE: u32 = 1;
+pub const VIRGL_SET_INDEX_BUFFER_HANDLE: u32 = 1;
+pub const VIRGL_SET_INDEX_BUFFER_INDEX_SIZE: u32 = 2;
+pub const VIRGL_SET_INDEX_BUFFER_OFFSET: u32 = 3;
+pub const VIRGL_SET_CONSTANT_BUFFER_SHADER_TYPE: u32 = 1;
+pub const VIRGL_SET_CONSTANT_BUFFER_INDEX: u32 = 2;
+pub const VIRGL_SET_CONSTANT_BUFFER_DATA_START: u32 = 3;
+pub const VIRGL_SET_UNIFORM_BUFFER_SIZE: u32 = 5;
+pub const VIRGL_SET_UNIFORM_BUFFER_SHADER_TYPE: u32 = 1;
+pub const VIRGL_SET_UNIFORM_BUFFER_INDEX: u32 = 2;
+pub const VIRGL_SET_UNIFORM_BUFFER_OFFSET: u32 = 3;
+pub const VIRGL_SET_UNIFORM_BUFFER_LENGTH: u32 = 4;
+pub const VIRGL_SET_UNIFORM_BUFFER_RES_HANDLE: u32 = 5;
+pub const VIRGL_DRAW_VBO_SIZE: u32 = 12;
+pub const VIRGL_DRAW_VBO_START: u32 = 1;
+pub const VIRGL_DRAW_VBO_COUNT: u32 = 2;
+pub const VIRGL_DRAW_VBO_MODE: u32 = 3;
+pub const VIRGL_DRAW_VBO_INDEXED: u32 = 4;
+pub const VIRGL_DRAW_VBO_INSTANCE_COUNT: u32 = 5;
+pub const VIRGL_DRAW_VBO_INDEX_BIAS: u32 = 6;
+pub const VIRGL_DRAW_VBO_START_INSTANCE: u32 = 7;
+pub const VIRGL_DRAW_VBO_PRIMITIVE_RESTART: u32 = 8;
+pub const VIRGL_DRAW_VBO_RESTART_INDEX: u32 = 9;
+pub const VIRGL_DRAW_VBO_MIN_INDEX: u32 = 10;
+pub const VIRGL_DRAW_VBO_MAX_INDEX: u32 = 11;
+pub const VIRGL_DRAW_VBO_COUNT_FROM_SO: u32 = 12;
+pub const VIRGL_OBJ_SURFACE_SIZE: u32 = 5;
+pub const VIRGL_OBJ_SURFACE_HANDLE: u32 = 1;
+pub const VIRGL_OBJ_SURFACE_RES_HANDLE: u32 = 2;
+pub const VIRGL_OBJ_SURFACE_FORMAT: u32 = 3;
+pub const VIRGL_OBJ_SURFACE_BUFFER_FIRST_ELEMENT: u32 = 4;
+pub const VIRGL_OBJ_SURFACE_BUFFER_LAST_ELEMENT: u32 = 5;
+pub const VIRGL_OBJ_SURFACE_TEXTURE_LEVEL: u32 = 4;
+pub const VIRGL_OBJ_SURFACE_TEXTURE_LAYERS: u32 = 5;
+pub const VIRGL_OBJ_STREAMOUT_SIZE: u32 = 4;
+pub const VIRGL_OBJ_STREAMOUT_HANDLE: u32 = 1;
+pub const VIRGL_OBJ_STREAMOUT_RES_HANDLE: u32 = 2;
+pub const VIRGL_OBJ_STREAMOUT_BUFFER_OFFSET: u32 = 3;
+pub const VIRGL_OBJ_STREAMOUT_BUFFER_SIZE: u32 = 4;
+pub const VIRGL_OBJ_SAMPLER_STATE_SIZE: u32 = 9;
+pub const VIRGL_OBJ_SAMPLER_STATE_HANDLE: u32 = 1;
+pub const VIRGL_OBJ_SAMPLER_STATE_S0: u32 = 2;
+pub const VIRGL_OBJ_SAMPLER_STATE_LOD_BIAS: u32 = 3;
+pub const VIRGL_OBJ_SAMPLER_STATE_MIN_LOD: u32 = 4;
+pub const VIRGL_OBJ_SAMPLER_STATE_MAX_LOD: u32 = 5;
+pub const VIRGL_OBJ_SAMPLER_VIEW_SIZE: u32 = 6;
+pub const VIRGL_OBJ_SAMPLER_VIEW_HANDLE: u32 = 1;
+pub const VIRGL_OBJ_SAMPLER_VIEW_RES_HANDLE: u32 = 2;
+pub const VIRGL_OBJ_SAMPLER_VIEW_FORMAT: u32 = 3;
+pub const VIRGL_OBJ_SAMPLER_VIEW_BUFFER_FIRST_ELEMENT: u32 = 4;
+pub const VIRGL_OBJ_SAMPLER_VIEW_BUFFER_LAST_ELEMENT: u32 = 5;
+pub const VIRGL_OBJ_SAMPLER_VIEW_TEXTURE_LAYER: u32 = 4;
+pub const VIRGL_OBJ_SAMPLER_VIEW_TEXTURE_LEVEL: u32 = 5;
+pub const VIRGL_OBJ_SAMPLER_VIEW_SWIZZLE: u32 = 6;
+pub const VIRGL_SET_SAMPLER_VIEWS_SHADER_TYPE: u32 = 1;
+pub const VIRGL_SET_SAMPLER_VIEWS_START_SLOT: u32 = 2;
+pub const VIRGL_SET_SAMPLER_VIEWS_V0_HANDLE: u32 = 3;
+pub const VIRGL_BIND_SAMPLER_STATES_SHADER_TYPE: u32 = 1;
+pub const VIRGL_BIND_SAMPLER_STATES_START_SLOT: u32 = 2;
+pub const VIRGL_BIND_SAMPLER_STATES_S0_HANDLE: u32 = 3;
+pub const VIRGL_SET_STENCIL_REF_SIZE: u32 = 1;
+pub const VIRGL_SET_STENCIL_REF: u32 = 1;
+pub const VIRGL_SET_BLEND_COLOR_SIZE: u32 = 4;
+pub const VIRGL_SET_SCISSOR_START_SLOT: u32 = 1;
+pub const VIRGL_CMD_RESOURCE_COPY_REGION_SIZE: u32 = 13;
+pub const VIRGL_CMD_RCR_DST_RES_HANDLE: u32 = 1;
+pub const VIRGL_CMD_RCR_DST_LEVEL: u32 = 2;
+pub const VIRGL_CMD_RCR_DST_X: u32 = 3;
+pub const VIRGL_CMD_RCR_DST_Y: u32 = 4;
+pub const VIRGL_CMD_RCR_DST_Z: u32 = 5;
+pub const VIRGL_CMD_RCR_SRC_RES_HANDLE: u32 = 6;
+pub const VIRGL_CMD_RCR_SRC_LEVEL: u32 = 7;
+pub const VIRGL_CMD_RCR_SRC_X: u32 = 8;
+pub const VIRGL_CMD_RCR_SRC_Y: u32 = 9;
+pub const VIRGL_CMD_RCR_SRC_Z: u32 = 10;
+pub const VIRGL_CMD_RCR_SRC_W: u32 = 11;
+pub const VIRGL_CMD_RCR_SRC_H: u32 = 12;
+pub const VIRGL_CMD_RCR_SRC_D: u32 = 13;
+pub const VIRGL_CMD_BLIT_SIZE: u32 = 21;
+pub const VIRGL_CMD_BLIT_S0: u32 = 1;
+pub const VIRGL_CMD_BLIT_SCISSOR_MINX_MINY: u32 = 2;
+pub const VIRGL_CMD_BLIT_SCISSOR_MAXX_MAXY: u32 = 3;
+pub const VIRGL_CMD_BLIT_DST_RES_HANDLE: u32 = 4;
+pub const VIRGL_CMD_BLIT_DST_LEVEL: u32 = 5;
+pub const VIRGL_CMD_BLIT_DST_FORMAT: u32 = 6;
+pub const VIRGL_CMD_BLIT_DST_X: u32 = 7;
+pub const VIRGL_CMD_BLIT_DST_Y: u32 = 8;
+pub const VIRGL_CMD_BLIT_DST_Z: u32 = 9;
+pub const VIRGL_CMD_BLIT_DST_W: u32 = 10;
+pub const VIRGL_CMD_BLIT_DST_H: u32 = 11;
+pub const VIRGL_CMD_BLIT_DST_D: u32 = 12;
+pub const VIRGL_CMD_BLIT_SRC_RES_HANDLE: u32 = 13;
+pub const VIRGL_CMD_BLIT_SRC_LEVEL: u32 = 14;
+pub const VIRGL_CMD_BLIT_SRC_FORMAT: u32 = 15;
+pub const VIRGL_CMD_BLIT_SRC_X: u32 = 16;
+pub const VIRGL_CMD_BLIT_SRC_Y: u32 = 17;
+pub const VIRGL_CMD_BLIT_SRC_Z: u32 = 18;
+pub const VIRGL_CMD_BLIT_SRC_W: u32 = 19;
+pub const VIRGL_CMD_BLIT_SRC_H: u32 = 20;
+pub const VIRGL_CMD_BLIT_SRC_D: u32 = 21;
+pub const VIRGL_OBJ_QUERY_SIZE: u32 = 4;
+pub const VIRGL_OBJ_QUERY_HANDLE: u32 = 1;
+pub const VIRGL_OBJ_QUERY_TYPE_INDEX: u32 = 2;
+pub const VIRGL_OBJ_QUERY_OFFSET: u32 = 3;
+pub const VIRGL_OBJ_QUERY_RES_HANDLE: u32 = 4;
+pub const VIRGL_QUERY_BEGIN_HANDLE: u32 = 1;
+pub const VIRGL_QUERY_END_HANDLE: u32 = 1;
+pub const VIRGL_QUERY_RESULT_HANDLE: u32 = 1;
+pub const VIRGL_QUERY_RESULT_WAIT: u32 = 2;
+pub const VIRGL_RENDER_CONDITION_SIZE: u32 = 3;
+pub const VIRGL_RENDER_CONDITION_HANDLE: u32 = 1;
+pub const VIRGL_RENDER_CONDITION_CONDITION: u32 = 2;
+pub const VIRGL_RENDER_CONDITION_MODE: u32 = 3;
+pub const VIRGL_RESOURCE_IW_RES_HANDLE: u32 = 1;
+pub const VIRGL_RESOURCE_IW_LEVEL: u32 = 2;
+pub const VIRGL_RESOURCE_IW_USAGE: u32 = 3;
+pub const VIRGL_RESOURCE_IW_STRIDE: u32 = 4;
+pub const VIRGL_RESOURCE_IW_LAYER_STRIDE: u32 = 5;
+pub const VIRGL_RESOURCE_IW_X: u32 = 6;
+pub const VIRGL_RESOURCE_IW_Y: u32 = 7;
+pub const VIRGL_RESOURCE_IW_Z: u32 = 8;
+pub const VIRGL_RESOURCE_IW_W: u32 = 9;
+pub const VIRGL_RESOURCE_IW_H: u32 = 10;
+pub const VIRGL_RESOURCE_IW_D: u32 = 11;
+pub const VIRGL_RESOURCE_IW_DATA_START: u32 = 12;
+pub const VIRGL_SET_STREAMOUT_TARGETS_APPEND_BITMASK: u32 = 1;
+pub const VIRGL_SET_STREAMOUT_TARGETS_H0: u32 = 2;
+pub const VIRGL_SET_SAMPLE_MASK_SIZE: u32 = 1;
+pub const VIRGL_SET_SAMPLE_MASK_MASK: u32 = 1;
+pub const VIRGL_SET_CLIP_STATE_SIZE: u32 = 32;
+pub const VIRGL_SET_CLIP_STATE_C0: u32 = 1;
+pub const VIRGL_POLYGON_STIPPLE_SIZE: u32 = 32;
+pub const VIRGL_POLYGON_STIPPLE_P0: u32 = 1;
+pub const VIRGL_BIND_SHADER_SIZE: u32 = 2;
+pub const VIRGL_BIND_SHADER_HANDLE: u32 = 1;
+pub const VIRGL_BIND_SHADER_TYPE: u32 = 2;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct virgl_host_query_state {
+    pub query_state: u32,
+    pub result_size: u32,
+    pub result: u64,
+}
+pub const VIRGL_OBJECT_NULL: virgl_object_type = 0;
+pub const VIRGL_OBJECT_BLEND: virgl_object_type = 1;
+pub const VIRGL_OBJECT_RASTERIZER: virgl_object_type = 2;
+pub const VIRGL_OBJECT_DSA: virgl_object_type = 3;
+pub const VIRGL_OBJECT_SHADER: virgl_object_type = 4;
+pub const VIRGL_OBJECT_VERTEX_ELEMENTS: virgl_object_type = 5;
+pub const VIRGL_OBJECT_SAMPLER_VIEW: virgl_object_type = 6;
+pub const VIRGL_OBJECT_SAMPLER_STATE: virgl_object_type = 7;
+pub const VIRGL_OBJECT_SURFACE: virgl_object_type = 8;
+pub const VIRGL_OBJECT_QUERY: virgl_object_type = 9;
+pub const VIRGL_OBJECT_STREAMOUT_TARGET: virgl_object_type = 10;
+pub const VIRGL_MAX_OBJECTS: virgl_object_type = 11;
+pub type virgl_object_type = u32;
+pub const VIRGL_CCMD_NOP: virgl_context_cmd = 0;
+pub const VIRGL_CCMD_CREATE_OBJECT: virgl_context_cmd = 1;
+pub const VIRGL_CCMD_BIND_OBJECT: virgl_context_cmd = 2;
+pub const VIRGL_CCMD_DESTROY_OBJECT: virgl_context_cmd = 3;
+pub const VIRGL_CCMD_SET_VIEWPORT_STATE: virgl_context_cmd = 4;
+pub const VIRGL_CCMD_SET_FRAMEBUFFER_STATE: virgl_context_cmd = 5;
+pub const VIRGL_CCMD_SET_VERTEX_BUFFERS: virgl_context_cmd = 6;
+pub const VIRGL_CCMD_CLEAR: virgl_context_cmd = 7;
+pub const VIRGL_CCMD_DRAW_VBO: virgl_context_cmd = 8;
+pub const VIRGL_CCMD_RESOURCE_INLINE_WRITE: virgl_context_cmd = 9;
+pub const VIRGL_CCMD_SET_SAMPLER_VIEWS: virgl_context_cmd = 10;
+pub const VIRGL_CCMD_SET_INDEX_BUFFER: virgl_context_cmd = 11;
+pub const VIRGL_CCMD_SET_CONSTANT_BUFFER: virgl_context_cmd = 12;
+pub const VIRGL_CCMD_SET_STENCIL_REF: virgl_context_cmd = 13;
+pub const VIRGL_CCMD_SET_BLEND_COLOR: virgl_context_cmd = 14;
+pub const VIRGL_CCMD_SET_SCISSOR_STATE: virgl_context_cmd = 15;
+pub const VIRGL_CCMD_BLIT: virgl_context_cmd = 16;
+pub const VIRGL_CCMD_RESOURCE_COPY_REGION: virgl_context_cmd = 17;
+pub const VIRGL_CCMD_BIND_SAMPLER_STATES: virgl_context_cmd = 18;
+pub const VIRGL_CCMD_BEGIN_QUERY: virgl_context_cmd = 19;
+pub const VIRGL_CCMD_END_QUERY: virgl_context_cmd = 20;
+pub const VIRGL_CCMD_GET_QUERY_RESULT: virgl_context_cmd = 21;
+pub const VIRGL_CCMD_SET_POLYGON_STIPPLE: virgl_context_cmd = 22;
+pub const VIRGL_CCMD_SET_CLIP_STATE: virgl_context_cmd = 23;
+pub const VIRGL_CCMD_SET_SAMPLE_MASK: virgl_context_cmd = 24;
+pub const VIRGL_CCMD_SET_STREAMOUT_TARGETS: virgl_context_cmd = 25;
+pub const VIRGL_CCMD_SET_RENDER_CONDITION: virgl_context_cmd = 26;
+pub const VIRGL_CCMD_SET_UNIFORM_BUFFER: virgl_context_cmd = 27;
+pub const VIRGL_CCMD_SET_SUB_CTX: virgl_context_cmd = 28;
+pub const VIRGL_CCMD_CREATE_SUB_CTX: virgl_context_cmd = 29;
+pub const VIRGL_CCMD_DESTROY_SUB_CTX: virgl_context_cmd = 30;
+pub const VIRGL_CCMD_BIND_SHADER: virgl_context_cmd = 31;
+pub type virgl_context_cmd = u32;
diff --git a/gpu_renderer/src/generated/virglrenderer.rs b/gpu_renderer/src/generated/virglrenderer.rs
new file mode 100644
index 0000000..02e542a
--- /dev/null
+++ b/gpu_renderer/src/generated/virglrenderer.rs
@@ -0,0 +1,221 @@
+/* automatically generated by rust-bindgen */
+
+#[link(name = "virglrenderer")]
+extern "C" {}
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct virgl_box {
+    _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct iovec {
+    _unused: [u8; 0],
+}
+pub type virgl_renderer_gl_context = *mut ::std::os::raw::c_void;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct virgl_renderer_gl_ctx_param {
+    pub version: ::std::os::raw::c_int,
+    pub shared: bool,
+    pub major_ver: ::std::os::raw::c_int,
+    pub minor_ver: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct virgl_renderer_callbacks {
+    pub version: ::std::os::raw::c_int,
+    pub write_fence: ::std::option::Option<
+        unsafe extern "C" fn(cookie: *mut ::std::os::raw::c_void, fence: u32),
+    >,
+    pub create_gl_context: ::std::option::Option<
+        unsafe extern "C" fn(
+            cookie: *mut ::std::os::raw::c_void,
+            scanout_idx: ::std::os::raw::c_int,
+            param: *mut virgl_renderer_gl_ctx_param,
+        ) -> virgl_renderer_gl_context,
+    >,
+    pub destroy_gl_context: ::std::option::Option<
+        unsafe extern "C" fn(cookie: *mut ::std::os::raw::c_void, ctx: virgl_renderer_gl_context),
+    >,
+    pub make_current: ::std::option::Option<
+        unsafe extern "C" fn(
+            cookie: *mut ::std::os::raw::c_void,
+            scanout_idx: ::std::os::raw::c_int,
+            ctx: virgl_renderer_gl_context,
+        ) -> ::std::os::raw::c_int,
+    >,
+}
+extern "C" {
+    pub fn virgl_renderer_init(
+        cookie: *mut ::std::os::raw::c_void,
+        flags: ::std::os::raw::c_int,
+        cb: *mut virgl_renderer_callbacks,
+    ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn virgl_renderer_poll();
+}
+extern "C" {
+    pub fn virgl_renderer_get_cursor_data(
+        resource_id: u32,
+        width: *mut u32,
+        height: *mut u32,
+    ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+    pub fn virgl_renderer_get_rect(
+        resource_id: ::std::os::raw::c_int,
+        iov: *mut iovec,
+        num_iovs: ::std::os::raw::c_uint,
+        offset: u32,
+        x: ::std::os::raw::c_int,
+        y: ::std::os::raw::c_int,
+        width: ::std::os::raw::c_int,
+        height: ::std::os::raw::c_int,
+    );
+}
+extern "C" {
+    pub fn virgl_renderer_get_fd_for_texture(
+        tex_id: u32,
+        fd: *mut ::std::os::raw::c_int,
+    ) -> ::std::os::raw::c_int;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct virgl_renderer_resource_create_args {
+    pub handle: u32,
+    pub target: u32,
+    pub format: u32,
+    pub bind: u32,
+    pub width: u32,
+    pub height: u32,
+    pub depth: u32,
+    pub array_size: u32,
+    pub last_level: u32,
+    pub nr_samples: u32,
+    pub flags: u32,
+}
+extern "C" {
+    pub fn virgl_renderer_resource_create(
+        args: *mut virgl_renderer_resource_create_args,
+        iov: *mut iovec,
+        num_iovs: u32,
+    ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn virgl_renderer_resource_unref(res_handle: u32);
+}
+extern "C" {
+    pub fn virgl_renderer_context_create(
+        handle: u32,
+        nlen: u32,
+        name: *const ::std::os::raw::c_char,
+    ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn virgl_renderer_context_destroy(handle: u32);
+}
+extern "C" {
+    pub fn virgl_renderer_submit_cmd(
+        buffer: *mut ::std::os::raw::c_void,
+        ctx_id: ::std::os::raw::c_int,
+        ndw: ::std::os::raw::c_int,
+    ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn virgl_renderer_transfer_read_iov(
+        handle: u32,
+        ctx_id: u32,
+        level: u32,
+        stride: u32,
+        layer_stride: u32,
+        box_: *mut virgl_box,
+        offset: u64,
+        iov: *mut iovec,
+        iovec_cnt: ::std::os::raw::c_int,
+    ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn virgl_renderer_transfer_write_iov(
+        handle: u32,
+        ctx_id: u32,
+        level: ::std::os::raw::c_int,
+        stride: u32,
+        layer_stride: u32,
+        box_: *mut virgl_box,
+        offset: u64,
+        iovec: *mut iovec,
+        iovec_cnt: ::std::os::raw::c_uint,
+    ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn virgl_renderer_get_cap_set(set: u32, max_ver: *mut u32, max_size: *mut u32);
+}
+extern "C" {
+    pub fn virgl_renderer_fill_caps(set: u32, version: u32, caps: *mut ::std::os::raw::c_void);
+}
+extern "C" {
+    pub fn virgl_renderer_resource_attach_iov(
+        res_handle: ::std::os::raw::c_int,
+        iov: *mut iovec,
+        num_iovs: ::std::os::raw::c_int,
+    ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn virgl_renderer_resource_detach_iov(
+        res_handle: ::std::os::raw::c_int,
+        iov: *mut *mut iovec,
+        num_iovs: *mut ::std::os::raw::c_int,
+    );
+}
+extern "C" {
+    pub fn virgl_renderer_create_fence(
+        client_fence_id: ::std::os::raw::c_int,
+        ctx_id: u32,
+    ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn virgl_renderer_force_ctx_0();
+}
+extern "C" {
+    pub fn virgl_renderer_ctx_attach_resource(
+        ctx_id: ::std::os::raw::c_int,
+        res_handle: ::std::os::raw::c_int,
+    );
+}
+extern "C" {
+    pub fn virgl_renderer_ctx_detach_resource(
+        ctx_id: ::std::os::raw::c_int,
+        res_handle: ::std::os::raw::c_int,
+    );
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct virgl_renderer_resource_info {
+    pub handle: u32,
+    pub virgl_format: u32,
+    pub width: u32,
+    pub height: u32,
+    pub depth: u32,
+    pub flags: u32,
+    pub tex_id: u32,
+    pub stride: u32,
+    pub drm_fourcc: ::std::os::raw::c_int,
+}
+extern "C" {
+    pub fn virgl_renderer_resource_get_info(
+        res_handle: ::std::os::raw::c_int,
+        info: *mut virgl_renderer_resource_info,
+    ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn virgl_renderer_cleanup(cookie: *mut ::std::os::raw::c_void);
+}
+extern "C" {
+    pub fn virgl_renderer_reset();
+}
+extern "C" {
+    pub fn virgl_renderer_get_poll_fd() -> ::std::os::raw::c_int;
+}
diff --git a/gpu_renderer/src/lib.rs b/gpu_renderer/src/lib.rs
new file mode 100644
index 0000000..b6f1383
--- /dev/null
+++ b/gpu_renderer/src/lib.rs
@@ -0,0 +1,880 @@
+// Copyright 2018 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+//! A crate for using hardware acceleration to render virtio-gpu's virgl command streams.
+
+extern crate data_model;
+extern crate libc;
+extern crate sys_util;
+
+mod generated;
+mod pipe_format_fourcc;
+mod command_buffer;
+
+use std::ffi::CStr;
+use std::fmt;
+use std::fs::File;
+use std::marker::PhantomData;
+use std::mem::{size_of, transmute, uninitialized};
+use std::ops::Deref;
+use std::os::raw::{c_void, c_int, c_uint, c_char};
+use std::os::unix::io::FromRawFd;
+use std::ptr::{null, null_mut};
+use std::rc::Rc;
+use std::result;
+use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
+
+use data_model::{VolatileMemory, VolatileSlice};
+use sys_util::{GuestAddress, GuestMemory};
+
+use generated::virglrenderer::*;
+pub use generated::virglrenderer::{virgl_renderer_resource_create_args,
+                                   virgl_renderer_resource_info};
+use generated::epoxy_egl::{EGL_CONTEXT_CLIENT_VERSION, EGL_SURFACE_TYPE, EGL_OPENGL_ES_API,
+                           EGL_NONE, EGL_GL_TEXTURE_2D_KHR, EGLDEBUGPROCKHR, EGLAttrib,
+                           EGLuint64KHR, EGLNativeDisplayType, EGLConfig, EGLContext, EGLDisplay,
+                           EGLSurface, EGLClientBuffer, EGLBoolean, EGLint, EGLenum, EGLImageKHR};
+use generated::p_defines::{PIPE_TEXTURE_1D, PIPE_TEXTURE_2D, PIPE_BIND_SAMPLER_VIEW};
+use generated::p_format::PIPE_FORMAT_B8G8R8X8_UNORM;
+pub use pipe_format_fourcc::pipe_format_fourcc as format_fourcc;
+pub use command_buffer::CommandBufferBuilder;
+
+/// Arguments used in `Renderer::create_resource`..
+pub type ResourceCreateArgs = virgl_renderer_resource_create_args;
+/// Information returned from `Resource::get_info`.
+pub type ResourceInfo = virgl_renderer_resource_info;
+
+/// An error generated while using this crate.
+#[derive(Debug)]
+pub enum Error {
+    /// Inidcates `Renderer` was already initialized, and only one renderer per process is allowed.
+    AlreadyInitialized,
+    /// Indicates libeopoxy was unable to load the EGL function with the given name.
+    MissingEGLFunction(&'static str),
+    /// A call to eglGetDisplay indicated failure.
+    EGLGetDisplay,
+    /// A call to eglInitialize indicated failure.
+    EGLInitialize,
+    /// A call to eglChooseConfig indicated failure.
+    EGLChooseConfig,
+    /// A call to eglBindAPI indicated failure.
+    EGLBindAPI,
+    /// A call to eglCreateContext indicated failure.
+    EGLCreateContext,
+    /// A call to eglMakeCurrent indicated failure.
+    EGLMakeCurrent,
+    /// An internal virglrenderer error was returned.
+    Virglrenderer(i32),
+    /// An EGLIMageKHR could not be created, indicating a EGL driver error.
+    CreateImage,
+    /// The EGL driver failed to export an EGLImageKHR as a dmabuf.
+    ExportedResourceDmabuf,
+    /// The indicated region of guest memory is invalid.
+    InvalidIovec,
+    /// A command size was submitted that was invalid.
+    InvalidCommandSize(usize),
+}
+
+impl fmt::Display for Error {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        use Error::*;
+        match *self {
+            AlreadyInitialized => write!(f, "global gpu renderer was already initailized"),
+            MissingEGLFunction(name) => write!(f, "egl function `{}` was missing", name),
+            EGLGetDisplay => write!(f, "call to eglGetDisplay failed"),
+            EGLInitialize => write!(f, "call to eglInitialize failed"),
+            EGLChooseConfig => write!(f, "call to eglChooseConfig failed"),
+            EGLBindAPI => write!(f, "call to eglBindAPI failed"),
+            EGLCreateContext => write!(f, "call to eglCreateContext failed"),
+            EGLMakeCurrent => write!(f, "call to eglMakeCurrent failed"),
+            Virglrenderer(ret) => write!(f, "virglrenderer failed with error {}", ret),
+            CreateImage => write!(f, "failed to create EGLImage"),
+            ExportedResourceDmabuf => write!(f, "failed to export dmabuf from EGLImageKHR"),
+            InvalidIovec => write!(f, "an iovec is outside of guest memory's range"),
+            InvalidCommandSize(s) => write!(f, "command buffer submitted with invalid size: {}", s),
+        }
+    }
+}
+
+/// The result of an operation in this crate.
+pub type Result<T> = result::Result<T, Error>;
+
+fn ret_to_res(ret: i32) -> Result<()> {
+    match ret {
+        0 => Ok(()),
+        _ => Err(Error::Virglrenderer(ret)),
+    }
+}
+
+#[derive(Debug)]
+#[repr(C)]
+struct VirglVec {
+    base: *mut c_void,
+    len: usize,
+}
+
+/// An axis aligned box in 3 dimensional space.
+#[derive(Debug)]
+#[repr(C)]
+pub struct Box3 {
+    pub x: u32,
+    pub y: u32,
+    pub z: u32,
+    pub w: u32,
+    pub h: u32,
+    pub d: u32,
+}
+
+impl Box3 {
+    /// Constructs a 2 dimensional XY box in 3 dimensional space with unit depth and zero
+    /// displacement on the Z axis.
+    pub fn new_2d(x: u32, w: u32, y: u32, h: u32) -> Box3 {
+        Box3 {
+            x,
+            y,
+            z: 0,
+            w,
+            h,
+            d: 1,
+        }
+    }
+}
+
+struct VirglCookie {
+    display: EGLDisplay,
+    egl_config: EGLConfig,
+    egl_funcs: EGLFunctions,
+}
+
+unsafe extern "C" fn create_gl_context(cookie: *mut c_void,
+                                       scanout_idx: c_int,
+                                       param: *mut virgl_renderer_gl_ctx_param)
+                                       -> virgl_renderer_gl_context {
+    let _ = scanout_idx;
+    let cookie = &*(cookie as *mut VirglCookie);
+
+    let shared = if (*param).shared {
+        (cookie.egl_funcs.GetCurrentContext)()
+    } else {
+        null_mut()
+    };
+    let context_attribs = [EGL_CONTEXT_CLIENT_VERSION as i32, 3, EGL_NONE as i32];
+    (cookie.egl_funcs.CreateContext)(cookie.display,
+                                     cookie.egl_config,
+                                     shared,
+                                     context_attribs.as_ptr())
+}
+
+unsafe extern "C" fn make_current(cookie: *mut c_void,
+                                  scanout_idx: c_int,
+                                  ctx: virgl_renderer_gl_context)
+                                  -> c_int {
+    let _ = scanout_idx;
+    let cookie = &*(cookie as *mut VirglCookie);
+
+    (cookie.egl_funcs.MakeCurrent)(cookie.display, null_mut(), null_mut(), ctx) as c_int
+}
+
+unsafe extern "C" fn destroy_gl_context(cookie: *mut c_void, ctx: virgl_renderer_gl_context) {
+    let cookie = &*(cookie as *mut VirglCookie);
+    (cookie.egl_funcs.DestroyContext)(cookie.display, ctx);
+}
+
+const VIRGL_RENDERER_CALLBACKS: &virgl_renderer_callbacks =
+    &virgl_renderer_callbacks {
+         version: 1,
+         write_fence: None,
+         create_gl_context: Some(create_gl_context),
+         destroy_gl_context: Some(destroy_gl_context),
+         make_current: Some(make_current),
+     };
+
+unsafe extern "C" fn error_callback(error: c_uint,
+                                    command: *const c_char,
+                                    _: c_int,
+                                    _: *mut c_void,
+                                    _: *mut c_void,
+                                    message: *const c_char) {
+    eprint!("EGL ERROR {}: {:?}", error, CStr::from_ptr(command));
+    if !message.is_null() {
+        eprint!(": {:?}", CStr::from_ptr(message));
+    }
+    eprintln!();
+}
+
+#[allow(non_snake_case)]
+struct EGLFunctionsInner {
+    BindAPI: unsafe extern "C" fn(api: EGLenum) -> EGLBoolean,
+    ChooseConfig: unsafe extern "C" fn(dpy: EGLDisplay,
+                                       attrib_list: *const EGLint,
+                                       configs: *mut EGLConfig,
+                                       config_size: EGLint,
+                                       num_config: *mut EGLint)
+                                       -> EGLBoolean,
+    CreateContext: unsafe extern "C" fn(dpy: EGLDisplay,
+                                        config: EGLConfig,
+                                        share_context: EGLContext,
+                                        attrib_list: *const EGLint)
+                                        -> EGLContext,
+    CreateImageKHR: unsafe extern "C" fn(dpy: EGLDisplay,
+                                         ctx: EGLContext,
+                                         target: EGLenum,
+                                         buffer: EGLClientBuffer,
+                                         attrib_list: *const EGLint)
+                                         -> EGLImageKHR,
+    DebugMessageControlKHR:
+        unsafe extern "C" fn(callback: EGLDEBUGPROCKHR, attrib_list: *const EGLAttrib) -> EGLint,
+    DestroyContext: unsafe extern "C" fn(dpy: EGLDisplay, ctx: EGLContext) -> EGLBoolean,
+    DestroyImageKHR: unsafe extern "C" fn(dpy: EGLDisplay, image: EGLImageKHR) -> EGLBoolean,
+    ExportDRMImageMESA: unsafe extern "C" fn(dpy: EGLDisplay,
+                                             image: EGLImageKHR,
+                                             fds: *mut ::std::os::raw::c_int,
+                                             strides: *mut EGLint,
+                                             offsets: *mut EGLint)
+                                             -> EGLBoolean,
+    ExportDMABUFImageQueryMESA: unsafe extern "C" fn(dpy: EGLDisplay,
+                                                     image: EGLImageKHR,
+                                                     fourcc: *mut ::std::os::raw::c_int,
+                                                     num_planes: *mut ::std::os::raw::c_int,
+                                                     modifiers: *mut EGLuint64KHR)
+                                                     -> EGLBoolean,
+    GetCurrentContext: unsafe extern "C" fn() -> EGLContext,
+    GetCurrentDisplay: unsafe extern "C" fn() -> EGLDisplay,
+    GetDisplay: unsafe extern "C" fn(display_id: EGLNativeDisplayType) -> EGLDisplay,
+    Initialize:
+        unsafe extern "C" fn(dpy: EGLDisplay, major: *mut EGLint, minor: *mut EGLint) -> EGLBoolean,
+    MakeCurrent: unsafe extern "C" fn(dpy: EGLDisplay,
+                                      draw: EGLSurface,
+                                      read: EGLSurface,
+                                      ctx: EGLContext)
+                                      -> EGLBoolean,
+    no_sync_send: PhantomData<*mut ()>,
+}
+
+#[derive(Clone)]
+struct EGLFunctions(Rc<EGLFunctionsInner>);
+
+impl EGLFunctions {
+    fn new() -> Result<EGLFunctions> {
+        use generated::epoxy_egl::{epoxy_eglBindAPI, epoxy_eglChooseConfig,
+                                   epoxy_eglCreateContext, epoxy_eglCreateImageKHR,
+                                   epoxy_eglDebugMessageControlKHR, epoxy_eglDestroyContext,
+                                   epoxy_eglDestroyImageKHR, epoxy_eglExportDRMImageMESA,
+                                   epoxy_eglExportDMABUFImageQueryMESA,
+                                   epoxy_eglGetCurrentContext, epoxy_eglGetCurrentDisplay,
+                                   epoxy_eglGetDisplay, epoxy_eglInitialize, epoxy_eglMakeCurrent};
+        // This is unsafe because it is reading mutable static variables exported by epoxy. These
+        // variables are initialized during the binary's init and never modified again, so it should
+        // be safe to read them now.
+        unsafe {
+            Ok(EGLFunctions(Rc::new(EGLFunctionsInner {
+                BindAPI: epoxy_eglBindAPI.ok_or(Error::MissingEGLFunction("eglBindAPI"))?,
+                ChooseConfig: epoxy_eglChooseConfig.ok_or(Error::MissingEGLFunction("eglChooseConfig"))?,
+                CreateContext: epoxy_eglCreateContext.ok_or(Error::MissingEGLFunction("eglCreateContext"))?,
+                CreateImageKHR: epoxy_eglCreateImageKHR.ok_or(Error::MissingEGLFunction("eglCreateImageKHR"))?,
+                DebugMessageControlKHR: epoxy_eglDebugMessageControlKHR.ok_or(Error::MissingEGLFunction("eglDebugMessageControlKHR"))?,
+                DestroyContext: epoxy_eglDestroyContext.ok_or(Error::MissingEGLFunction("eglDestroyContext"))?,
+                DestroyImageKHR: epoxy_eglDestroyImageKHR.ok_or(Error::MissingEGLFunction("eglDestroyImageKHR"))?,
+                ExportDRMImageMESA: epoxy_eglExportDRMImageMESA.ok_or(Error::MissingEGLFunction("eglExportDRMImageMESA"))?,
+                ExportDMABUFImageQueryMESA: epoxy_eglExportDMABUFImageQueryMESA.ok_or(Error::MissingEGLFunction("eglExportDMABUFImageQueryMESA"))?,
+                GetCurrentContext: epoxy_eglGetCurrentContext.ok_or(Error::MissingEGLFunction("eglGetCurrentContext"))?,
+                GetCurrentDisplay: epoxy_eglGetCurrentDisplay.ok_or(Error::MissingEGLFunction("eglGetCurrentDisplay"))?,
+                GetDisplay: epoxy_eglGetDisplay.ok_or(Error::MissingEGLFunction("eglGetDisplay"))?,
+                Initialize: epoxy_eglInitialize.ok_or(Error::MissingEGLFunction("eglInitialize"))?,
+                MakeCurrent: epoxy_eglMakeCurrent.ok_or(Error::MissingEGLFunction("eglMakeCurrent"))?,
+                no_sync_send: PhantomData,
+            })))
+        }
+    }
+}
+
+impl Deref for EGLFunctions {
+    type Target = EGLFunctionsInner;
+    fn deref(&self) -> &EGLFunctionsInner {
+        self.0.deref()
+    }
+}
+
+/// The global renderer handle used to query capability sets, and create resources and contexts.
+pub struct Renderer {
+    no_sync_send: PhantomData<*mut ()>,
+    egl_funcs: EGLFunctions,
+}
+
+impl Renderer {
+    /// Initializes the renderer and returns a handle to it.
+    ///
+    /// This may only be called once per process. Calls after the first will return an error.
+    pub fn init() -> Result<Renderer> {
+        // virglrenderer is a global state backed library that uses thread bound OpenGL contexts.
+        // Initialize it only once and use the non-send/non-sync Renderer struct to keep things tied
+        // to whichever thread called this function first.
+        static INIT_ONCE: AtomicBool = ATOMIC_BOOL_INIT;
+        if INIT_ONCE.compare_and_swap(false, true, Ordering::Acquire) {
+            return Err(Error::AlreadyInitialized);
+        }
+
+        let egl_funcs = EGLFunctions::new()?;
+
+        // Safe because only valid callbacks are given and only one thread can execute this
+        // function.
+        unsafe {
+            (egl_funcs.DebugMessageControlKHR)(Some(error_callback), null());
+        }
+
+        // Trivially safe.
+        let display = unsafe { (egl_funcs.GetDisplay)(null_mut()) };
+        if display.is_null() {
+            return Err(Error::EGLGetDisplay);
+        }
+
+        // Safe because only a valid display is given.
+        let ret = unsafe { (egl_funcs.Initialize)(display, null_mut(), null_mut()) };
+        if ret == 0 {
+            return Err(Error::EGLInitialize);
+        }
+
+        let config_attribs = [EGL_SURFACE_TYPE as i32, -1, EGL_NONE as i32];
+        // Safe because these uninitialized variables get initialized by the ChooseConfig function.
+        let mut egl_config: *mut c_void = unsafe { uninitialized() };
+        let mut num_configs = unsafe { uninitialized() };
+        // Safe because only a valid, initialized display is used, along with validly sized
+        // pointers to stack variables.
+        let ret = unsafe {
+            (egl_funcs.ChooseConfig)(display,
+                                     config_attribs.as_ptr(),
+                                     &mut egl_config,
+                                     1,
+                                     &mut num_configs /* unused but can't be null */)
+        };
+        if ret == 0 {
+            return Err(Error::EGLChooseConfig);
+        }
+
+        // Cookie is intentionally never freed because virglrenderer never gets uninitialized.
+        // Otherwise, Resource and Context would become invalid because their lifetime is not tied
+        // to the Renderer instance. Doing so greatly simplifies the ownership for users of this
+        // library.
+        let cookie: *mut VirglCookie = Box::into_raw(Box::new(VirglCookie {
+                                                                  display,
+                                                                  egl_config,
+                                                                  egl_funcs: egl_funcs.clone(),
+                                                              }));
+
+        // Safe because EGL was properly initialized before here..
+        let ret = unsafe { (egl_funcs.BindAPI)(EGL_OPENGL_ES_API) };
+        if ret == 0 {
+            return Err(Error::EGLBindAPI);
+        }
+
+        let context_attribs = [EGL_CONTEXT_CLIENT_VERSION as i32, 3, EGL_NONE as i32];
+        // Safe because a valid display, config, and config_attribs pointer are given.
+        let ctx = unsafe {
+            (egl_funcs.CreateContext)(display, egl_config, null_mut(), context_attribs.as_ptr())
+        };
+        if ctx.is_null() {
+            return Err(Error::EGLCreateContext);
+        }
+
+        // Safe because a valid display and context is used, and the two null surfaces are not
+        // used.
+        let ret = unsafe { (egl_funcs.MakeCurrent)(display, null_mut(), null_mut(), ctx) };
+        if ret == 0 {
+            return Err(Error::EGLMakeCurrent);
+        }
+
+        // Safe because a valid cookie and set of callbacks is used and the result is checked for
+        // error.
+        let ret = unsafe {
+            virgl_renderer_init(cookie as *mut c_void,
+                                0,
+                                transmute(VIRGL_RENDERER_CALLBACKS))
+        };
+        ret_to_res(ret)?;
+
+        Ok(Renderer {
+               no_sync_send: PhantomData,
+               egl_funcs,
+           })
+    }
+
+    /// Gets the version and size for the given capability set ID.
+    pub fn get_cap_set_info(&self, id: u32) -> (u32, u32) {
+        let mut version = 0;
+        let mut size = 0;
+        // Safe because virglrenderer is initialized by now and properly size stack variables are
+        // used for the pointers.
+        unsafe {
+            virgl_renderer_get_cap_set(id, &mut version, &mut size);
+        }
+        (version, size)
+    }
+
+    /// Gets the capability set for the given ID and version.
+    pub fn get_cap_set(&self, id: u32, version: u32) -> Vec<u8> {
+        let (_, max_size) = self.get_cap_set_info(id);
+        let mut buf = vec![0u8; max_size as usize];
+        // Safe because virglrenderer is initialized by now and the given buffer is sized properly
+        // for the given cap id/version.
+        unsafe {
+            virgl_renderer_fill_caps(id, version, buf.as_mut_ptr() as *mut c_void);
+        }
+        buf
+    }
+
+    /// Creates a rendering context with the given id.
+    pub fn create_context(&self, id: u32) -> Result<Context> {
+        const CONTEXT_NAME: &[u8] = b"gpu_renderer";
+        // Safe because virglrenderer is initialized by now and the context name is statically
+        // allocated. The return value is checked before returning a new context.
+        let ret = unsafe {
+            virgl_renderer_context_create(id,
+                                          CONTEXT_NAME.len() as u32,
+                                          CONTEXT_NAME.as_ptr() as *const c_char)
+        };
+        ret_to_res(ret)?;
+        Ok(Context {
+               id,
+               no_sync_send: PhantomData,
+           })
+    }
+
+    /// Creates a resource with the given arguments.
+    pub fn create_resource(&self,
+                           mut args: virgl_renderer_resource_create_args)
+                           -> Result<Resource> {
+        // Safe because virglrenderer is initialized by now, and the return value is checked before
+        // returning a new resource. The backing buffers are not supplied with this call.
+        let ret = unsafe { virgl_renderer_resource_create(&mut args, null_mut(), 0) };
+        ret_to_res(ret)?;
+        Ok(Resource {
+               id: args.handle,
+               backing_iovecs: Vec::new(),
+               backing_mem: None,
+               egl_funcs: self.egl_funcs.clone(),
+               no_sync_send: PhantomData,
+           })
+    }
+
+    /// Helper that creates a simple 1 dimensional resource with basic metadata.
+    pub fn create_tex_1d(&self, id: u32, width: u32) -> Result<Resource> {
+        self.create_resource(virgl_renderer_resource_create_args {
+                                 handle: id,
+                                 target: PIPE_TEXTURE_1D,
+                                 format: PIPE_FORMAT_B8G8R8X8_UNORM,
+                                 width,
+                                 height: 1,
+                                 depth: 1,
+                                 array_size: 1,
+                                 last_level: 0,
+                                 nr_samples: 0,
+                                 bind: PIPE_BIND_SAMPLER_VIEW,
+                                 flags: 0,
+                             })
+    }
+
+    /// Helper that creates a simple 2 dimensional resource with basic metadata.
+    pub fn create_tex_2d(&self, id: u32, width: u32, height: u32) -> Result<Resource> {
+        self.create_resource(virgl_renderer_resource_create_args {
+                                 handle: id,
+                                 target: PIPE_TEXTURE_2D,
+                                 format: PIPE_FORMAT_B8G8R8X8_UNORM,
+                                 width,
+                                 height,
+                                 depth: 1,
+                                 array_size: 1,
+                                 last_level: 0,
+                                 nr_samples: 0,
+                                 bind: PIPE_BIND_SAMPLER_VIEW,
+                                 flags: 0,
+                             })
+    }
+}
+
+/// A context in which resources can be attached/detached and commands can be submitted.
+pub struct Context {
+    id: u32,
+    no_sync_send: PhantomData<*mut ()>,
+}
+
+impl Context {
+    /// Gets the ID assigned to this context when it was created.
+    pub fn id(&self) -> u32 {
+        self.id
+    }
+
+    /// Submits a command stream to this rendering context.
+    pub fn submit<T: AsMut<[u8]>>(&mut self, mut buf: T) -> Result<()> {
+        let buf = buf.as_mut();
+        if buf.len() % size_of::<u32>() != 0 {
+            return Err(Error::InvalidCommandSize(buf.len()));
+        }
+        let dword_count = (buf.len() / size_of::<u32>()) as i32;
+        // Safe because the context and buffer are valid and virglrenderer will have been
+        // initialized if there are Context instances.
+        let ret = unsafe {
+            virgl_renderer_submit_cmd(buf.as_mut_ptr() as *mut c_void, self.id as i32, dword_count)
+        };
+        ret_to_res(ret)
+    }
+
+    /// Attaches the given resource to this rendering context.
+    pub fn attach(&mut self, res: &Resource) {
+        // The context id and resource id must be valid because the respective instances ensure
+        // their lifetime.
+        unsafe {
+            virgl_renderer_ctx_attach_resource(self.id as i32, res.id() as i32);
+        }
+    }
+
+    /// Detaches a previously attached resource from this rendering context.
+    pub fn detach(&mut self, res: &Resource) {
+        // The context id and resource id must be valid because the respective instances ensure
+        // their lifetime.
+        unsafe {
+            virgl_renderer_ctx_detach_resource(self.id as i32, res.id() as i32);
+        }
+    }
+}
+
+impl Drop for Context {
+    fn drop(&mut self) {
+        // The context is safe to destroy because nothing else can be referencing it.
+        unsafe {
+            virgl_renderer_context_destroy(self.id);
+        }
+    }
+}
+
+/// A DMABUF file descriptor handle and metadata returned from `Resource::export`.
+#[derive(Debug)]
+pub struct ExportedResource {
+    /// The file descriptor that represents the DMABUF kernel object.
+    pub dmabuf: File,
+    /// The width in pixels of the exported resource.
+    pub width: u32,
+    /// The height in pixels of the exported resource.
+    pub height: u32,
+    /// The fourcc identifier for the format of the resource.
+    pub fourcc: u32,
+    /// Extra modifiers for the format.
+    pub modifiers: u64,
+    /// The number of bytes between successive rows in the exported resource.
+    pub stride: u32,
+    /// The number of bytes from the start of the exported resource to the first pixel.
+    pub offset: u32,
+}
+
+/// A resource handle used by the renderer.
+pub struct Resource {
+    id: u32,
+    backing_iovecs: Vec<VirglVec>,
+    backing_mem: Option<GuestMemory>,
+    egl_funcs: EGLFunctions,
+    no_sync_send: PhantomData<*mut ()>,
+}
+
+impl Resource {
+    /// Gets the ID assigned to this resource when it was created.
+    pub fn id(&self) -> u32 {
+        self.id
+    }
+
+    /// Retrieves metadata about this resource.
+    pub fn get_info(&self) -> Result<ResourceInfo> {
+        // Safe because the resource info is filled in by the virgl call and only returned if it was
+        // successful.
+        let mut res_info = unsafe { uninitialized() };
+        let ret = unsafe { virgl_renderer_resource_get_info(self.id as i32, &mut res_info) };
+        ret_to_res(ret)?;
+        Ok(res_info)
+    }
+
+    /// Performs an export of this resource so that it may be imported by other processes.
+    pub fn export(&self) -> Result<ExportedResource> {
+        let res_info = self.get_info()?;
+        let mut fourcc = 0;
+        let mut modifiers = 0;
+        let mut fd = -1;
+        let mut stride = 0;
+        let mut offset = 0;
+        // Always safe on the same thread with an already initialized virglrenderer.
+        unsafe {
+            virgl_renderer_force_ctx_0();
+        }
+        // These are trivially safe and always return successfully because we bind the context in
+        // the previous line.
+        let egl_dpy: EGLDisplay = unsafe { (self.egl_funcs.GetCurrentDisplay)() };
+        let egl_ctx: EGLContext = unsafe { (self.egl_funcs.GetCurrentContext)() };
+
+        // Safe because a valid display, context, and texture ID are given. The attribute list is
+        // not needed. The result is checked to ensure the returned image is valid.
+        let image = unsafe {
+            (self.egl_funcs.CreateImageKHR)(egl_dpy,
+                                            egl_ctx,
+                                            EGL_GL_TEXTURE_2D_KHR,
+                                            res_info.tex_id as EGLClientBuffer,
+                                            null())
+        };
+
+        if image.is_null() {
+            return Err(Error::CreateImage);
+        }
+
+        // Safe because the display and image are valid and each function call is checked for
+        // success. The returned image parameters are stored in stack variables of the correct type.
+        let export_success = unsafe {
+            (self.egl_funcs.ExportDMABUFImageQueryMESA)(egl_dpy,
+                                                        image,
+                                                        &mut fourcc,
+                                                        null_mut(),
+                                                        &mut modifiers) != 0 &&
+            (self.egl_funcs.ExportDRMImageMESA)(egl_dpy,
+                                                image,
+                                                &mut fd,
+                                                &mut stride,
+                                                &mut offset) != 0
+        };
+
+        // Safe because we checked that the image was valid and nobody else owns it. The image does
+        // not need to be around for the dmabuf to be valid.
+        unsafe {
+            (self.egl_funcs.DestroyImageKHR)(egl_dpy, image);
+        }
+
+        if !export_success || fd < 0 {
+            return Err(Error::ExportedResourceDmabuf);
+        }
+
+        // Safe because the FD was just returned by a successful EGL call so it must be valid and
+        // owned by us.
+        let dmabuf = unsafe { File::from_raw_fd(fd) };
+        Ok(ExportedResource {
+               dmabuf,
+               width: res_info.width,
+               height: res_info.height,
+               fourcc: fourcc as u32,
+               modifiers: modifiers,
+               stride: stride as u32,
+               offset: offset as u32,
+           })
+    }
+
+    /// Attaches a scatter-gather mapping of guest memory to this resource which used for transfers.
+    pub fn attach_backing(&mut self,
+                          iovecs: &[(GuestAddress, usize)],
+                          mem: &GuestMemory)
+                          -> Result<()> {
+        if iovecs
+               .iter()
+               .any(|&(addr, len)| mem.get_slice(addr.offset(), len as u64).is_err()) {
+            return Err(Error::InvalidIovec);
+        }
+        self.detach_backing();
+        self.backing_mem = Some(mem.clone());
+        for &(addr, len) in iovecs.iter() {
+            // Unwrap will not panic because we already checked the slices.
+            let slice = mem.get_slice(addr.offset(), len as u64).unwrap();
+            self.backing_iovecs
+                .push(VirglVec {
+                          base: slice.as_ptr() as *mut c_void,
+                          len,
+                      });
+        }
+        // Safe because the backing is into guest memory that we store a reference count for.
+        let ret = unsafe {
+            virgl_renderer_resource_attach_iov(self.id as i32,
+                                               self.backing_iovecs.as_mut_ptr() as *mut iovec,
+                                               self.backing_iovecs.len() as i32)
+        };
+        let res = ret_to_res(ret);
+        if res.is_err() {
+            // Not strictly necessary, but it's good to clear out our collection of pointers to
+            // memory we don't own or need.
+            self.backing_iovecs.clear();
+            self.backing_mem = None;
+        }
+        res
+    }
+
+    /// Detaches previously attached scatter-gather memory from this resource.
+    pub fn detach_backing(&mut self) {
+        // Safe as we don't need the old backing iovecs returned and the reference to the guest
+        // memory can be dropped as it will no longer be needed for this resource.
+        unsafe {
+            virgl_renderer_resource_detach_iov(self.id as i32, null_mut(), null_mut());
+        }
+        self.backing_iovecs.clear();
+        self.backing_mem = None;
+    }
+
+    /// Performs a transfer to the given resource from its backing in guest memory.
+    pub fn transfer_write(&self,
+                          ctx: Option<&Context>,
+                          level: u32,
+                          stride: u32,
+                          layer_stride: u32,
+                          mut transfer_box: Box3,
+                          offset: u64)
+                          -> Result<()> {
+        // Safe because only stack variables of the appropriate type are used.
+        let ret = unsafe {
+            virgl_renderer_transfer_write_iov(self.id,
+                                              ctx.map(Context::id).unwrap_or(0),
+                                              level as i32,
+                                              stride,
+                                              layer_stride,
+                                              &mut transfer_box as *mut Box3 as *mut virgl_box,
+                                              offset,
+                                              null_mut(),
+                                              0)
+        };
+        ret_to_res(ret)
+    }
+
+    /// Performs a transfer from the given resource to its backing in guest memory.
+    pub fn transfer_read(&self,
+                         ctx: Option<&Context>,
+                         level: u32,
+                         stride: u32,
+                         layer_stride: u32,
+                         mut transfer_box: Box3,
+                         offset: u64)
+                         -> Result<()> {
+        // Safe because only stack variables of the appropriate type are used.
+        let ret = unsafe {
+            virgl_renderer_transfer_read_iov(self.id,
+                                             ctx.map(Context::id).unwrap_or(0),
+                                             level,
+                                             stride,
+                                             layer_stride,
+                                             &mut transfer_box as *mut Box3 as *mut virgl_box,
+                                             offset,
+                                             null_mut(),
+                                             0)
+        };
+        ret_to_res(ret)
+    }
+
+    /// Performs a transfer from the given resource to the provided `buf`
+    pub fn transfer_read_buf(&self,
+                             ctx: Option<&Context>,
+                             level: u32,
+                             stride: u32,
+                             layer_stride: u32,
+                             mut transfer_box: Box3,
+                             offset: u64,
+                             buf: &mut [u8])
+                             -> Result<()> {
+        let mut iov = VirglVec {
+            base: buf.as_mut_ptr() as *mut c_void,
+            len: buf.len(),
+        };
+        // Safe because only stack variables of the appropriate type are used, along with a properly
+        // sized buffer.
+        let ret = unsafe {
+            virgl_renderer_transfer_read_iov(self.id,
+                                             ctx.map(Context::id).unwrap_or(0),
+                                             level,
+                                             stride,
+                                             layer_stride,
+                                             &mut transfer_box as *mut Box3 as *mut virgl_box,
+                                             offset,
+                                             &mut iov as *mut VirglVec as *mut iovec,
+                                             1)
+        };
+        ret_to_res(ret)
+    }
+
+    /// Reads from this resource to a volatile slice of memory.
+    pub fn read_to_volatile(&self,
+                            ctx: Option<&Context>,
+                            level: u32,
+                            stride: u32,
+                            layer_stride: u32,
+                            mut transfer_box: Box3,
+                            offset: u64,
+                            buf: VolatileSlice)
+                            -> Result<()> {
+        let mut iov = VirglVec {
+            base: buf.as_ptr() as *mut c_void,
+            len: buf.size() as usize,
+        };
+        // Safe because only stack variables of the appropriate type are used, along with a properly
+        // sized buffer.
+        let ret = unsafe {
+            virgl_renderer_transfer_read_iov(self.id,
+                                             ctx.map(Context::id).unwrap_or(0),
+                                             level,
+                                             stride,
+                                             layer_stride,
+                                             &mut transfer_box as *mut Box3 as *mut virgl_box,
+                                             offset,
+                                             &mut iov as *mut VirglVec as *mut iovec,
+                                             1)
+        };
+        ret_to_res(ret)
+    }
+}
+
+impl Drop for Resource {
+    fn drop(&mut self) {
+        // The resource is safe to unreference destroy because no user of these bindings can still
+        // be holding a reference.
+        unsafe {
+            virgl_renderer_resource_unref(self.id);
+        }
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use generated::p_defines::PIPE_CLEAR_COLOR0;
+
+    #[test]
+    #[ignore]
+    // Make sure a simple buffer clear works by using a command stream.
+    fn simple_clear() {
+        let render = Renderer::init().expect("failed to initialize virglrenderer");
+        let mut ctx = render
+            .create_context(1)
+            .expect("failed to create context");
+
+        // Create a 50x50 texture with id=2.
+        let resource = render
+            .create_tex_2d(2, 50, 50)
+            .expect("failed to create texture");
+        ctx.attach(&resource);
+
+        // Create a command buffer that uses the resource as a render target and clears it.
+        const CLEAR_COLOR: [f32; 4] = [0.5, 0.4, 0.3, 0.2];
+        let mut cbuf = CommandBufferBuilder::new();
+        cbuf.e_create_surface(1, &resource, PIPE_FORMAT_B8G8R8X8_UNORM, 0, 0, 0);
+        cbuf.e_set_fb_state(&[1], None);
+        cbuf.e_clear(PIPE_CLEAR_COLOR0, CLEAR_COLOR, 0.0, 0);
+        ctx.submit(&mut cbuf)
+            .expect("failed to submit command buffer to context");
+
+        // Read the result of the rendering into a buffer.
+        let mut pix_buf = [0; 50 * 50 * 4];
+        resource
+            .transfer_read_buf(Some(&ctx),
+                               0,
+                               50,
+                               0,
+                               Box3::new_2d(0, 5, 0, 1),
+                               0,
+                               &mut pix_buf[..])
+            .expect("failed to read back resource data");
+
+        // Check that the pixels are the color we cleared to. The red and blue channels are switched
+        // because the surface was created with the BGR format, but the colors are RGB order in the
+        // command stream.
+        assert_eq!(pix_buf[0], (256.0 * CLEAR_COLOR[2]) as u8);
+        assert_eq!(pix_buf[1], (256.0 * CLEAR_COLOR[1]) as u8);
+        assert_eq!(pix_buf[2], (256.0 * CLEAR_COLOR[0]) as u8);
+        assert_eq!(pix_buf[3], (256.0 * CLEAR_COLOR[3]) as u8);
+    }
+}
diff --git a/gpu_renderer/src/pipe_format_fourcc.rs b/gpu_renderer/src/pipe_format_fourcc.rs
new file mode 100644
index 0000000..7693973
--- /dev/null
+++ b/gpu_renderer/src/pipe_format_fourcc.rs
@@ -0,0 +1,20 @@
+// Copyright 2018 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+use generated::p_format;
+
+macro_rules! fourcc {
+    ($a:expr, $b:expr, $c:expr, $d:expr) => (
+        Some($a as u32 | ($b as u32) << 8 | ($c as u32) << 16 | ($d as u32) << 24)
+    )
+}
+
+/// Gets the fourcc that corresponds to the given pipe format, or `None` if the format is
+/// unrecognized.
+pub fn pipe_format_fourcc(f: p_format::pipe_format) -> Option<u32> {
+    match f {
+        p_format::PIPE_FORMAT_B8G8R8X8_UNORM => fourcc!('X', 'R', '2', '4'),
+        _ => None,
+    }
+}