diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,10 @@
+0.7.3
+-----
+* Added support for three new extensions:
+  * `EXT_texture_sRGB_R8`
+  * `EXT_texture_sRGB_RG8`
+  * `EXT_YUV_target`
+
 0.7.2.4
 -------
 * `filepath` 1.4 support
diff --git a/dist/build/autogen/Graphics/GL/Compatibility32.hs b/dist/build/autogen/Graphics/GL/Compatibility32.hs
--- a/dist/build/autogen/Graphics/GL/Compatibility32.hs
+++ b/dist/build/autogen/Graphics/GL/Compatibility32.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Compatibility32 (
   -- * Graphics.GL.Compatibility32
     module Graphics.GL.Core32
diff --git a/dist/build/autogen/Graphics/GL/Compatibility33.hs b/dist/build/autogen/Graphics/GL/Compatibility33.hs
--- a/dist/build/autogen/Graphics/GL/Compatibility33.hs
+++ b/dist/build/autogen/Graphics/GL/Compatibility33.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Compatibility33 (
   -- * Graphics.GL.Compatibility33
     module Graphics.GL.Compatibility32
diff --git a/dist/build/autogen/Graphics/GL/Compatibility40.hs b/dist/build/autogen/Graphics/GL/Compatibility40.hs
--- a/dist/build/autogen/Graphics/GL/Compatibility40.hs
+++ b/dist/build/autogen/Graphics/GL/Compatibility40.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Compatibility40 (
   -- * Graphics.GL.Compatibility40
     module Graphics.GL.Compatibility33
diff --git a/dist/build/autogen/Graphics/GL/Compatibility41.hs b/dist/build/autogen/Graphics/GL/Compatibility41.hs
--- a/dist/build/autogen/Graphics/GL/Compatibility41.hs
+++ b/dist/build/autogen/Graphics/GL/Compatibility41.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Compatibility41 (
   -- * Graphics.GL.Compatibility41
     module Graphics.GL.Compatibility40
diff --git a/dist/build/autogen/Graphics/GL/Compatibility42.hs b/dist/build/autogen/Graphics/GL/Compatibility42.hs
--- a/dist/build/autogen/Graphics/GL/Compatibility42.hs
+++ b/dist/build/autogen/Graphics/GL/Compatibility42.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Compatibility42 (
   -- * Graphics.GL.Compatibility42
     module Graphics.GL.Compatibility41
diff --git a/dist/build/autogen/Graphics/GL/Compatibility43.hs b/dist/build/autogen/Graphics/GL/Compatibility43.hs
--- a/dist/build/autogen/Graphics/GL/Compatibility43.hs
+++ b/dist/build/autogen/Graphics/GL/Compatibility43.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Compatibility43 (
   -- * Graphics.GL.Compatibility43
     module Graphics.GL.Compatibility42
diff --git a/dist/build/autogen/Graphics/GL/Compatibility44.hs b/dist/build/autogen/Graphics/GL/Compatibility44.hs
--- a/dist/build/autogen/Graphics/GL/Compatibility44.hs
+++ b/dist/build/autogen/Graphics/GL/Compatibility44.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Compatibility44 (
   -- * Graphics.GL.Compatibility44
     module Graphics.GL.Compatibility43
diff --git a/dist/build/autogen/Graphics/GL/Compatibility45.hs b/dist/build/autogen/Graphics/GL/Compatibility45.hs
--- a/dist/build/autogen/Graphics/GL/Compatibility45.hs
+++ b/dist/build/autogen/Graphics/GL/Compatibility45.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Compatibility45 (
   -- * Graphics.GL.Compatibility45
     module Graphics.GL.Compatibility44
diff --git a/dist/build/autogen/Graphics/GL/Core32.hs b/dist/build/autogen/Graphics/GL/Core32.hs
--- a/dist/build/autogen/Graphics/GL/Core32.hs
+++ b/dist/build/autogen/Graphics/GL/Core32.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Core32 (
   -- * Graphics.GL.Core32
     glActiveTexture
diff --git a/dist/build/autogen/Graphics/GL/Core33.hs b/dist/build/autogen/Graphics/GL/Core33.hs
--- a/dist/build/autogen/Graphics/GL/Core33.hs
+++ b/dist/build/autogen/Graphics/GL/Core33.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Core33 (
   -- * Graphics.GL.Core33
     module Graphics.GL.Core32
diff --git a/dist/build/autogen/Graphics/GL/Core40.hs b/dist/build/autogen/Graphics/GL/Core40.hs
--- a/dist/build/autogen/Graphics/GL/Core40.hs
+++ b/dist/build/autogen/Graphics/GL/Core40.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Core40 (
   -- * Graphics.GL.Core40
     module Graphics.GL.Core33
diff --git a/dist/build/autogen/Graphics/GL/Core41.hs b/dist/build/autogen/Graphics/GL/Core41.hs
--- a/dist/build/autogen/Graphics/GL/Core41.hs
+++ b/dist/build/autogen/Graphics/GL/Core41.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Core41 (
   -- * Graphics.GL.Core41
     module Graphics.GL.Core40
diff --git a/dist/build/autogen/Graphics/GL/Core42.hs b/dist/build/autogen/Graphics/GL/Core42.hs
--- a/dist/build/autogen/Graphics/GL/Core42.hs
+++ b/dist/build/autogen/Graphics/GL/Core42.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Core42 (
   -- * Graphics.GL.Core42
     module Graphics.GL.Core41
diff --git a/dist/build/autogen/Graphics/GL/Core43.hs b/dist/build/autogen/Graphics/GL/Core43.hs
--- a/dist/build/autogen/Graphics/GL/Core43.hs
+++ b/dist/build/autogen/Graphics/GL/Core43.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Core43 (
   -- * Graphics.GL.Core43
     module Graphics.GL.Core42
diff --git a/dist/build/autogen/Graphics/GL/Core44.hs b/dist/build/autogen/Graphics/GL/Core44.hs
--- a/dist/build/autogen/Graphics/GL/Core44.hs
+++ b/dist/build/autogen/Graphics/GL/Core44.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Core44 (
   -- * Graphics.GL.Core44
     module Graphics.GL.Core43
diff --git a/dist/build/autogen/Graphics/GL/Core45.hs b/dist/build/autogen/Graphics/GL/Core45.hs
--- a/dist/build/autogen/Graphics/GL/Core45.hs
+++ b/dist/build/autogen/Graphics/GL/Core45.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Core45 (
   -- * Graphics.GL.Core45
     module Graphics.GL.Core44
diff --git a/dist/build/autogen/Graphics/GL/Embedded20.hs b/dist/build/autogen/Graphics/GL/Embedded20.hs
--- a/dist/build/autogen/Graphics/GL/Embedded20.hs
+++ b/dist/build/autogen/Graphics/GL/Embedded20.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Embedded20 (
   -- * Graphics.GL.Embedded20
     glActiveTexture
diff --git a/dist/build/autogen/Graphics/GL/Embedded30.hs b/dist/build/autogen/Graphics/GL/Embedded30.hs
--- a/dist/build/autogen/Graphics/GL/Embedded30.hs
+++ b/dist/build/autogen/Graphics/GL/Embedded30.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Embedded30 (
   -- * Graphics.GL.Embedded30
     module Graphics.GL.Embedded20
diff --git a/dist/build/autogen/Graphics/GL/Embedded31.hs b/dist/build/autogen/Graphics/GL/Embedded31.hs
--- a/dist/build/autogen/Graphics/GL/Embedded31.hs
+++ b/dist/build/autogen/Graphics/GL/Embedded31.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Embedded31 (
   -- * Graphics.GL.Embedded31
     module Graphics.GL.Embedded30
diff --git a/dist/build/autogen/Graphics/GL/EmbeddedCommon11.hs b/dist/build/autogen/Graphics/GL/EmbeddedCommon11.hs
--- a/dist/build/autogen/Graphics/GL/EmbeddedCommon11.hs
+++ b/dist/build/autogen/Graphics/GL/EmbeddedCommon11.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.EmbeddedCommon11 (
   -- * Graphics.GL.EmbeddedCommon11
     module Graphics.GL.EmbeddedLite11
diff --git a/dist/build/autogen/Graphics/GL/EmbeddedLite11.hs b/dist/build/autogen/Graphics/GL/EmbeddedLite11.hs
--- a/dist/build/autogen/Graphics/GL/EmbeddedLite11.hs
+++ b/dist/build/autogen/Graphics/GL/EmbeddedLite11.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.EmbeddedLite11 (
   -- * Graphics.GL.EmbeddedLite11
     glActiveTexture
diff --git a/dist/build/autogen/Graphics/GL/Ext.hs b/dist/build/autogen/Graphics/GL/Ext.hs
--- a/dist/build/autogen/Graphics/GL/Ext.hs
+++ b/dist/build/autogen/Graphics/GL/Ext.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext (
   -- * Extensions
     module Graphics.GL.Ext.ThreeDFX
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD.hs b/dist/build/autogen/Graphics/GL/Ext/AMD.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD (
   -- * AMD Extensions
     module Graphics.GL.Ext.AMD.BlendMinmaxFactor
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/BlendMinmaxFactor.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/BlendMinmaxFactor.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/BlendMinmaxFactor.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/BlendMinmaxFactor.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.BlendMinmaxFactor (
   -- * Extension Support
     gl_AMD_blend_minmax_factor
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/Compressed3DCTexture.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/Compressed3DCTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/Compressed3DCTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/Compressed3DCTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.Compressed3DCTexture (
   -- * Extension Support
     gl_AMD_compressed_3DC_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/CompressedATCTexture.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/CompressedATCTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/CompressedATCTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/CompressedATCTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.CompressedATCTexture (
   -- * Extension Support
     gl_AMD_compressed_ATC_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/ConservativeDepth.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/ConservativeDepth.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/ConservativeDepth.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/ConservativeDepth.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.ConservativeDepth (
   -- * Extension Support
     gl_AMD_conservative_depth
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/DebugOutput.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/DebugOutput.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/DebugOutput.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/DebugOutput.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.DebugOutput (
   -- * Extension Support
     gl_AMD_debug_output
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/DepthClampSeparate.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/DepthClampSeparate.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/DepthClampSeparate.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/DepthClampSeparate.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.DepthClampSeparate (
   -- * Extension Support
     gl_AMD_depth_clamp_separate
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/DrawBuffersBlend.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/DrawBuffersBlend.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/DrawBuffersBlend.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/DrawBuffersBlend.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.DrawBuffersBlend (
   -- * Extension Support
     gl_AMD_draw_buffers_blend
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/GcnShader.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/GcnShader.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/GcnShader.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/GcnShader.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.GcnShader (
   -- * Extension Support
     gl_AMD_gcn_shader
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/GpuShaderInt64.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/GpuShaderInt64.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/GpuShaderInt64.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/GpuShaderInt64.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.GpuShaderInt64 (
   -- * Extension Support
     gl_AMD_gpu_shader_int64
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/InterleavedElements.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/InterleavedElements.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/InterleavedElements.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/InterleavedElements.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.InterleavedElements (
   -- * Extension Support
     gl_AMD_interleaved_elements
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/MultiDrawIndirect.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/MultiDrawIndirect.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/MultiDrawIndirect.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/MultiDrawIndirect.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.MultiDrawIndirect (
   -- * Extension Support
     gl_AMD_multi_draw_indirect
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/NameGenDelete.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/NameGenDelete.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/NameGenDelete.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/NameGenDelete.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.NameGenDelete (
   -- * Extension Support
     gl_AMD_name_gen_delete
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/OcclusionQueryEvent.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/OcclusionQueryEvent.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/OcclusionQueryEvent.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/OcclusionQueryEvent.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.OcclusionQueryEvent (
   -- * Extension Support
     gl_AMD_occlusion_query_event
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/PerformanceMonitor.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/PerformanceMonitor.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/PerformanceMonitor.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/PerformanceMonitor.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.PerformanceMonitor (
   -- * Extension Support
     gl_AMD_performance_monitor
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/PinnedMemory.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/PinnedMemory.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/PinnedMemory.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/PinnedMemory.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.PinnedMemory (
   -- * Extension Support
     gl_AMD_pinned_memory
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/ProgramBinaryZ400.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/ProgramBinaryZ400.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/ProgramBinaryZ400.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/ProgramBinaryZ400.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.ProgramBinaryZ400 (
   -- * Extension Support
     gl_AMD_program_binary_Z400
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/QueryBufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/QueryBufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/QueryBufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/QueryBufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.QueryBufferObject (
   -- * Extension Support
     gl_AMD_query_buffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/SamplePositions.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/SamplePositions.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/SamplePositions.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/SamplePositions.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.SamplePositions (
   -- * Extension Support
     gl_AMD_sample_positions
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/SeamlessCubemapPerTexture.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/SeamlessCubemapPerTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/SeamlessCubemapPerTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/SeamlessCubemapPerTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.SeamlessCubemapPerTexture (
   -- * Extension Support
     gl_AMD_seamless_cubemap_per_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/ShaderAtomicCounterOps.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/ShaderAtomicCounterOps.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/ShaderAtomicCounterOps.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/ShaderAtomicCounterOps.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.ShaderAtomicCounterOps (
   -- * Extension Support
     gl_AMD_shader_atomic_counter_ops
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/ShaderStencilExport.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/ShaderStencilExport.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/ShaderStencilExport.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/ShaderStencilExport.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.ShaderStencilExport (
   -- * Extension Support
     gl_AMD_shader_stencil_export
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/ShaderTrinaryMinmax.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/ShaderTrinaryMinmax.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/ShaderTrinaryMinmax.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/ShaderTrinaryMinmax.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.ShaderTrinaryMinmax (
   -- * Extension Support
     gl_AMD_shader_trinary_minmax
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/SparseTexture.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/SparseTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/SparseTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/SparseTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.SparseTexture (
   -- * Extension Support
     gl_AMD_sparse_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/StencilOperationExtended.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/StencilOperationExtended.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/StencilOperationExtended.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/StencilOperationExtended.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.StencilOperationExtended (
   -- * Extension Support
     gl_AMD_stencil_operation_extended
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/TextureTexture4.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/TextureTexture4.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/TextureTexture4.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/TextureTexture4.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.TextureTexture4 (
   -- * Extension Support
     gl_AMD_texture_texture4
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/TransformFeedback3LinesTriangles.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/TransformFeedback3LinesTriangles.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/TransformFeedback3LinesTriangles.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/TransformFeedback3LinesTriangles.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.TransformFeedback3LinesTriangles (
   -- * Extension Support
     gl_AMD_transform_feedback3_lines_triangles
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/TransformFeedback4.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/TransformFeedback4.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/TransformFeedback4.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/TransformFeedback4.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.TransformFeedback4 (
   -- * Extension Support
     gl_AMD_transform_feedback4
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/VertexShaderLayer.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/VertexShaderLayer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/VertexShaderLayer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/VertexShaderLayer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.VertexShaderLayer (
   -- * Extension Support
     gl_AMD_vertex_shader_layer
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/VertexShaderTessellator.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/VertexShaderTessellator.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/VertexShaderTessellator.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/VertexShaderTessellator.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.VertexShaderTessellator (
   -- * Extension Support
     gl_AMD_vertex_shader_tessellator
diff --git a/dist/build/autogen/Graphics/GL/Ext/AMD/VertexShaderViewportIndex.hs b/dist/build/autogen/Graphics/GL/Ext/AMD/VertexShaderViewportIndex.hs
--- a/dist/build/autogen/Graphics/GL/Ext/AMD/VertexShaderViewportIndex.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/AMD/VertexShaderViewportIndex.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.AMD.VertexShaderViewportIndex (
   -- * Extension Support
     gl_AMD_vertex_shader_viewport_index
diff --git a/dist/build/autogen/Graphics/GL/Ext/ANDROID.hs b/dist/build/autogen/Graphics/GL/Ext/ANDROID.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ANDROID.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ANDROID.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ANDROID (
   -- * ANDROID Extensions
     module Graphics.GL.Ext.ANDROID.ExtensionPackEs31a
diff --git a/dist/build/autogen/Graphics/GL/Ext/ANDROID/ExtensionPackEs31a.hs b/dist/build/autogen/Graphics/GL/Ext/ANDROID/ExtensionPackEs31a.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ANDROID/ExtensionPackEs31a.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ANDROID/ExtensionPackEs31a.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ANDROID.ExtensionPackEs31a (
   -- * Extension Support
     gl_ANDROID_extension_pack_es31a
diff --git a/dist/build/autogen/Graphics/GL/Ext/ANGLE.hs b/dist/build/autogen/Graphics/GL/Ext/ANGLE.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ANGLE.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ANGLE.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ANGLE (
   -- * ANGLE Extensions
     module Graphics.GL.Ext.ANGLE.DepthTexture
diff --git a/dist/build/autogen/Graphics/GL/Ext/ANGLE/DepthTexture.hs b/dist/build/autogen/Graphics/GL/Ext/ANGLE/DepthTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ANGLE/DepthTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ANGLE/DepthTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ANGLE.DepthTexture (
   -- * Extension Support
     gl_ANGLE_depth_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/ANGLE/FramebufferBlit.hs b/dist/build/autogen/Graphics/GL/Ext/ANGLE/FramebufferBlit.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ANGLE/FramebufferBlit.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ANGLE/FramebufferBlit.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ANGLE.FramebufferBlit (
   -- * Extension Support
     gl_ANGLE_framebuffer_blit
diff --git a/dist/build/autogen/Graphics/GL/Ext/ANGLE/FramebufferMultisample.hs b/dist/build/autogen/Graphics/GL/Ext/ANGLE/FramebufferMultisample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ANGLE/FramebufferMultisample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ANGLE/FramebufferMultisample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ANGLE.FramebufferMultisample (
   -- * Extension Support
     gl_ANGLE_framebuffer_multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/ANGLE/InstancedArrays.hs b/dist/build/autogen/Graphics/GL/Ext/ANGLE/InstancedArrays.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ANGLE/InstancedArrays.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ANGLE/InstancedArrays.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ANGLE.InstancedArrays (
   -- * Extension Support
     gl_ANGLE_instanced_arrays
diff --git a/dist/build/autogen/Graphics/GL/Ext/ANGLE/PackReverseRowOrder.hs b/dist/build/autogen/Graphics/GL/Ext/ANGLE/PackReverseRowOrder.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ANGLE/PackReverseRowOrder.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ANGLE/PackReverseRowOrder.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ANGLE.PackReverseRowOrder (
   -- * Extension Support
     gl_ANGLE_pack_reverse_row_order
diff --git a/dist/build/autogen/Graphics/GL/Ext/ANGLE/ProgramBinary.hs b/dist/build/autogen/Graphics/GL/Ext/ANGLE/ProgramBinary.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ANGLE/ProgramBinary.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ANGLE/ProgramBinary.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ANGLE.ProgramBinary (
   -- * Extension Support
     gl_ANGLE_program_binary
diff --git a/dist/build/autogen/Graphics/GL/Ext/ANGLE/TextureCompressionDxt3.hs b/dist/build/autogen/Graphics/GL/Ext/ANGLE/TextureCompressionDxt3.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ANGLE/TextureCompressionDxt3.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ANGLE/TextureCompressionDxt3.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ANGLE.TextureCompressionDxt3 (
   -- * Extension Support
     gl_ANGLE_texture_compression_dxt3
diff --git a/dist/build/autogen/Graphics/GL/Ext/ANGLE/TextureCompressionDxt5.hs b/dist/build/autogen/Graphics/GL/Ext/ANGLE/TextureCompressionDxt5.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ANGLE/TextureCompressionDxt5.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ANGLE/TextureCompressionDxt5.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ANGLE.TextureCompressionDxt5 (
   -- * Extension Support
     gl_ANGLE_texture_compression_dxt5
diff --git a/dist/build/autogen/Graphics/GL/Ext/ANGLE/TextureUsage.hs b/dist/build/autogen/Graphics/GL/Ext/ANGLE/TextureUsage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ANGLE/TextureUsage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ANGLE/TextureUsage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ANGLE.TextureUsage (
   -- * Extension Support
     gl_ANGLE_texture_usage
diff --git a/dist/build/autogen/Graphics/GL/Ext/ANGLE/TranslatedShaderSource.hs b/dist/build/autogen/Graphics/GL/Ext/ANGLE/TranslatedShaderSource.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ANGLE/TranslatedShaderSource.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ANGLE/TranslatedShaderSource.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ANGLE.TranslatedShaderSource (
   -- * Extension Support
     gl_ANGLE_translated_shader_source
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE (
   -- * APPLE Extensions
     module Graphics.GL.Ext.APPLE.AuxDepthStencil
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/AuxDepthStencil.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/AuxDepthStencil.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/AuxDepthStencil.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/AuxDepthStencil.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.AuxDepthStencil (
   -- * Extension Support
     gl_APPLE_aux_depth_stencil
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/ClientStorage.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/ClientStorage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/ClientStorage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/ClientStorage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.ClientStorage (
   -- * Extension Support
     gl_APPLE_client_storage
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/ClipDistance.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/ClipDistance.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/ClipDistance.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/ClipDistance.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.ClipDistance (
   -- * Extension Support
     gl_APPLE_clip_distance
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/ColorBufferPackedFloat.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/ColorBufferPackedFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/ColorBufferPackedFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/ColorBufferPackedFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.ColorBufferPackedFloat (
   -- * Extension Support
     gl_APPLE_color_buffer_packed_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/CopyTextureLevels.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/CopyTextureLevels.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/CopyTextureLevels.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/CopyTextureLevels.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.CopyTextureLevels (
   -- * Extension Support
     gl_APPLE_copy_texture_levels
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/ElementArray.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/ElementArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/ElementArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/ElementArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.ElementArray (
   -- * Extension Support
     gl_APPLE_element_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/Fence.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/Fence.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/Fence.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/Fence.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.Fence (
   -- * Extension Support
     gl_APPLE_fence
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/FloatPixels.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/FloatPixels.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/FloatPixels.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/FloatPixels.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.FloatPixels (
   -- * Extension Support
     gl_APPLE_float_pixels
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/FlushBufferRange.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/FlushBufferRange.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/FlushBufferRange.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/FlushBufferRange.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.FlushBufferRange (
   -- * Extension Support
     gl_APPLE_flush_buffer_range
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/FramebufferMultisample.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/FramebufferMultisample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/FramebufferMultisample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/FramebufferMultisample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.FramebufferMultisample (
   -- * Extension Support
     gl_APPLE_framebuffer_multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/ObjectPurgeable.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/ObjectPurgeable.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/ObjectPurgeable.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/ObjectPurgeable.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.ObjectPurgeable (
   -- * Extension Support
     gl_APPLE_object_purgeable
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/Rgb422.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/Rgb422.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/Rgb422.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/Rgb422.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.Rgb422 (
   -- * Extension Support
     gl_APPLE_rgb_422
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/RowBytes.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/RowBytes.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/RowBytes.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/RowBytes.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.RowBytes (
   -- * Extension Support
     gl_APPLE_row_bytes
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/SpecularVector.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/SpecularVector.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/SpecularVector.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/SpecularVector.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.SpecularVector (
   -- * Extension Support
     gl_APPLE_specular_vector
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/Sync.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/Sync.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/Sync.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/Sync.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.Sync (
   -- * Extension Support
     gl_APPLE_sync
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/Texture2DLimitedNpot.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/Texture2DLimitedNpot.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/Texture2DLimitedNpot.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/Texture2DLimitedNpot.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.Texture2DLimitedNpot (
   -- * Extension Support
     gl_APPLE_texture_2D_limited_npot
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/TextureFormatBGRA8888.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/TextureFormatBGRA8888.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/TextureFormatBGRA8888.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/TextureFormatBGRA8888.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.TextureFormatBGRA8888 (
   -- * Extension Support
     gl_APPLE_texture_format_BGRA8888
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/TextureMaxLevel.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/TextureMaxLevel.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/TextureMaxLevel.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/TextureMaxLevel.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.TextureMaxLevel (
   -- * Extension Support
     gl_APPLE_texture_max_level
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/TexturePackedFloat.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/TexturePackedFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/TexturePackedFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/TexturePackedFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.TexturePackedFloat (
   -- * Extension Support
     gl_APPLE_texture_packed_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/TextureRange.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/TextureRange.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/TextureRange.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/TextureRange.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.TextureRange (
   -- * Extension Support
     gl_APPLE_texture_range
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/TransformHint.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/TransformHint.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/TransformHint.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/TransformHint.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.TransformHint (
   -- * Extension Support
     gl_APPLE_transform_hint
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/VertexArrayObject.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/VertexArrayObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/VertexArrayObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/VertexArrayObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.VertexArrayObject (
   -- * Extension Support
     gl_APPLE_vertex_array_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/VertexArrayRange.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/VertexArrayRange.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/VertexArrayRange.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/VertexArrayRange.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.VertexArrayRange (
   -- * Extension Support
     gl_APPLE_vertex_array_range
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/VertexProgramEvaluators.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/VertexProgramEvaluators.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/VertexProgramEvaluators.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/VertexProgramEvaluators.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.VertexProgramEvaluators (
   -- * Extension Support
     gl_APPLE_vertex_program_evaluators
diff --git a/dist/build/autogen/Graphics/GL/Ext/APPLE/Ycbcr422.hs b/dist/build/autogen/Graphics/GL/Ext/APPLE/Ycbcr422.hs
--- a/dist/build/autogen/Graphics/GL/Ext/APPLE/Ycbcr422.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/APPLE/Ycbcr422.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.APPLE.Ycbcr422 (
   -- * Extension Support
     gl_APPLE_ycbcr_422
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB.hs b/dist/build/autogen/Graphics/GL/Ext/ARB.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB (
   -- * ARB Extensions
     module Graphics.GL.Ext.ARB.ArraysOfArrays
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ArraysOfArrays.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ArraysOfArrays.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ArraysOfArrays.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ArraysOfArrays.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ArraysOfArrays (
   -- * Extension Support
     gl_ARB_arrays_of_arrays
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/BaseInstance.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/BaseInstance.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/BaseInstance.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/BaseInstance.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.BaseInstance (
   -- * Extension Support
     gl_ARB_base_instance
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/BindlessTexture.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/BindlessTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/BindlessTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/BindlessTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.BindlessTexture (
   -- * Extension Support
     gl_ARB_bindless_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/BlendFuncExtended.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/BlendFuncExtended.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/BlendFuncExtended.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/BlendFuncExtended.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.BlendFuncExtended (
   -- * Extension Support
     gl_ARB_blend_func_extended
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/BufferStorage.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/BufferStorage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/BufferStorage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/BufferStorage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.BufferStorage (
   -- * Extension Support
     gl_ARB_buffer_storage
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ClEvent.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ClEvent.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ClEvent.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ClEvent.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ClEvent (
   -- * Extension Support
     gl_ARB_cl_event
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ClearBufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ClearBufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ClearBufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ClearBufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ClearBufferObject (
   -- * Extension Support
     gl_ARB_clear_buffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ClearTexture.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ClearTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ClearTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ClearTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ClearTexture (
   -- * Extension Support
     gl_ARB_clear_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ClipControl.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ClipControl.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ClipControl.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ClipControl.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ClipControl (
   -- * Extension Support
     gl_ARB_clip_control
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ColorBufferFloat.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ColorBufferFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ColorBufferFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ColorBufferFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ColorBufferFloat (
   -- * Extension Support
     gl_ARB_color_buffer_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/Compatibility.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/Compatibility.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/Compatibility.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/Compatibility.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.Compatibility (
   -- * Extension Support
     gl_ARB_compatibility
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/CompressedTexturePixelStorage.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/CompressedTexturePixelStorage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/CompressedTexturePixelStorage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/CompressedTexturePixelStorage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.CompressedTexturePixelStorage (
   -- * Extension Support
     gl_ARB_compressed_texture_pixel_storage
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ComputeShader.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ComputeShader.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ComputeShader.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ComputeShader.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ComputeShader (
   -- * Extension Support
     gl_ARB_compute_shader
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ComputeVariableGroupSize.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ComputeVariableGroupSize.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ComputeVariableGroupSize.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ComputeVariableGroupSize.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ComputeVariableGroupSize (
   -- * Extension Support
     gl_ARB_compute_variable_group_size
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ConditionalRenderInverted.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ConditionalRenderInverted.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ConditionalRenderInverted.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ConditionalRenderInverted.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ConditionalRenderInverted (
   -- * Extension Support
     gl_ARB_conditional_render_inverted
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ConservativeDepth.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ConservativeDepth.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ConservativeDepth.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ConservativeDepth.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ConservativeDepth (
   -- * Extension Support
     gl_ARB_conservative_depth
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/CopyBuffer.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/CopyBuffer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/CopyBuffer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/CopyBuffer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.CopyBuffer (
   -- * Extension Support
     gl_ARB_copy_buffer
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/CopyImage.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/CopyImage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/CopyImage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/CopyImage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.CopyImage (
   -- * Extension Support
     gl_ARB_copy_image
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/CullDistance.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/CullDistance.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/CullDistance.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/CullDistance.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.CullDistance (
   -- * Extension Support
     gl_ARB_cull_distance
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/DebugOutput.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/DebugOutput.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/DebugOutput.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/DebugOutput.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.DebugOutput (
   -- * Extension Support
     gl_ARB_debug_output
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/DepthBufferFloat.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/DepthBufferFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/DepthBufferFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/DepthBufferFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.DepthBufferFloat (
   -- * Extension Support
     gl_ARB_depth_buffer_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/DepthClamp.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/DepthClamp.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/DepthClamp.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/DepthClamp.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.DepthClamp (
   -- * Extension Support
     gl_ARB_depth_clamp
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/DepthTexture.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/DepthTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/DepthTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/DepthTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.DepthTexture (
   -- * Extension Support
     gl_ARB_depth_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/DerivativeControl.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/DerivativeControl.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/DerivativeControl.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/DerivativeControl.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.DerivativeControl (
   -- * Extension Support
     gl_ARB_derivative_control
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/DirectStateAccess.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/DirectStateAccess.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/DirectStateAccess.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/DirectStateAccess.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.DirectStateAccess (
   -- * Extension Support
     gl_ARB_direct_state_access
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/DrawBuffers.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/DrawBuffers.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/DrawBuffers.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/DrawBuffers.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.DrawBuffers (
   -- * Extension Support
     gl_ARB_draw_buffers
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/DrawBuffersBlend.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/DrawBuffersBlend.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/DrawBuffersBlend.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/DrawBuffersBlend.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.DrawBuffersBlend (
   -- * Extension Support
     gl_ARB_draw_buffers_blend
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/DrawElementsBaseVertex.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/DrawElementsBaseVertex.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/DrawElementsBaseVertex.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/DrawElementsBaseVertex.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.DrawElementsBaseVertex (
   -- * Extension Support
     gl_ARB_draw_elements_base_vertex
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/DrawIndirect.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/DrawIndirect.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/DrawIndirect.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/DrawIndirect.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.DrawIndirect (
   -- * Extension Support
     gl_ARB_draw_indirect
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/DrawInstanced.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/DrawInstanced.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/DrawInstanced.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/DrawInstanced.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.DrawInstanced (
   -- * Extension Support
     gl_ARB_draw_instanced
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ES2Compatibility.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ES2Compatibility.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ES2Compatibility.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ES2Compatibility.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ES2Compatibility (
   -- * Extension Support
     gl_ARB_ES2_compatibility
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ES31Compatibility.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ES31Compatibility.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ES31Compatibility.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ES31Compatibility.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ES31Compatibility (
   -- * Extension Support
     gl_ARB_ES3_1_compatibility
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ES3Compatibility.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ES3Compatibility.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ES3Compatibility.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ES3Compatibility.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ES3Compatibility (
   -- * Extension Support
     gl_ARB_ES3_compatibility
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/EnhancedLayouts.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/EnhancedLayouts.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/EnhancedLayouts.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/EnhancedLayouts.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.EnhancedLayouts (
   -- * Extension Support
     gl_ARB_enhanced_layouts
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ExplicitAttribLocation.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ExplicitAttribLocation.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ExplicitAttribLocation.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ExplicitAttribLocation.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ExplicitAttribLocation (
   -- * Extension Support
     gl_ARB_explicit_attrib_location
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ExplicitUniformLocation.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ExplicitUniformLocation.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ExplicitUniformLocation.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ExplicitUniformLocation.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ExplicitUniformLocation (
   -- * Extension Support
     gl_ARB_explicit_uniform_location
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentCoordConventions.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentCoordConventions.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentCoordConventions.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentCoordConventions.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.FragmentCoordConventions (
   -- * Extension Support
     gl_ARB_fragment_coord_conventions
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentLayerViewport.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentLayerViewport.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentLayerViewport.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentLayerViewport.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.FragmentLayerViewport (
   -- * Extension Support
     gl_ARB_fragment_layer_viewport
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentProgram.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentProgram.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentProgram.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentProgram.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.FragmentProgram (
   -- * Extension Support
     gl_ARB_fragment_program
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentProgramShadow.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentProgramShadow.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentProgramShadow.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentProgramShadow.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.FragmentProgramShadow (
   -- * Extension Support
     gl_ARB_fragment_program_shadow
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentShader.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentShader.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentShader.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/FragmentShader.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.FragmentShader (
   -- * Extension Support
     gl_ARB_fragment_shader
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/FramebufferNoAttachments.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/FramebufferNoAttachments.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/FramebufferNoAttachments.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/FramebufferNoAttachments.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.FramebufferNoAttachments (
   -- * Extension Support
     gl_ARB_framebuffer_no_attachments
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/FramebufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/FramebufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/FramebufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/FramebufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.FramebufferObject (
   -- * Extension Support
     gl_ARB_framebuffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/FramebufferSRGB.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/FramebufferSRGB.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/FramebufferSRGB.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/FramebufferSRGB.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.FramebufferSRGB (
   -- * Extension Support
     gl_ARB_framebuffer_sRGB
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/GeometryShader4.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/GeometryShader4.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/GeometryShader4.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/GeometryShader4.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.GeometryShader4 (
   -- * Extension Support
     gl_ARB_geometry_shader4
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/GetProgramBinary.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/GetProgramBinary.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/GetProgramBinary.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/GetProgramBinary.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.GetProgramBinary (
   -- * Extension Support
     gl_ARB_get_program_binary
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/GetTextureSubImage.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/GetTextureSubImage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/GetTextureSubImage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/GetTextureSubImage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.GetTextureSubImage (
   -- * Extension Support
     gl_ARB_get_texture_sub_image
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/GpuShader5.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/GpuShader5.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/GpuShader5.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/GpuShader5.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.GpuShader5 (
   -- * Extension Support
     gl_ARB_gpu_shader5
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/GpuShaderFp64.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/GpuShaderFp64.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/GpuShaderFp64.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/GpuShaderFp64.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.GpuShaderFp64 (
   -- * Extension Support
     gl_ARB_gpu_shader_fp64
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/HalfFloatPixel.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/HalfFloatPixel.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/HalfFloatPixel.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/HalfFloatPixel.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.HalfFloatPixel (
   -- * Extension Support
     gl_ARB_half_float_pixel
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/HalfFloatVertex.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/HalfFloatVertex.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/HalfFloatVertex.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/HalfFloatVertex.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.HalfFloatVertex (
   -- * Extension Support
     gl_ARB_half_float_vertex
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/Imaging.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/Imaging.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/Imaging.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/Imaging.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.Imaging (
   -- * Extension Support
     gl_ARB_imaging
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/IndirectParameters.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/IndirectParameters.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/IndirectParameters.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/IndirectParameters.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.IndirectParameters (
   -- * Extension Support
     gl_ARB_indirect_parameters
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/InstancedArrays.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/InstancedArrays.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/InstancedArrays.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/InstancedArrays.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.InstancedArrays (
   -- * Extension Support
     gl_ARB_instanced_arrays
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/InternalformatQuery.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/InternalformatQuery.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/InternalformatQuery.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/InternalformatQuery.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.InternalformatQuery (
   -- * Extension Support
     gl_ARB_internalformat_query
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/InternalformatQuery2.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/InternalformatQuery2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/InternalformatQuery2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/InternalformatQuery2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.InternalformatQuery2 (
   -- * Extension Support
     gl_ARB_internalformat_query2
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/InvalidateSubdata.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/InvalidateSubdata.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/InvalidateSubdata.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/InvalidateSubdata.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.InvalidateSubdata (
   -- * Extension Support
     gl_ARB_invalidate_subdata
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/MapBufferAlignment.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/MapBufferAlignment.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/MapBufferAlignment.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/MapBufferAlignment.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.MapBufferAlignment (
   -- * Extension Support
     gl_ARB_map_buffer_alignment
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/MapBufferRange.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/MapBufferRange.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/MapBufferRange.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/MapBufferRange.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.MapBufferRange (
   -- * Extension Support
     gl_ARB_map_buffer_range
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/MatrixPalette.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/MatrixPalette.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/MatrixPalette.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/MatrixPalette.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.MatrixPalette (
   -- * Extension Support
     gl_ARB_matrix_palette
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/MultiBind.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/MultiBind.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/MultiBind.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/MultiBind.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.MultiBind (
   -- * Extension Support
     gl_ARB_multi_bind
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/MultiDrawIndirect.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/MultiDrawIndirect.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/MultiDrawIndirect.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/MultiDrawIndirect.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.MultiDrawIndirect (
   -- * Extension Support
     gl_ARB_multi_draw_indirect
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/Multisample.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/Multisample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/Multisample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/Multisample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.Multisample (
   -- * Extension Support
     gl_ARB_multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/Multitexture.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/Multitexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/Multitexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/Multitexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.Multitexture (
   -- * Extension Support
     gl_ARB_multitexture
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/OcclusionQuery.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/OcclusionQuery.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/OcclusionQuery.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/OcclusionQuery.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.OcclusionQuery (
   -- * Extension Support
     gl_ARB_occlusion_query
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/OcclusionQuery2.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/OcclusionQuery2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/OcclusionQuery2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/OcclusionQuery2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.OcclusionQuery2 (
   -- * Extension Support
     gl_ARB_occlusion_query2
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/PipelineStatisticsQuery.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/PipelineStatisticsQuery.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/PipelineStatisticsQuery.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/PipelineStatisticsQuery.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.PipelineStatisticsQuery (
   -- * Extension Support
     gl_ARB_pipeline_statistics_query
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/PixelBufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/PixelBufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/PixelBufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/PixelBufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.PixelBufferObject (
   -- * Extension Support
     gl_ARB_pixel_buffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/PointParameters.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/PointParameters.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/PointParameters.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/PointParameters.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.PointParameters (
   -- * Extension Support
     gl_ARB_point_parameters
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/PointSprite.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/PointSprite.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/PointSprite.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/PointSprite.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.PointSprite (
   -- * Extension Support
     gl_ARB_point_sprite
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ProgramInterfaceQuery.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ProgramInterfaceQuery.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ProgramInterfaceQuery.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ProgramInterfaceQuery.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ProgramInterfaceQuery (
   -- * Extension Support
     gl_ARB_program_interface_query
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ProvokingVertex.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ProvokingVertex.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ProvokingVertex.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ProvokingVertex.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ProvokingVertex (
   -- * Extension Support
     gl_ARB_provoking_vertex
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/QueryBufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/QueryBufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/QueryBufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/QueryBufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.QueryBufferObject (
   -- * Extension Support
     gl_ARB_query_buffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/RobustBufferAccessBehavior.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/RobustBufferAccessBehavior.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/RobustBufferAccessBehavior.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/RobustBufferAccessBehavior.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.RobustBufferAccessBehavior (
   -- * Extension Support
     gl_ARB_robust_buffer_access_behavior
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/Robustness.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/Robustness.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/Robustness.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/Robustness.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.Robustness (
   -- * Extension Support
     gl_ARB_robustness
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/RobustnessIsolation.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/RobustnessIsolation.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/RobustnessIsolation.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/RobustnessIsolation.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.RobustnessIsolation (
   -- * Extension Support
     gl_ARB_robustness_isolation
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/SampleShading.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/SampleShading.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/SampleShading.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/SampleShading.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.SampleShading (
   -- * Extension Support
     gl_ARB_sample_shading
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/SamplerObjects.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/SamplerObjects.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/SamplerObjects.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/SamplerObjects.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.SamplerObjects (
   -- * Extension Support
     gl_ARB_sampler_objects
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/SeamlessCubeMap.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/SeamlessCubeMap.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/SeamlessCubeMap.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/SeamlessCubeMap.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.SeamlessCubeMap (
   -- * Extension Support
     gl_ARB_seamless_cube_map
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/SeamlessCubemapPerTexture.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/SeamlessCubemapPerTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/SeamlessCubemapPerTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/SeamlessCubemapPerTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.SeamlessCubemapPerTexture (
   -- * Extension Support
     gl_ARB_seamless_cubemap_per_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/SeparateShaderObjects.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/SeparateShaderObjects.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/SeparateShaderObjects.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/SeparateShaderObjects.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.SeparateShaderObjects (
   -- * Extension Support
     gl_ARB_separate_shader_objects
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderAtomicCounters.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderAtomicCounters.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderAtomicCounters.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderAtomicCounters.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShaderAtomicCounters (
   -- * Extension Support
     gl_ARB_shader_atomic_counters
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderBitEncoding.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderBitEncoding.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderBitEncoding.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderBitEncoding.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShaderBitEncoding (
   -- * Extension Support
     gl_ARB_shader_bit_encoding
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderDrawParameters.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderDrawParameters.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderDrawParameters.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderDrawParameters.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShaderDrawParameters (
   -- * Extension Support
     gl_ARB_shader_draw_parameters
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderGroupVote.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderGroupVote.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderGroupVote.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderGroupVote.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShaderGroupVote (
   -- * Extension Support
     gl_ARB_shader_group_vote
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderImageLoadStore.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderImageLoadStore.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderImageLoadStore.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderImageLoadStore.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShaderImageLoadStore (
   -- * Extension Support
     gl_ARB_shader_image_load_store
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderImageSize.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderImageSize.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderImageSize.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderImageSize.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShaderImageSize (
   -- * Extension Support
     gl_ARB_shader_image_size
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderObjects.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderObjects.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderObjects.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderObjects.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShaderObjects (
   -- * Extension Support
     gl_ARB_shader_objects
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderPrecision.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderPrecision.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderPrecision.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderPrecision.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShaderPrecision (
   -- * Extension Support
     gl_ARB_shader_precision
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderStencilExport.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderStencilExport.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderStencilExport.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderStencilExport.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShaderStencilExport (
   -- * Extension Support
     gl_ARB_shader_stencil_export
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderStorageBufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderStorageBufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderStorageBufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderStorageBufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShaderStorageBufferObject (
   -- * Extension Support
     gl_ARB_shader_storage_buffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderSubroutine.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderSubroutine.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderSubroutine.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderSubroutine.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShaderSubroutine (
   -- * Extension Support
     gl_ARB_shader_subroutine
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderTextureImageSamples.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderTextureImageSamples.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderTextureImageSamples.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderTextureImageSamples.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShaderTextureImageSamples (
   -- * Extension Support
     gl_ARB_shader_texture_image_samples
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderTextureLod.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderTextureLod.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderTextureLod.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShaderTextureLod.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShaderTextureLod (
   -- * Extension Support
     gl_ARB_shader_texture_lod
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguage100.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguage100.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguage100.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguage100.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShadingLanguage100 (
   -- * Extension Support
     gl_ARB_shading_language_100
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguage420pack.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguage420pack.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguage420pack.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguage420pack.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShadingLanguage420pack (
   -- * Extension Support
     gl_ARB_shading_language_420pack
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguageInclude.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguageInclude.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguageInclude.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguageInclude.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShadingLanguageInclude (
   -- * Extension Support
     gl_ARB_shading_language_include
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguagePacking.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguagePacking.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguagePacking.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShadingLanguagePacking.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShadingLanguagePacking (
   -- * Extension Support
     gl_ARB_shading_language_packing
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/Shadow.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/Shadow.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/Shadow.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/Shadow.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.Shadow (
   -- * Extension Support
     gl_ARB_shadow
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ShadowAmbient.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ShadowAmbient.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ShadowAmbient.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ShadowAmbient.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ShadowAmbient (
   -- * Extension Support
     gl_ARB_shadow_ambient
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/SparseBuffer.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/SparseBuffer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/SparseBuffer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/SparseBuffer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.SparseBuffer (
   -- * Extension Support
     gl_ARB_sparse_buffer
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/SparseTexture.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/SparseTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/SparseTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/SparseTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.SparseTexture (
   -- * Extension Support
     gl_ARB_sparse_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/StencilTexturing.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/StencilTexturing.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/StencilTexturing.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/StencilTexturing.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.StencilTexturing (
   -- * Extension Support
     gl_ARB_stencil_texturing
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/Sync.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/Sync.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/Sync.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/Sync.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.Sync (
   -- * Extension Support
     gl_ARB_sync
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TessellationShader.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TessellationShader.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TessellationShader.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TessellationShader.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TessellationShader (
   -- * Extension Support
     gl_ARB_tessellation_shader
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBarrier.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBarrier.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBarrier.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBarrier.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureBarrier (
   -- * Extension Support
     gl_ARB_texture_barrier
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBorderClamp.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBorderClamp.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBorderClamp.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBorderClamp.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureBorderClamp (
   -- * Extension Support
     gl_ARB_texture_border_clamp
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureBufferObject (
   -- * Extension Support
     gl_ARB_texture_buffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBufferObjectRgb32.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBufferObjectRgb32.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBufferObjectRgb32.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBufferObjectRgb32.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureBufferObjectRgb32 (
   -- * Extension Support
     gl_ARB_texture_buffer_object_rgb32
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBufferRange.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBufferRange.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBufferRange.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureBufferRange.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureBufferRange (
   -- * Extension Support
     gl_ARB_texture_buffer_range
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCompression.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCompression.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCompression.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCompression.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureCompression (
   -- * Extension Support
     gl_ARB_texture_compression
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCompressionBptc.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCompressionBptc.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCompressionBptc.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCompressionBptc.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureCompressionBptc (
   -- * Extension Support
     gl_ARB_texture_compression_bptc
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCompressionRgtc.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCompressionRgtc.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCompressionRgtc.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCompressionRgtc.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureCompressionRgtc (
   -- * Extension Support
     gl_ARB_texture_compression_rgtc
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCubeMap.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCubeMap.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCubeMap.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCubeMap.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureCubeMap (
   -- * Extension Support
     gl_ARB_texture_cube_map
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCubeMapArray.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCubeMapArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCubeMapArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureCubeMapArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureCubeMapArray (
   -- * Extension Support
     gl_ARB_texture_cube_map_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvAdd.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvAdd.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvAdd.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvAdd.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureEnvAdd (
   -- * Extension Support
     gl_ARB_texture_env_add
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvCombine.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvCombine.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvCombine.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvCombine.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureEnvCombine (
   -- * Extension Support
     gl_ARB_texture_env_combine
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvCrossbar.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvCrossbar.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvCrossbar.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvCrossbar.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureEnvCrossbar (
   -- * Extension Support
     gl_ARB_texture_env_crossbar
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvDot3.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvDot3.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvDot3.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureEnvDot3.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureEnvDot3 (
   -- * Extension Support
     gl_ARB_texture_env_dot3
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureFloat.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureFloat (
   -- * Extension Support
     gl_ARB_texture_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureGather.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureGather.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureGather.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureGather.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureGather (
   -- * Extension Support
     gl_ARB_texture_gather
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureMirrorClampToEdge.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureMirrorClampToEdge.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureMirrorClampToEdge.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureMirrorClampToEdge.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureMirrorClampToEdge (
   -- * Extension Support
     gl_ARB_texture_mirror_clamp_to_edge
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureMirroredRepeat.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureMirroredRepeat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureMirroredRepeat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureMirroredRepeat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureMirroredRepeat (
   -- * Extension Support
     gl_ARB_texture_mirrored_repeat
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureMultisample.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureMultisample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureMultisample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureMultisample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureMultisample (
   -- * Extension Support
     gl_ARB_texture_multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureNonPowerOfTwo.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureNonPowerOfTwo.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureNonPowerOfTwo.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureNonPowerOfTwo.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureNonPowerOfTwo (
   -- * Extension Support
     gl_ARB_texture_non_power_of_two
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureQueryLevels.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureQueryLevels.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureQueryLevels.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureQueryLevels.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureQueryLevels (
   -- * Extension Support
     gl_ARB_texture_query_levels
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureQueryLod.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureQueryLod.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureQueryLod.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureQueryLod.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureQueryLod (
   -- * Extension Support
     gl_ARB_texture_query_lod
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureRectangle.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureRectangle.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureRectangle.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureRectangle.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureRectangle (
   -- * Extension Support
     gl_ARB_texture_rectangle
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureRg.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureRg.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureRg.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureRg.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureRg (
   -- * Extension Support
     gl_ARB_texture_rg
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureRgb10A2ui.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureRgb10A2ui.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureRgb10A2ui.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureRgb10A2ui.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureRgb10A2ui (
   -- * Extension Support
     gl_ARB_texture_rgb10_a2ui
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureStencil8.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureStencil8.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureStencil8.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureStencil8.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureStencil8 (
   -- * Extension Support
     gl_ARB_texture_stencil8
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureStorage.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureStorage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureStorage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureStorage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureStorage (
   -- * Extension Support
     gl_ARB_texture_storage
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureStorageMultisample.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureStorageMultisample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureStorageMultisample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureStorageMultisample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureStorageMultisample (
   -- * Extension Support
     gl_ARB_texture_storage_multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureSwizzle.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureSwizzle.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureSwizzle.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureSwizzle.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureSwizzle (
   -- * Extension Support
     gl_ARB_texture_swizzle
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureView.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureView.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TextureView.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TextureView.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TextureView (
   -- * Extension Support
     gl_ARB_texture_view
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TimerQuery.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TimerQuery.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TimerQuery.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TimerQuery.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TimerQuery (
   -- * Extension Support
     gl_ARB_timer_query
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedback2.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedback2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedback2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedback2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TransformFeedback2 (
   -- * Extension Support
     gl_ARB_transform_feedback2
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedback3.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedback3.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedback3.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedback3.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TransformFeedback3 (
   -- * Extension Support
     gl_ARB_transform_feedback3
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedbackInstanced.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedbackInstanced.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedbackInstanced.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedbackInstanced.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TransformFeedbackInstanced (
   -- * Extension Support
     gl_ARB_transform_feedback_instanced
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedbackOverflowQuery.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedbackOverflowQuery.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedbackOverflowQuery.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TransformFeedbackOverflowQuery.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TransformFeedbackOverflowQuery (
   -- * Extension Support
     gl_ARB_transform_feedback_overflow_query
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/TransposeMatrix.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/TransposeMatrix.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/TransposeMatrix.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/TransposeMatrix.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.TransposeMatrix (
   -- * Extension Support
     gl_ARB_transpose_matrix
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/UniformBufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/UniformBufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/UniformBufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/UniformBufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.UniformBufferObject (
   -- * Extension Support
     gl_ARB_uniform_buffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexArrayBgra.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexArrayBgra.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexArrayBgra.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexArrayBgra.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.VertexArrayBgra (
   -- * Extension Support
     gl_ARB_vertex_array_bgra
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexArrayObject.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexArrayObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexArrayObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexArrayObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.VertexArrayObject (
   -- * Extension Support
     gl_ARB_vertex_array_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexAttrib64bit.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexAttrib64bit.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexAttrib64bit.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexAttrib64bit.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.VertexAttrib64bit (
   -- * Extension Support
     gl_ARB_vertex_attrib_64bit
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexAttribBinding.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexAttribBinding.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexAttribBinding.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexAttribBinding.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.VertexAttribBinding (
   -- * Extension Support
     gl_ARB_vertex_attrib_binding
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexBlend.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexBlend.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexBlend.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexBlend.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.VertexBlend (
   -- * Extension Support
     gl_ARB_vertex_blend
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexBufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexBufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexBufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexBufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.VertexBufferObject (
   -- * Extension Support
     gl_ARB_vertex_buffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexProgram.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexProgram.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexProgram.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexProgram.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.VertexProgram (
   -- * Extension Support
     gl_ARB_vertex_program
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexShader.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexShader.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexShader.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexShader.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.VertexShader (
   -- * Extension Support
     gl_ARB_vertex_shader
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexType10f11f11fRev.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexType10f11f11fRev.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexType10f11f11fRev.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexType10f11f11fRev.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.VertexType10f11f11fRev (
   -- * Extension Support
     gl_ARB_vertex_type_10f_11f_11f_rev
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexType2101010Rev.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexType2101010Rev.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/VertexType2101010Rev.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/VertexType2101010Rev.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.VertexType2101010Rev (
   -- * Extension Support
     gl_ARB_vertex_type_2_10_10_10_rev
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/ViewportArray.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/ViewportArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/ViewportArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/ViewportArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.ViewportArray (
   -- * Extension Support
     gl_ARB_viewport_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/WindowPos.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/WindowPos.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/WindowPos.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/WindowPos.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARB.WindowPos (
   -- * Extension Support
     gl_ARB_window_pos
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARM.hs b/dist/build/autogen/Graphics/GL/Ext/ARM.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARM.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARM.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARM (
   -- * ARM Extensions
     module Graphics.GL.Ext.ARM.MaliProgramBinary
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARM/MaliProgramBinary.hs b/dist/build/autogen/Graphics/GL/Ext/ARM/MaliProgramBinary.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARM/MaliProgramBinary.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARM/MaliProgramBinary.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARM.MaliProgramBinary (
   -- * Extension Support
     gl_ARM_mali_program_binary
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARM/MaliShaderBinary.hs b/dist/build/autogen/Graphics/GL/Ext/ARM/MaliShaderBinary.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARM/MaliShaderBinary.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARM/MaliShaderBinary.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARM.MaliShaderBinary (
   -- * Extension Support
     gl_ARM_mali_shader_binary
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARM/Rgba8.hs b/dist/build/autogen/Graphics/GL/Ext/ARM/Rgba8.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARM/Rgba8.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARM/Rgba8.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARM.Rgba8 (
   -- * Extension Support
     gl_ARM_rgba8
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARM/ShaderFramebufferFetch.hs b/dist/build/autogen/Graphics/GL/Ext/ARM/ShaderFramebufferFetch.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARM/ShaderFramebufferFetch.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARM/ShaderFramebufferFetch.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARM.ShaderFramebufferFetch (
   -- * Extension Support
     gl_ARM_shader_framebuffer_fetch
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARM/ShaderFramebufferFetchDepthStencil.hs b/dist/build/autogen/Graphics/GL/Ext/ARM/ShaderFramebufferFetchDepthStencil.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARM/ShaderFramebufferFetchDepthStencil.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARM/ShaderFramebufferFetchDepthStencil.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ARM.ShaderFramebufferFetchDepthStencil (
   -- * Extension Support
     gl_ARM_shader_framebuffer_fetch_depth_stencil
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI.hs b/dist/build/autogen/Graphics/GL/Ext/ATI.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI (
   -- * ATI Extensions
     module Graphics.GL.Ext.ATI.DrawBuffers
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/DrawBuffers.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/DrawBuffers.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/DrawBuffers.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/DrawBuffers.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.DrawBuffers (
   -- * Extension Support
     gl_ATI_draw_buffers
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/ElementArray.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/ElementArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/ElementArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/ElementArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.ElementArray (
   -- * Extension Support
     gl_ATI_element_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/EnvmapBumpmap.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/EnvmapBumpmap.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/EnvmapBumpmap.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/EnvmapBumpmap.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.EnvmapBumpmap (
   -- * Extension Support
     gl_ATI_envmap_bumpmap
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/FragmentShader.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/FragmentShader.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/FragmentShader.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/FragmentShader.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.FragmentShader (
   -- * Extension Support
     gl_ATI_fragment_shader
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/MapObjectBuffer.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/MapObjectBuffer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/MapObjectBuffer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/MapObjectBuffer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.MapObjectBuffer (
   -- * Extension Support
     gl_ATI_map_object_buffer
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/Meminfo.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/Meminfo.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/Meminfo.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/Meminfo.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.Meminfo (
   -- * Extension Support
     gl_ATI_meminfo
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/PixelFormatFloat.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/PixelFormatFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/PixelFormatFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/PixelFormatFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.PixelFormatFloat (
   -- * Extension Support
     gl_ATI_pixel_format_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/PnTriangles.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/PnTriangles.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/PnTriangles.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/PnTriangles.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.PnTriangles (
   -- * Extension Support
     gl_ATI_pn_triangles
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/SeparateStencil.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/SeparateStencil.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/SeparateStencil.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/SeparateStencil.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.SeparateStencil (
   -- * Extension Support
     gl_ATI_separate_stencil
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/TextFragmentShader.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/TextFragmentShader.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/TextFragmentShader.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/TextFragmentShader.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.TextFragmentShader (
   -- * Extension Support
     gl_ATI_text_fragment_shader
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/TextureEnvCombine3.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/TextureEnvCombine3.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/TextureEnvCombine3.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/TextureEnvCombine3.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.TextureEnvCombine3 (
   -- * Extension Support
     gl_ATI_texture_env_combine3
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/TextureFloat.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/TextureFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/TextureFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/TextureFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.TextureFloat (
   -- * Extension Support
     gl_ATI_texture_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/TextureMirrorOnce.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/TextureMirrorOnce.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/TextureMirrorOnce.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/TextureMirrorOnce.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.TextureMirrorOnce (
   -- * Extension Support
     gl_ATI_texture_mirror_once
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/VertexArrayObject.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/VertexArrayObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/VertexArrayObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/VertexArrayObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.VertexArrayObject (
   -- * Extension Support
     gl_ATI_vertex_array_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/VertexAttribArrayObject.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/VertexAttribArrayObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/VertexAttribArrayObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/VertexAttribArrayObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.VertexAttribArrayObject (
   -- * Extension Support
     gl_ATI_vertex_attrib_array_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/ATI/VertexStreams.hs b/dist/build/autogen/Graphics/GL/Ext/ATI/VertexStreams.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ATI/VertexStreams.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ATI/VertexStreams.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ATI.VertexStreams (
   -- * Extension Support
     gl_ATI_vertex_streams
diff --git a/dist/build/autogen/Graphics/GL/Ext/DMP.hs b/dist/build/autogen/Graphics/GL/Ext/DMP.hs
--- a/dist/build/autogen/Graphics/GL/Ext/DMP.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/DMP.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.DMP (
   -- * DMP Extensions
     module Graphics.GL.Ext.DMP.ProgramBinary
diff --git a/dist/build/autogen/Graphics/GL/Ext/DMP/ProgramBinary.hs b/dist/build/autogen/Graphics/GL/Ext/DMP/ProgramBinary.hs
--- a/dist/build/autogen/Graphics/GL/Ext/DMP/ProgramBinary.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/DMP/ProgramBinary.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.DMP.ProgramBinary (
   -- * Extension Support
     gl_DMP_program_binary
diff --git a/dist/build/autogen/Graphics/GL/Ext/DMP/ShaderBinary.hs b/dist/build/autogen/Graphics/GL/Ext/DMP/ShaderBinary.hs
--- a/dist/build/autogen/Graphics/GL/Ext/DMP/ShaderBinary.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/DMP/ShaderBinary.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.DMP.ShaderBinary (
   -- * Extension Support
     gl_DMP_shader_binary
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT.hs b/dist/build/autogen/Graphics/GL/Ext/EXT.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT (
   -- * EXT Extensions
     module Graphics.GL.Ext.EXT.Abgr
@@ -131,6 +131,8 @@
   , module Graphics.GL.Ext.EXT.TextureRg
   , module Graphics.GL.Ext.EXT.TextureSRGB
   , module Graphics.GL.Ext.EXT.TextureSRGBDecode
+  , module Graphics.GL.Ext.EXT.TextureSRGBR8
+  , module Graphics.GL.Ext.EXT.TextureSRGBRG8
   , module Graphics.GL.Ext.EXT.TextureSharedExponent
   , module Graphics.GL.Ext.EXT.TextureSnorm
   , module Graphics.GL.Ext.EXT.TextureStorage
@@ -146,6 +148,7 @@
   , module Graphics.GL.Ext.EXT.VertexShader
   , module Graphics.GL.Ext.EXT.VertexWeighting
   , module Graphics.GL.Ext.EXT.X11SyncObject
+  , module Graphics.GL.Ext.EXT.YUVTarget
 ) where
 
 import Graphics.GL.Ext.EXT.Abgr
@@ -277,6 +280,8 @@
 import Graphics.GL.Ext.EXT.TextureRg
 import Graphics.GL.Ext.EXT.TextureSRGB
 import Graphics.GL.Ext.EXT.TextureSRGBDecode
+import Graphics.GL.Ext.EXT.TextureSRGBR8
+import Graphics.GL.Ext.EXT.TextureSRGBRG8
 import Graphics.GL.Ext.EXT.TextureSharedExponent
 import Graphics.GL.Ext.EXT.TextureSnorm
 import Graphics.GL.Ext.EXT.TextureStorage
@@ -292,3 +297,4 @@
 import Graphics.GL.Ext.EXT.VertexShader
 import Graphics.GL.Ext.EXT.VertexWeighting
 import Graphics.GL.Ext.EXT.X11SyncObject
+import Graphics.GL.Ext.EXT.YUVTarget
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/Abgr.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/Abgr.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/Abgr.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/Abgr.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.Abgr (
   -- * Extension Support
     gl_EXT_abgr
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/BaseInstance.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/BaseInstance.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/BaseInstance.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/BaseInstance.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.BaseInstance (
   -- * Extension Support
     gl_EXT_base_instance
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/Bgra.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/Bgra.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/Bgra.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/Bgra.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.Bgra (
   -- * Extension Support
     gl_EXT_bgra
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/BindableUniform.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/BindableUniform.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/BindableUniform.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/BindableUniform.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.BindableUniform (
   -- * Extension Support
     gl_EXT_bindable_uniform
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/BlendColor.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/BlendColor.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/BlendColor.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/BlendColor.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.BlendColor (
   -- * Extension Support
     gl_EXT_blend_color
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/BlendEquationSeparate.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/BlendEquationSeparate.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/BlendEquationSeparate.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/BlendEquationSeparate.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.BlendEquationSeparate (
   -- * Extension Support
     gl_EXT_blend_equation_separate
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/BlendFuncSeparate.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/BlendFuncSeparate.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/BlendFuncSeparate.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/BlendFuncSeparate.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.BlendFuncSeparate (
   -- * Extension Support
     gl_EXT_blend_func_separate
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/BlendLogicOp.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/BlendLogicOp.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/BlendLogicOp.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/BlendLogicOp.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.BlendLogicOp (
   -- * Extension Support
     gl_EXT_blend_logic_op
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/BlendMinmax.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/BlendMinmax.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/BlendMinmax.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/BlendMinmax.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.BlendMinmax (
   -- * Extension Support
     gl_EXT_blend_minmax
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/BlendSubtract.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/BlendSubtract.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/BlendSubtract.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/BlendSubtract.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.BlendSubtract (
   -- * Extension Support
     gl_EXT_blend_subtract
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ClipVolumeHint.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ClipVolumeHint.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ClipVolumeHint.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ClipVolumeHint.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ClipVolumeHint (
   -- * Extension Support
     gl_EXT_clip_volume_hint
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/Cmyka.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/Cmyka.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/Cmyka.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/Cmyka.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.Cmyka (
   -- * Extension Support
     gl_EXT_cmyka
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ColorBufferHalfFloat.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ColorBufferHalfFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ColorBufferHalfFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ColorBufferHalfFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ColorBufferHalfFloat (
   -- * Extension Support
     gl_EXT_color_buffer_half_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ColorSubtable.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ColorSubtable.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ColorSubtable.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ColorSubtable.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ColorSubtable (
   -- * Extension Support
     gl_EXT_color_subtable
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/CompiledVertexArray.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/CompiledVertexArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/CompiledVertexArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/CompiledVertexArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.CompiledVertexArray (
   -- * Extension Support
     gl_EXT_compiled_vertex_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/Convolution.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/Convolution.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/Convolution.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/Convolution.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.Convolution (
   -- * Extension Support
     gl_EXT_convolution
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/CoordinateFrame.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/CoordinateFrame.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/CoordinateFrame.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/CoordinateFrame.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.CoordinateFrame (
   -- * Extension Support
     gl_EXT_coordinate_frame
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/CopyImage.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/CopyImage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/CopyImage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/CopyImage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.CopyImage (
   -- * Extension Support
     gl_EXT_copy_image
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/CopyTexture.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/CopyTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/CopyTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/CopyTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.CopyTexture (
   -- * Extension Support
     gl_EXT_copy_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/CullVertex.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/CullVertex.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/CullVertex.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/CullVertex.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.CullVertex (
   -- * Extension Support
     gl_EXT_cull_vertex
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/DebugLabel.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/DebugLabel.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/DebugLabel.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/DebugLabel.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.DebugLabel (
   -- * Extension Support
     gl_EXT_debug_label
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/DebugMarker.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/DebugMarker.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/DebugMarker.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/DebugMarker.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.DebugMarker (
   -- * Extension Support
     gl_EXT_debug_marker
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/DepthBoundsTest.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/DepthBoundsTest.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/DepthBoundsTest.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/DepthBoundsTest.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.DepthBoundsTest (
   -- * Extension Support
     gl_EXT_depth_bounds_test
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/DirectStateAccess.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/DirectStateAccess.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/DirectStateAccess.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/DirectStateAccess.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.DirectStateAccess (
   -- * Extension Support
     gl_EXT_direct_state_access
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/DiscardFramebuffer.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/DiscardFramebuffer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/DiscardFramebuffer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/DiscardFramebuffer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.DiscardFramebuffer (
   -- * Extension Support
     gl_EXT_discard_framebuffer
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/DisjointTimerQuery.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/DisjointTimerQuery.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/DisjointTimerQuery.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/DisjointTimerQuery.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.DisjointTimerQuery (
   -- * Extension Support
     gl_EXT_disjoint_timer_query
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/DrawBuffers.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/DrawBuffers.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/DrawBuffers.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/DrawBuffers.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.DrawBuffers (
   -- * Extension Support
     gl_EXT_draw_buffers
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/DrawBuffers2.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/DrawBuffers2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/DrawBuffers2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/DrawBuffers2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.DrawBuffers2 (
   -- * Extension Support
     gl_EXT_draw_buffers2
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/DrawBuffersIndexed.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/DrawBuffersIndexed.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/DrawBuffersIndexed.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/DrawBuffersIndexed.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.DrawBuffersIndexed (
   -- * Extension Support
     gl_EXT_draw_buffers_indexed
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/DrawElementsBaseVertex.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/DrawElementsBaseVertex.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/DrawElementsBaseVertex.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/DrawElementsBaseVertex.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.DrawElementsBaseVertex (
   -- * Extension Support
     gl_EXT_draw_elements_base_vertex
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/DrawInstanced.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/DrawInstanced.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/DrawInstanced.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/DrawInstanced.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.DrawInstanced (
   -- * Extension Support
     gl_EXT_draw_instanced
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/DrawRangeElements.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/DrawRangeElements.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/DrawRangeElements.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/DrawRangeElements.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.DrawRangeElements (
   -- * Extension Support
     gl_EXT_draw_range_elements
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/FogCoord.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/FogCoord.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/FogCoord.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/FogCoord.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.FogCoord (
   -- * Extension Support
     gl_EXT_fog_coord
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/FourTwoTwoPixels.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/FourTwoTwoPixels.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/FourTwoTwoPixels.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/FourTwoTwoPixels.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.FourTwoTwoPixels (
   -- * Extension Support
     gl_EXT_422_pixels
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferBlit.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferBlit.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferBlit.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferBlit.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.FramebufferBlit (
   -- * Extension Support
     gl_EXT_framebuffer_blit
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferMultisample.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferMultisample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferMultisample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferMultisample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.FramebufferMultisample (
   -- * Extension Support
     gl_EXT_framebuffer_multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferMultisampleBlitScaled.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferMultisampleBlitScaled.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferMultisampleBlitScaled.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferMultisampleBlitScaled.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.FramebufferMultisampleBlitScaled (
   -- * Extension Support
     gl_EXT_framebuffer_multisample_blit_scaled
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.FramebufferObject (
   -- * Extension Support
     gl_EXT_framebuffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferSRGB.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferSRGB.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferSRGB.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/FramebufferSRGB.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.FramebufferSRGB (
   -- * Extension Support
     gl_EXT_framebuffer_sRGB
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/GeometryPointSize.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/GeometryPointSize.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/GeometryPointSize.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/GeometryPointSize.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.GeometryPointSize (
   -- * Extension Support
     gl_EXT_geometry_point_size
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/GeometryShader.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/GeometryShader.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/GeometryShader.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/GeometryShader.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.GeometryShader (
   -- * Extension Support
     gl_EXT_geometry_shader
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/GeometryShader4.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/GeometryShader4.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/GeometryShader4.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/GeometryShader4.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.GeometryShader4 (
   -- * Extension Support
     gl_EXT_geometry_shader4
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/GpuProgramParameters.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/GpuProgramParameters.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/GpuProgramParameters.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/GpuProgramParameters.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.GpuProgramParameters (
   -- * Extension Support
     gl_EXT_gpu_program_parameters
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/GpuShader4.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/GpuShader4.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/GpuShader4.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/GpuShader4.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.GpuShader4 (
   -- * Extension Support
     gl_EXT_gpu_shader4
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/GpuShader5.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/GpuShader5.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/GpuShader5.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/GpuShader5.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.GpuShader5 (
   -- * Extension Support
     gl_EXT_gpu_shader5
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/Histogram.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/Histogram.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/Histogram.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/Histogram.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.Histogram (
   -- * Extension Support
     gl_EXT_histogram
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/IndexArrayFormats.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/IndexArrayFormats.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/IndexArrayFormats.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/IndexArrayFormats.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.IndexArrayFormats (
   -- * Extension Support
     gl_EXT_index_array_formats
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/IndexFunc.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/IndexFunc.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/IndexFunc.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/IndexFunc.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.IndexFunc (
   -- * Extension Support
     gl_EXT_index_func
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/IndexMaterial.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/IndexMaterial.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/IndexMaterial.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/IndexMaterial.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.IndexMaterial (
   -- * Extension Support
     gl_EXT_index_material
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/IndexTexture.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/IndexTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/IndexTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/IndexTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.IndexTexture (
   -- * Extension Support
     gl_EXT_index_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/InstancedArrays.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/InstancedArrays.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/InstancedArrays.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/InstancedArrays.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.InstancedArrays (
   -- * Extension Support
     gl_EXT_instanced_arrays
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/LightTexture.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/LightTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/LightTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/LightTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.LightTexture (
   -- * Extension Support
     gl_EXT_light_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/MapBufferRange.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/MapBufferRange.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/MapBufferRange.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/MapBufferRange.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.MapBufferRange (
   -- * Extension Support
     gl_EXT_map_buffer_range
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/MiscAttribute.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/MiscAttribute.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/MiscAttribute.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/MiscAttribute.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.MiscAttribute (
   -- * Extension Support
     gl_EXT_misc_attribute
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/MultiDrawArrays.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/MultiDrawArrays.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/MultiDrawArrays.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/MultiDrawArrays.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.MultiDrawArrays (
   -- * Extension Support
     gl_EXT_multi_draw_arrays
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/MultiDrawIndirect.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/MultiDrawIndirect.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/MultiDrawIndirect.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/MultiDrawIndirect.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.MultiDrawIndirect (
   -- * Extension Support
     gl_EXT_multi_draw_indirect
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/Multisample.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/Multisample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/Multisample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/Multisample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.Multisample (
   -- * Extension Support
     gl_EXT_multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/MultisampledRenderToTexture.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/MultisampledRenderToTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/MultisampledRenderToTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/MultisampledRenderToTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.MultisampledRenderToTexture (
   -- * Extension Support
     gl_EXT_multisampled_render_to_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/MultiviewDrawBuffers.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/MultiviewDrawBuffers.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/MultiviewDrawBuffers.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/MultiviewDrawBuffers.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.MultiviewDrawBuffers (
   -- * Extension Support
     gl_EXT_multiview_draw_buffers
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/OcclusionQueryBoolean.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/OcclusionQueryBoolean.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/OcclusionQueryBoolean.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/OcclusionQueryBoolean.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.OcclusionQueryBoolean (
   -- * Extension Support
     gl_EXT_occlusion_query_boolean
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/PackedDepthStencil.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/PackedDepthStencil.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/PackedDepthStencil.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/PackedDepthStencil.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.PackedDepthStencil (
   -- * Extension Support
     gl_EXT_packed_depth_stencil
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/PackedFloat.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/PackedFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/PackedFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/PackedFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.PackedFloat (
   -- * Extension Support
     gl_EXT_packed_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/PackedPixels.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/PackedPixels.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/PackedPixels.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/PackedPixels.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.PackedPixels (
   -- * Extension Support
     gl_EXT_packed_pixels
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/PalettedTexture.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/PalettedTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/PalettedTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/PalettedTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.PalettedTexture (
   -- * Extension Support
     gl_EXT_paletted_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/PixelBufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/PixelBufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/PixelBufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/PixelBufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.PixelBufferObject (
   -- * Extension Support
     gl_EXT_pixel_buffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/PixelTransform.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/PixelTransform.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/PixelTransform.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/PixelTransform.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.PixelTransform (
   -- * Extension Support
     gl_EXT_pixel_transform
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/PixelTransformColorTable.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/PixelTransformColorTable.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/PixelTransformColorTable.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/PixelTransformColorTable.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.PixelTransformColorTable (
   -- * Extension Support
     gl_EXT_pixel_transform_color_table
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/PointParameters.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/PointParameters.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/PointParameters.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/PointParameters.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.PointParameters (
   -- * Extension Support
     gl_EXT_point_parameters
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/PolygonOffset.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/PolygonOffset.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/PolygonOffset.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/PolygonOffset.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.PolygonOffset (
   -- * Extension Support
     gl_EXT_polygon_offset
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/PolygonOffsetClamp.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/PolygonOffsetClamp.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/PolygonOffsetClamp.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/PolygonOffsetClamp.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.PolygonOffsetClamp (
   -- * Extension Support
     gl_EXT_polygon_offset_clamp
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/PostDepthCoverage.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/PostDepthCoverage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/PostDepthCoverage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/PostDepthCoverage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.PostDepthCoverage (
   -- * Extension Support
     gl_EXT_post_depth_coverage
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/PrimitiveBoundingBox.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/PrimitiveBoundingBox.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/PrimitiveBoundingBox.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/PrimitiveBoundingBox.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.PrimitiveBoundingBox (
   -- * Extension Support
     gl_EXT_primitive_bounding_box
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ProvokingVertex.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ProvokingVertex.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ProvokingVertex.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ProvokingVertex.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ProvokingVertex (
   -- * Extension Support
     gl_EXT_provoking_vertex
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/PvrtcSRGB.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/PvrtcSRGB.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/PvrtcSRGB.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/PvrtcSRGB.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.PvrtcSRGB (
   -- * Extension Support
     gl_EXT_pvrtc_sRGB
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/RasterMultisample.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/RasterMultisample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/RasterMultisample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/RasterMultisample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.RasterMultisample (
   -- * Extension Support
     gl_EXT_raster_multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ReadFormatBgra.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ReadFormatBgra.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ReadFormatBgra.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ReadFormatBgra.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ReadFormatBgra (
   -- * Extension Support
     gl_EXT_read_format_bgra
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/RenderSnorm.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/RenderSnorm.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/RenderSnorm.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/RenderSnorm.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.RenderSnorm (
   -- * Extension Support
     gl_EXT_render_snorm
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/RescaleNormal.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/RescaleNormal.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/RescaleNormal.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/RescaleNormal.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.RescaleNormal (
   -- * Extension Support
     gl_EXT_rescale_normal
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/Robustness.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/Robustness.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/Robustness.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/Robustness.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.Robustness (
   -- * Extension Support
     gl_EXT_robustness
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/SRGB.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/SRGB.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/SRGB.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/SRGB.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.SRGB (
   -- * Extension Support
     gl_EXT_sRGB
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/SRGBWriteControl.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/SRGBWriteControl.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/SRGBWriteControl.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/SRGBWriteControl.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.SRGBWriteControl (
   -- * Extension Support
     gl_EXT_sRGB_write_control
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/SecondaryColor.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/SecondaryColor.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/SecondaryColor.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/SecondaryColor.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.SecondaryColor (
   -- * Extension Support
     gl_EXT_secondary_color
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/SeparateShaderObjects.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/SeparateShaderObjects.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/SeparateShaderObjects.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/SeparateShaderObjects.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.SeparateShaderObjects (
   -- * Extension Support
     gl_EXT_separate_shader_objects
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/SeparateSpecularColor.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/SeparateSpecularColor.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/SeparateSpecularColor.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/SeparateSpecularColor.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.SeparateSpecularColor (
   -- * Extension Support
     gl_EXT_separate_specular_color
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderFramebufferFetch.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderFramebufferFetch.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderFramebufferFetch.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderFramebufferFetch.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ShaderFramebufferFetch (
   -- * Extension Support
     gl_EXT_shader_framebuffer_fetch
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderImageLoadFormatted.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderImageLoadFormatted.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderImageLoadFormatted.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderImageLoadFormatted.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ShaderImageLoadFormatted (
   -- * Extension Support
     gl_EXT_shader_image_load_formatted
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderImageLoadStore.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderImageLoadStore.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderImageLoadStore.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderImageLoadStore.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ShaderImageLoadStore (
   -- * Extension Support
     gl_EXT_shader_image_load_store
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderImplicitConversions.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderImplicitConversions.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderImplicitConversions.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderImplicitConversions.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ShaderImplicitConversions (
   -- * Extension Support
     gl_EXT_shader_implicit_conversions
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderIntegerMix.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderIntegerMix.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderIntegerMix.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderIntegerMix.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ShaderIntegerMix (
   -- * Extension Support
     gl_EXT_shader_integer_mix
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderIoBlocks.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderIoBlocks.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderIoBlocks.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderIoBlocks.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ShaderIoBlocks (
   -- * Extension Support
     gl_EXT_shader_io_blocks
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderPixelLocalStorage.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderPixelLocalStorage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderPixelLocalStorage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderPixelLocalStorage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ShaderPixelLocalStorage (
   -- * Extension Support
     gl_EXT_shader_pixel_local_storage
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderTextureLod.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderTextureLod.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderTextureLod.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ShaderTextureLod.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ShaderTextureLod (
   -- * Extension Support
     gl_EXT_shader_texture_lod
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ShadowFuncs.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ShadowFuncs.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ShadowFuncs.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ShadowFuncs.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ShadowFuncs (
   -- * Extension Support
     gl_EXT_shadow_funcs
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/ShadowSamplers.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/ShadowSamplers.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/ShadowSamplers.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/ShadowSamplers.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.ShadowSamplers (
   -- * Extension Support
     gl_EXT_shadow_samplers
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/SharedTexturePalette.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/SharedTexturePalette.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/SharedTexturePalette.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/SharedTexturePalette.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.SharedTexturePalette (
   -- * Extension Support
     gl_EXT_shared_texture_palette
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/SparseTexture2.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/SparseTexture2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/SparseTexture2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/SparseTexture2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.SparseTexture2 (
   -- * Extension Support
     gl_EXT_sparse_texture2
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/StencilClearTag.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/StencilClearTag.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/StencilClearTag.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/StencilClearTag.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.StencilClearTag (
   -- * Extension Support
     gl_EXT_stencil_clear_tag
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/StencilTwoSide.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/StencilTwoSide.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/StencilTwoSide.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/StencilTwoSide.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.StencilTwoSide (
   -- * Extension Support
     gl_EXT_stencil_two_side
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/StencilWrap.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/StencilWrap.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/StencilWrap.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/StencilWrap.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.StencilWrap (
   -- * Extension Support
     gl_EXT_stencil_wrap
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/Subtexture.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/Subtexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/Subtexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/Subtexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.Subtexture (
   -- * Extension Support
     gl_EXT_subtexture
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TessellationPointSize.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TessellationPointSize.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TessellationPointSize.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TessellationPointSize.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TessellationPointSize (
   -- * Extension Support
     gl_EXT_tessellation_point_size
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TessellationShader.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TessellationShader.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TessellationShader.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TessellationShader.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TessellationShader (
   -- * Extension Support
     gl_EXT_tessellation_shader
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/Texture.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/Texture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/Texture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/Texture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.Texture (
   -- * Extension Support
     gl_EXT_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/Texture3D.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/Texture3D.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/Texture3D.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/Texture3D.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.Texture3D (
   -- * Extension Support
     gl_EXT_texture3D
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureArray.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureArray (
   -- * Extension Support
     gl_EXT_texture_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureBorderClamp.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureBorderClamp.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureBorderClamp.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureBorderClamp.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureBorderClamp (
   -- * Extension Support
     gl_EXT_texture_border_clamp
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureBuffer.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureBuffer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureBuffer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureBuffer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureBuffer (
   -- * Extension Support
     gl_EXT_texture_buffer
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureBufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureBufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureBufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureBufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureBufferObject (
   -- * Extension Support
     gl_EXT_texture_buffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionDxt1.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionDxt1.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionDxt1.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionDxt1.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureCompressionDxt1 (
   -- * Extension Support
     gl_EXT_texture_compression_dxt1
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionLatc.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionLatc.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionLatc.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionLatc.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureCompressionLatc (
   -- * Extension Support
     gl_EXT_texture_compression_latc
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionRgtc.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionRgtc.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionRgtc.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionRgtc.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureCompressionRgtc (
   -- * Extension Support
     gl_EXT_texture_compression_rgtc
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionS3tc.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionS3tc.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionS3tc.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCompressionS3tc.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureCompressionS3tc (
   -- * Extension Support
     gl_EXT_texture_compression_s3tc
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCubeMap.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCubeMap.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCubeMap.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCubeMap.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureCubeMap (
   -- * Extension Support
     gl_EXT_texture_cube_map
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCubeMapArray.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCubeMapArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCubeMapArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureCubeMapArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureCubeMapArray (
   -- * Extension Support
     gl_EXT_texture_cube_map_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureEnvAdd.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureEnvAdd.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureEnvAdd.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureEnvAdd.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureEnvAdd (
   -- * Extension Support
     gl_EXT_texture_env_add
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureEnvCombine.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureEnvCombine.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureEnvCombine.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureEnvCombine.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureEnvCombine (
   -- * Extension Support
     gl_EXT_texture_env_combine
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureEnvDot3.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureEnvDot3.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureEnvDot3.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureEnvDot3.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureEnvDot3 (
   -- * Extension Support
     gl_EXT_texture_env_dot3
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureFilterAnisotropic.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureFilterAnisotropic.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureFilterAnisotropic.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureFilterAnisotropic.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureFilterAnisotropic (
   -- * Extension Support
     gl_EXT_texture_filter_anisotropic
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureFilterMinmax.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureFilterMinmax.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureFilterMinmax.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureFilterMinmax.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureFilterMinmax (
   -- * Extension Support
     gl_EXT_texture_filter_minmax
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureFormatBGRA8888.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureFormatBGRA8888.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureFormatBGRA8888.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureFormatBGRA8888.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureFormatBGRA8888 (
   -- * Extension Support
     gl_EXT_texture_format_BGRA8888
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureInteger.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureInteger.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureInteger.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureInteger.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureInteger (
   -- * Extension Support
     gl_EXT_texture_integer
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureLodBias.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureLodBias.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureLodBias.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureLodBias.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureLodBias (
   -- * Extension Support
     gl_EXT_texture_lod_bias
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureMirrorClamp.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureMirrorClamp.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureMirrorClamp.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureMirrorClamp.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureMirrorClamp (
   -- * Extension Support
     gl_EXT_texture_mirror_clamp
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureNorm16.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureNorm16.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureNorm16.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureNorm16.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureNorm16 (
   -- * Extension Support
     gl_EXT_texture_norm16
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureObject.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureObject (
   -- * Extension Support
     gl_EXT_texture_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TexturePerturbNormal.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TexturePerturbNormal.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TexturePerturbNormal.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TexturePerturbNormal.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TexturePerturbNormal (
   -- * Extension Support
     gl_EXT_texture_perturb_normal
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureRg.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureRg.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureRg.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureRg.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureRg (
   -- * Extension Support
     gl_EXT_texture_rg
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGB.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGB.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGB.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGB.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureSRGB (
   -- * Extension Support
     gl_EXT_texture_sRGB
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGBDecode.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGBDecode.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGBDecode.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGBDecode.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureSRGBDecode (
   -- * Extension Support
     gl_EXT_texture_sRGB_decode
@@ -13,7 +13,7 @@
 import Data.Set
 import Graphics.GL.Internal.Proc
 
--- | Checks that the <https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_sRGB_decode.txt GL_EXT_texture_sRGB_decode> extension is available.
+-- | Checks that the <https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/texture_sRGB_decode.txt GL_EXT_texture_sRGB_decode> extension is available.
 
 gl_EXT_texture_sRGB_decode :: Bool
 gl_EXT_texture_sRGB_decode = member "GL_EXT_texture_sRGB_decode" extensions
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGBR8.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGBR8.hs
new file mode 100644
--- /dev/null
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGBR8.hs
@@ -0,0 +1,20 @@
+-- This file was automatically generated.
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
+module Graphics.GL.Ext.EXT.TextureSRGBR8 (
+  -- * Extension Support
+    gl_EXT_texture_sRGB_R8
+
+  -- * GL_EXT_texture_sRGB_R8
+  , pattern GL_SR8_EXT
+) where
+
+import Data.Set
+import Graphics.GL.Internal.Proc
+
+-- | Checks that the <https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_sRGB_R8.txt GL_EXT_texture_sRGB_R8> extension is available.
+
+gl_EXT_texture_sRGB_R8 :: Bool
+gl_EXT_texture_sRGB_R8 = member "GL_EXT_texture_sRGB_R8" extensions
+{-# NOINLINE gl_EXT_texture_sRGB_R8 #-}
+
+pattern GL_SR8_EXT = 0x8FBD
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGBRG8.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGBRG8.hs
new file mode 100644
--- /dev/null
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSRGBRG8.hs
@@ -0,0 +1,20 @@
+-- This file was automatically generated.
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
+module Graphics.GL.Ext.EXT.TextureSRGBRG8 (
+  -- * Extension Support
+    gl_EXT_texture_sRGB_RG8
+
+  -- * GL_EXT_texture_sRGB_RG8
+  , pattern GL_SRG8_EXT
+) where
+
+import Data.Set
+import Graphics.GL.Internal.Proc
+
+-- | Checks that the <https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_sRGB_RG8.txt GL_EXT_texture_sRGB_RG8> extension is available.
+
+gl_EXT_texture_sRGB_RG8 :: Bool
+gl_EXT_texture_sRGB_RG8 = member "GL_EXT_texture_sRGB_RG8" extensions
+{-# NOINLINE gl_EXT_texture_sRGB_RG8 #-}
+
+pattern GL_SRG8_EXT = 0x8FBE
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSharedExponent.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSharedExponent.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSharedExponent.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSharedExponent.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureSharedExponent (
   -- * Extension Support
     gl_EXT_texture_shared_exponent
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSnorm.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSnorm.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSnorm.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSnorm.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureSnorm (
   -- * Extension Support
     gl_EXT_texture_snorm
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureStorage.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureStorage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureStorage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureStorage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureStorage (
   -- * Extension Support
     gl_EXT_texture_storage
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSwizzle.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSwizzle.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSwizzle.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureSwizzle.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureSwizzle (
   -- * Extension Support
     gl_EXT_texture_swizzle
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureType2101010REV.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureType2101010REV.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureType2101010REV.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureType2101010REV.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureType2101010REV (
   -- * Extension Support
     gl_EXT_texture_type_2_10_10_10_REV
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureView.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureView.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TextureView.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TextureView.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TextureView (
   -- * Extension Support
     gl_EXT_texture_view
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TimerQuery.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TimerQuery.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TimerQuery.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TimerQuery.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TimerQuery (
   -- * Extension Support
     gl_EXT_timer_query
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/TransformFeedback.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/TransformFeedback.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/TransformFeedback.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/TransformFeedback.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.TransformFeedback (
   -- * Extension Support
     gl_EXT_transform_feedback
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/UnpackSubimage.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/UnpackSubimage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/UnpackSubimage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/UnpackSubimage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.UnpackSubimage (
   -- * Extension Support
     gl_EXT_unpack_subimage
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/VertexArray.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/VertexArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/VertexArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/VertexArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.VertexArray (
   -- * Extension Support
     gl_EXT_vertex_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/VertexArrayBgra.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/VertexArrayBgra.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/VertexArrayBgra.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/VertexArrayBgra.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.VertexArrayBgra (
   -- * Extension Support
     gl_EXT_vertex_array_bgra
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/VertexAttrib64bit.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/VertexAttrib64bit.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/VertexAttrib64bit.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/VertexAttrib64bit.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.VertexAttrib64bit (
   -- * Extension Support
     gl_EXT_vertex_attrib_64bit
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/VertexShader.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/VertexShader.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/VertexShader.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/VertexShader.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.VertexShader (
   -- * Extension Support
     gl_EXT_vertex_shader
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/VertexWeighting.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/VertexWeighting.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/VertexWeighting.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/VertexWeighting.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.VertexWeighting (
   -- * Extension Support
     gl_EXT_vertex_weighting
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/X11SyncObject.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/X11SyncObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/X11SyncObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/X11SyncObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.EXT.X11SyncObject (
   -- * Extension Support
     gl_EXT_x11_sync_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/YUVTarget.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/YUVTarget.hs
new file mode 100644
--- /dev/null
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/YUVTarget.hs
@@ -0,0 +1,24 @@
+-- This file was automatically generated.
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
+module Graphics.GL.Ext.EXT.YUVTarget (
+  -- * Extension Support
+    gl_EXT_YUV_target
+
+  -- * GL_EXT_YUV_target
+  , pattern GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES
+  , pattern GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT
+  , pattern GL_TEXTURE_BINDING_EXTERNAL_OES
+  , pattern GL_TEXTURE_EXTERNAL_OES
+) where
+
+import Data.Set
+import Graphics.GL.Internal.Proc
+import Graphics.GL.Internal.Shared
+
+-- | Checks that the <https://www.khronos.org/registry/gles/extensions/EXT/EXT_YUV_target.txt GL_EXT_YUV_target> extension is available.
+
+gl_EXT_YUV_target :: Bool
+gl_EXT_YUV_target = member "GL_EXT_YUV_target" extensions
+{-# NOINLINE gl_EXT_YUV_target #-}
+
+pattern GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT = 0x8BE7
diff --git a/dist/build/autogen/Graphics/GL/Ext/FJ.hs b/dist/build/autogen/Graphics/GL/Ext/FJ.hs
--- a/dist/build/autogen/Graphics/GL/Ext/FJ.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/FJ.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.FJ (
   -- * FJ Extensions
     module Graphics.GL.Ext.FJ.ShaderBinaryGCCSO
diff --git a/dist/build/autogen/Graphics/GL/Ext/FJ/ShaderBinaryGCCSO.hs b/dist/build/autogen/Graphics/GL/Ext/FJ/ShaderBinaryGCCSO.hs
--- a/dist/build/autogen/Graphics/GL/Ext/FJ/ShaderBinaryGCCSO.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/FJ/ShaderBinaryGCCSO.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.FJ.ShaderBinaryGCCSO (
   -- * Extension Support
     gl_FJ_shader_binary_GCCSO
diff --git a/dist/build/autogen/Graphics/GL/Ext/GREMEDY.hs b/dist/build/autogen/Graphics/GL/Ext/GREMEDY.hs
--- a/dist/build/autogen/Graphics/GL/Ext/GREMEDY.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/GREMEDY.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.GREMEDY (
   -- * GREMEDY Extensions
     module Graphics.GL.Ext.GREMEDY.FrameTerminator
diff --git a/dist/build/autogen/Graphics/GL/Ext/GREMEDY/FrameTerminator.hs b/dist/build/autogen/Graphics/GL/Ext/GREMEDY/FrameTerminator.hs
--- a/dist/build/autogen/Graphics/GL/Ext/GREMEDY/FrameTerminator.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/GREMEDY/FrameTerminator.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.GREMEDY.FrameTerminator (
   -- * Extension Support
     gl_GREMEDY_frame_terminator
diff --git a/dist/build/autogen/Graphics/GL/Ext/GREMEDY/StringMarker.hs b/dist/build/autogen/Graphics/GL/Ext/GREMEDY/StringMarker.hs
--- a/dist/build/autogen/Graphics/GL/Ext/GREMEDY/StringMarker.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/GREMEDY/StringMarker.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.GREMEDY.StringMarker (
   -- * Extension Support
     gl_GREMEDY_string_marker
diff --git a/dist/build/autogen/Graphics/GL/Ext/HP.hs b/dist/build/autogen/Graphics/GL/Ext/HP.hs
--- a/dist/build/autogen/Graphics/GL/Ext/HP.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/HP.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.HP (
   -- * HP Extensions
     module Graphics.GL.Ext.HP.ConvolutionBorderModes
diff --git a/dist/build/autogen/Graphics/GL/Ext/HP/ConvolutionBorderModes.hs b/dist/build/autogen/Graphics/GL/Ext/HP/ConvolutionBorderModes.hs
--- a/dist/build/autogen/Graphics/GL/Ext/HP/ConvolutionBorderModes.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/HP/ConvolutionBorderModes.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.HP.ConvolutionBorderModes (
   -- * Extension Support
     gl_HP_convolution_border_modes
diff --git a/dist/build/autogen/Graphics/GL/Ext/HP/ImageTransform.hs b/dist/build/autogen/Graphics/GL/Ext/HP/ImageTransform.hs
--- a/dist/build/autogen/Graphics/GL/Ext/HP/ImageTransform.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/HP/ImageTransform.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.HP.ImageTransform (
   -- * Extension Support
     gl_HP_image_transform
diff --git a/dist/build/autogen/Graphics/GL/Ext/HP/OcclusionTest.hs b/dist/build/autogen/Graphics/GL/Ext/HP/OcclusionTest.hs
--- a/dist/build/autogen/Graphics/GL/Ext/HP/OcclusionTest.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/HP/OcclusionTest.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.HP.OcclusionTest (
   -- * Extension Support
     gl_HP_occlusion_test
diff --git a/dist/build/autogen/Graphics/GL/Ext/HP/TextureLighting.hs b/dist/build/autogen/Graphics/GL/Ext/HP/TextureLighting.hs
--- a/dist/build/autogen/Graphics/GL/Ext/HP/TextureLighting.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/HP/TextureLighting.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.HP.TextureLighting (
   -- * Extension Support
     gl_HP_texture_lighting
diff --git a/dist/build/autogen/Graphics/GL/Ext/IBM.hs b/dist/build/autogen/Graphics/GL/Ext/IBM.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IBM.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IBM.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IBM (
   -- * IBM Extensions
     module Graphics.GL.Ext.IBM.CullVertex
diff --git a/dist/build/autogen/Graphics/GL/Ext/IBM/CullVertex.hs b/dist/build/autogen/Graphics/GL/Ext/IBM/CullVertex.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IBM/CullVertex.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IBM/CullVertex.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IBM.CullVertex (
   -- * Extension Support
     gl_IBM_cull_vertex
diff --git a/dist/build/autogen/Graphics/GL/Ext/IBM/MultimodeDrawArrays.hs b/dist/build/autogen/Graphics/GL/Ext/IBM/MultimodeDrawArrays.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IBM/MultimodeDrawArrays.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IBM/MultimodeDrawArrays.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IBM.MultimodeDrawArrays (
   -- * Extension Support
     gl_IBM_multimode_draw_arrays
diff --git a/dist/build/autogen/Graphics/GL/Ext/IBM/RasterposClip.hs b/dist/build/autogen/Graphics/GL/Ext/IBM/RasterposClip.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IBM/RasterposClip.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IBM/RasterposClip.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IBM.RasterposClip (
   -- * Extension Support
     gl_IBM_rasterpos_clip
diff --git a/dist/build/autogen/Graphics/GL/Ext/IBM/StaticData.hs b/dist/build/autogen/Graphics/GL/Ext/IBM/StaticData.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IBM/StaticData.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IBM/StaticData.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IBM.StaticData (
   -- * Extension Support
     gl_IBM_static_data
diff --git a/dist/build/autogen/Graphics/GL/Ext/IBM/TextureMirroredRepeat.hs b/dist/build/autogen/Graphics/GL/Ext/IBM/TextureMirroredRepeat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IBM/TextureMirroredRepeat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IBM/TextureMirroredRepeat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IBM.TextureMirroredRepeat (
   -- * Extension Support
     gl_IBM_texture_mirrored_repeat
diff --git a/dist/build/autogen/Graphics/GL/Ext/IBM/VertexArrayLists.hs b/dist/build/autogen/Graphics/GL/Ext/IBM/VertexArrayLists.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IBM/VertexArrayLists.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IBM/VertexArrayLists.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IBM.VertexArrayLists (
   -- * Extension Support
     gl_IBM_vertex_array_lists
diff --git a/dist/build/autogen/Graphics/GL/Ext/IMG.hs b/dist/build/autogen/Graphics/GL/Ext/IMG.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IMG.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IMG.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IMG (
   -- * IMG Extensions
     module Graphics.GL.Ext.IMG.MultisampledRenderToTexture
diff --git a/dist/build/autogen/Graphics/GL/Ext/IMG/MultisampledRenderToTexture.hs b/dist/build/autogen/Graphics/GL/Ext/IMG/MultisampledRenderToTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IMG/MultisampledRenderToTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IMG/MultisampledRenderToTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IMG.MultisampledRenderToTexture (
   -- * Extension Support
     gl_IMG_multisampled_render_to_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/IMG/ProgramBinary.hs b/dist/build/autogen/Graphics/GL/Ext/IMG/ProgramBinary.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IMG/ProgramBinary.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IMG/ProgramBinary.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IMG.ProgramBinary (
   -- * Extension Support
     gl_IMG_program_binary
diff --git a/dist/build/autogen/Graphics/GL/Ext/IMG/ReadFormat.hs b/dist/build/autogen/Graphics/GL/Ext/IMG/ReadFormat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IMG/ReadFormat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IMG/ReadFormat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IMG.ReadFormat (
   -- * Extension Support
     gl_IMG_read_format
diff --git a/dist/build/autogen/Graphics/GL/Ext/IMG/ShaderBinary.hs b/dist/build/autogen/Graphics/GL/Ext/IMG/ShaderBinary.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IMG/ShaderBinary.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IMG/ShaderBinary.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IMG.ShaderBinary (
   -- * Extension Support
     gl_IMG_shader_binary
diff --git a/dist/build/autogen/Graphics/GL/Ext/IMG/TextureCompressionPvrtc.hs b/dist/build/autogen/Graphics/GL/Ext/IMG/TextureCompressionPvrtc.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IMG/TextureCompressionPvrtc.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IMG/TextureCompressionPvrtc.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IMG.TextureCompressionPvrtc (
   -- * Extension Support
     gl_IMG_texture_compression_pvrtc
diff --git a/dist/build/autogen/Graphics/GL/Ext/IMG/TextureCompressionPvrtc2.hs b/dist/build/autogen/Graphics/GL/Ext/IMG/TextureCompressionPvrtc2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IMG/TextureCompressionPvrtc2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IMG/TextureCompressionPvrtc2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IMG.TextureCompressionPvrtc2 (
   -- * Extension Support
     gl_IMG_texture_compression_pvrtc2
diff --git a/dist/build/autogen/Graphics/GL/Ext/IMG/TextureEnvEnhancedFixedFunction.hs b/dist/build/autogen/Graphics/GL/Ext/IMG/TextureEnvEnhancedFixedFunction.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IMG/TextureEnvEnhancedFixedFunction.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IMG/TextureEnvEnhancedFixedFunction.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IMG.TextureEnvEnhancedFixedFunction (
   -- * Extension Support
     gl_IMG_texture_env_enhanced_fixed_function
diff --git a/dist/build/autogen/Graphics/GL/Ext/IMG/UserClipPlane.hs b/dist/build/autogen/Graphics/GL/Ext/IMG/UserClipPlane.hs
--- a/dist/build/autogen/Graphics/GL/Ext/IMG/UserClipPlane.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/IMG/UserClipPlane.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.IMG.UserClipPlane (
   -- * Extension Support
     gl_IMG_user_clip_plane
diff --git a/dist/build/autogen/Graphics/GL/Ext/INGR.hs b/dist/build/autogen/Graphics/GL/Ext/INGR.hs
--- a/dist/build/autogen/Graphics/GL/Ext/INGR.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/INGR.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.INGR (
   -- * INGR Extensions
     module Graphics.GL.Ext.INGR.BlendFuncSeparate
diff --git a/dist/build/autogen/Graphics/GL/Ext/INGR/BlendFuncSeparate.hs b/dist/build/autogen/Graphics/GL/Ext/INGR/BlendFuncSeparate.hs
--- a/dist/build/autogen/Graphics/GL/Ext/INGR/BlendFuncSeparate.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/INGR/BlendFuncSeparate.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.INGR.BlendFuncSeparate (
   -- * Extension Support
     gl_INGR_blend_func_separate
diff --git a/dist/build/autogen/Graphics/GL/Ext/INGR/ColorClamp.hs b/dist/build/autogen/Graphics/GL/Ext/INGR/ColorClamp.hs
--- a/dist/build/autogen/Graphics/GL/Ext/INGR/ColorClamp.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/INGR/ColorClamp.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.INGR.ColorClamp (
   -- * Extension Support
     gl_INGR_color_clamp
diff --git a/dist/build/autogen/Graphics/GL/Ext/INGR/InterlaceRead.hs b/dist/build/autogen/Graphics/GL/Ext/INGR/InterlaceRead.hs
--- a/dist/build/autogen/Graphics/GL/Ext/INGR/InterlaceRead.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/INGR/InterlaceRead.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.INGR.InterlaceRead (
   -- * Extension Support
     gl_INGR_interlace_read
diff --git a/dist/build/autogen/Graphics/GL/Ext/INTEL.hs b/dist/build/autogen/Graphics/GL/Ext/INTEL.hs
--- a/dist/build/autogen/Graphics/GL/Ext/INTEL.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/INTEL.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.INTEL (
   -- * INTEL Extensions
     module Graphics.GL.Ext.INTEL.FragmentShaderOrdering
diff --git a/dist/build/autogen/Graphics/GL/Ext/INTEL/FragmentShaderOrdering.hs b/dist/build/autogen/Graphics/GL/Ext/INTEL/FragmentShaderOrdering.hs
--- a/dist/build/autogen/Graphics/GL/Ext/INTEL/FragmentShaderOrdering.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/INTEL/FragmentShaderOrdering.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.INTEL.FragmentShaderOrdering (
   -- * Extension Support
     gl_INTEL_fragment_shader_ordering
diff --git a/dist/build/autogen/Graphics/GL/Ext/INTEL/MapTexture.hs b/dist/build/autogen/Graphics/GL/Ext/INTEL/MapTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/INTEL/MapTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/INTEL/MapTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.INTEL.MapTexture (
   -- * Extension Support
     gl_INTEL_map_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/INTEL/ParallelArrays.hs b/dist/build/autogen/Graphics/GL/Ext/INTEL/ParallelArrays.hs
--- a/dist/build/autogen/Graphics/GL/Ext/INTEL/ParallelArrays.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/INTEL/ParallelArrays.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.INTEL.ParallelArrays (
   -- * Extension Support
     gl_INTEL_parallel_arrays
diff --git a/dist/build/autogen/Graphics/GL/Ext/INTEL/PerformanceQuery.hs b/dist/build/autogen/Graphics/GL/Ext/INTEL/PerformanceQuery.hs
--- a/dist/build/autogen/Graphics/GL/Ext/INTEL/PerformanceQuery.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/INTEL/PerformanceQuery.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.INTEL.PerformanceQuery (
   -- * Extension Support
     gl_INTEL_performance_query
diff --git a/dist/build/autogen/Graphics/GL/Ext/KHR.hs b/dist/build/autogen/Graphics/GL/Ext/KHR.hs
--- a/dist/build/autogen/Graphics/GL/Ext/KHR.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/KHR.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.KHR (
   -- * KHR Extensions
     module Graphics.GL.Ext.KHR.BlendEquationAdvanced
diff --git a/dist/build/autogen/Graphics/GL/Ext/KHR/BlendEquationAdvanced.hs b/dist/build/autogen/Graphics/GL/Ext/KHR/BlendEquationAdvanced.hs
--- a/dist/build/autogen/Graphics/GL/Ext/KHR/BlendEquationAdvanced.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/KHR/BlendEquationAdvanced.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.KHR.BlendEquationAdvanced (
   -- * Extension Support
     gl_KHR_blend_equation_advanced
diff --git a/dist/build/autogen/Graphics/GL/Ext/KHR/BlendEquationAdvancedCoherent.hs b/dist/build/autogen/Graphics/GL/Ext/KHR/BlendEquationAdvancedCoherent.hs
--- a/dist/build/autogen/Graphics/GL/Ext/KHR/BlendEquationAdvancedCoherent.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/KHR/BlendEquationAdvancedCoherent.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.KHR.BlendEquationAdvancedCoherent (
   -- * Extension Support
     gl_KHR_blend_equation_advanced_coherent
diff --git a/dist/build/autogen/Graphics/GL/Ext/KHR/ContextFlushControl.hs b/dist/build/autogen/Graphics/GL/Ext/KHR/ContextFlushControl.hs
--- a/dist/build/autogen/Graphics/GL/Ext/KHR/ContextFlushControl.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/KHR/ContextFlushControl.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.KHR.ContextFlushControl (
   -- * Extension Support
     gl_KHR_context_flush_control
diff --git a/dist/build/autogen/Graphics/GL/Ext/KHR/Debug.hs b/dist/build/autogen/Graphics/GL/Ext/KHR/Debug.hs
--- a/dist/build/autogen/Graphics/GL/Ext/KHR/Debug.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/KHR/Debug.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.KHR.Debug (
   -- * Extension Support
     gl_KHR_debug
@@ -95,6 +95,7 @@
   , pattern GL_PROGRAM
   , pattern GL_PROGRAM_KHR
   , pattern GL_PROGRAM_PIPELINE
+  , pattern GL_PROGRAM_PIPELINE_KHR
   , pattern GL_QUERY
   , pattern GL_QUERY_KHR
   , pattern GL_SAMPLER
@@ -350,6 +351,8 @@
 pattern GL_MAX_LABEL_LENGTH_KHR = 0x82E8
 
 pattern GL_PROGRAM_KHR = 0x82E2
+
+pattern GL_PROGRAM_PIPELINE_KHR = 0x82E4
 
 pattern GL_QUERY_KHR = 0x82E3
 
diff --git a/dist/build/autogen/Graphics/GL/Ext/KHR/RobustBufferAccessBehavior.hs b/dist/build/autogen/Graphics/GL/Ext/KHR/RobustBufferAccessBehavior.hs
--- a/dist/build/autogen/Graphics/GL/Ext/KHR/RobustBufferAccessBehavior.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/KHR/RobustBufferAccessBehavior.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.KHR.RobustBufferAccessBehavior (
   -- * Extension Support
     gl_KHR_robust_buffer_access_behavior
diff --git a/dist/build/autogen/Graphics/GL/Ext/KHR/Robustness.hs b/dist/build/autogen/Graphics/GL/Ext/KHR/Robustness.hs
--- a/dist/build/autogen/Graphics/GL/Ext/KHR/Robustness.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/KHR/Robustness.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.KHR.Robustness (
   -- * Extension Support
     gl_KHR_robustness
diff --git a/dist/build/autogen/Graphics/GL/Ext/KHR/TextureCompressionAstcHdr.hs b/dist/build/autogen/Graphics/GL/Ext/KHR/TextureCompressionAstcHdr.hs
--- a/dist/build/autogen/Graphics/GL/Ext/KHR/TextureCompressionAstcHdr.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/KHR/TextureCompressionAstcHdr.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.KHR.TextureCompressionAstcHdr (
   -- * Extension Support
     gl_KHR_texture_compression_astc_hdr
diff --git a/dist/build/autogen/Graphics/GL/Ext/KHR/TextureCompressionAstcLdr.hs b/dist/build/autogen/Graphics/GL/Ext/KHR/TextureCompressionAstcLdr.hs
--- a/dist/build/autogen/Graphics/GL/Ext/KHR/TextureCompressionAstcLdr.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/KHR/TextureCompressionAstcLdr.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.KHR.TextureCompressionAstcLdr (
   -- * Extension Support
     gl_KHR_texture_compression_astc_ldr
diff --git a/dist/build/autogen/Graphics/GL/Ext/MESA.hs b/dist/build/autogen/Graphics/GL/Ext/MESA.hs
--- a/dist/build/autogen/Graphics/GL/Ext/MESA.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/MESA.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.MESA (
   -- * MESA Extensions
     module Graphics.GL.Ext.MESA.PackInvert
diff --git a/dist/build/autogen/Graphics/GL/Ext/MESA/PackInvert.hs b/dist/build/autogen/Graphics/GL/Ext/MESA/PackInvert.hs
--- a/dist/build/autogen/Graphics/GL/Ext/MESA/PackInvert.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/MESA/PackInvert.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.MESA.PackInvert (
   -- * Extension Support
     gl_MESA_pack_invert
diff --git a/dist/build/autogen/Graphics/GL/Ext/MESA/ResizeBuffers.hs b/dist/build/autogen/Graphics/GL/Ext/MESA/ResizeBuffers.hs
--- a/dist/build/autogen/Graphics/GL/Ext/MESA/ResizeBuffers.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/MESA/ResizeBuffers.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.MESA.ResizeBuffers (
   -- * Extension Support
     gl_MESA_resize_buffers
diff --git a/dist/build/autogen/Graphics/GL/Ext/MESA/WindowPos.hs b/dist/build/autogen/Graphics/GL/Ext/MESA/WindowPos.hs
--- a/dist/build/autogen/Graphics/GL/Ext/MESA/WindowPos.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/MESA/WindowPos.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.MESA.WindowPos (
   -- * Extension Support
     gl_MESA_window_pos
diff --git a/dist/build/autogen/Graphics/GL/Ext/MESA/YcbcrTexture.hs b/dist/build/autogen/Graphics/GL/Ext/MESA/YcbcrTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/MESA/YcbcrTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/MESA/YcbcrTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.MESA.YcbcrTexture (
   -- * Extension Support
     gl_MESA_ycbcr_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/MESAX.hs b/dist/build/autogen/Graphics/GL/Ext/MESAX.hs
--- a/dist/build/autogen/Graphics/GL/Ext/MESAX.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/MESAX.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.MESAX (
   -- * MESAX Extensions
     module Graphics.GL.Ext.MESAX.TextureStack
diff --git a/dist/build/autogen/Graphics/GL/Ext/MESAX/TextureStack.hs b/dist/build/autogen/Graphics/GL/Ext/MESAX/TextureStack.hs
--- a/dist/build/autogen/Graphics/GL/Ext/MESAX/TextureStack.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/MESAX/TextureStack.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.MESAX.TextureStack (
   -- * Extension Support
     gl_MESAX_texture_stack
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV.hs b/dist/build/autogen/Graphics/GL/Ext/NV.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV (
   -- * NV Extensions
     module Graphics.GL.Ext.NV.BindlessMultiDrawIndirect
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/BindlessMultiDrawIndirect.hs b/dist/build/autogen/Graphics/GL/Ext/NV/BindlessMultiDrawIndirect.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/BindlessMultiDrawIndirect.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/BindlessMultiDrawIndirect.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.BindlessMultiDrawIndirect (
   -- * Extension Support
     gl_NV_bindless_multi_draw_indirect
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/BindlessMultiDrawIndirectCount.hs b/dist/build/autogen/Graphics/GL/Ext/NV/BindlessMultiDrawIndirectCount.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/BindlessMultiDrawIndirectCount.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/BindlessMultiDrawIndirectCount.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.BindlessMultiDrawIndirectCount (
   -- * Extension Support
     gl_NV_bindless_multi_draw_indirect_count
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/BindlessTexture.hs b/dist/build/autogen/Graphics/GL/Ext/NV/BindlessTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/BindlessTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/BindlessTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.BindlessTexture (
   -- * Extension Support
     gl_NV_bindless_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/BlendEquationAdvanced.hs b/dist/build/autogen/Graphics/GL/Ext/NV/BlendEquationAdvanced.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/BlendEquationAdvanced.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/BlendEquationAdvanced.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.BlendEquationAdvanced (
   -- * Extension Support
     gl_NV_blend_equation_advanced
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/BlendEquationAdvancedCoherent.hs b/dist/build/autogen/Graphics/GL/Ext/NV/BlendEquationAdvancedCoherent.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/BlendEquationAdvancedCoherent.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/BlendEquationAdvancedCoherent.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.BlendEquationAdvancedCoherent (
   -- * Extension Support
     gl_NV_blend_equation_advanced_coherent
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/BlendSquare.hs b/dist/build/autogen/Graphics/GL/Ext/NV/BlendSquare.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/BlendSquare.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/BlendSquare.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.BlendSquare (
   -- * Extension Support
     gl_NV_blend_square
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ComputeProgram5.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ComputeProgram5.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ComputeProgram5.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ComputeProgram5.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ComputeProgram5 (
   -- * Extension Support
     gl_NV_compute_program5
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ConditionalRender.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ConditionalRender.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ConditionalRender.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ConditionalRender.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ConditionalRender (
   -- * Extension Support
     gl_NV_conditional_render
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ConservativeRaster.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ConservativeRaster.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ConservativeRaster.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ConservativeRaster.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ConservativeRaster (
   -- * Extension Support
     gl_NV_conservative_raster
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/CopyBuffer.hs b/dist/build/autogen/Graphics/GL/Ext/NV/CopyBuffer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/CopyBuffer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/CopyBuffer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.CopyBuffer (
   -- * Extension Support
     gl_NV_copy_buffer
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/CopyDepthToColor.hs b/dist/build/autogen/Graphics/GL/Ext/NV/CopyDepthToColor.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/CopyDepthToColor.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/CopyDepthToColor.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.CopyDepthToColor (
   -- * Extension Support
     gl_NV_copy_depth_to_color
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/CopyImage.hs b/dist/build/autogen/Graphics/GL/Ext/NV/CopyImage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/CopyImage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/CopyImage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.CopyImage (
   -- * Extension Support
     gl_NV_copy_image
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/CoverageSample.hs b/dist/build/autogen/Graphics/GL/Ext/NV/CoverageSample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/CoverageSample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/CoverageSample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.CoverageSample (
   -- * Extension Support
     gl_NV_coverage_sample
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/DeepTexture3D.hs b/dist/build/autogen/Graphics/GL/Ext/NV/DeepTexture3D.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/DeepTexture3D.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/DeepTexture3D.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.DeepTexture3D (
   -- * Extension Support
     gl_NV_deep_texture3D
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/DepthBufferFloat.hs b/dist/build/autogen/Graphics/GL/Ext/NV/DepthBufferFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/DepthBufferFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/DepthBufferFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.DepthBufferFloat (
   -- * Extension Support
     gl_NV_depth_buffer_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/DepthClamp.hs b/dist/build/autogen/Graphics/GL/Ext/NV/DepthClamp.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/DepthClamp.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/DepthClamp.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.DepthClamp (
   -- * Extension Support
     gl_NV_depth_clamp
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/DepthNonlinear.hs b/dist/build/autogen/Graphics/GL/Ext/NV/DepthNonlinear.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/DepthNonlinear.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/DepthNonlinear.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.DepthNonlinear (
   -- * Extension Support
     gl_NV_depth_nonlinear
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/DrawBuffers.hs b/dist/build/autogen/Graphics/GL/Ext/NV/DrawBuffers.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/DrawBuffers.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/DrawBuffers.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.DrawBuffers (
   -- * Extension Support
     gl_NV_draw_buffers
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/DrawInstanced.hs b/dist/build/autogen/Graphics/GL/Ext/NV/DrawInstanced.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/DrawInstanced.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/DrawInstanced.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.DrawInstanced (
   -- * Extension Support
     gl_NV_draw_instanced
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/DrawTexture.hs b/dist/build/autogen/Graphics/GL/Ext/NV/DrawTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/DrawTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/DrawTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.DrawTexture (
   -- * Extension Support
     gl_NV_draw_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/Evaluators.hs b/dist/build/autogen/Graphics/GL/Ext/NV/Evaluators.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/Evaluators.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/Evaluators.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.Evaluators (
   -- * Extension Support
     gl_NV_evaluators
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ExplicitAttribLocation.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ExplicitAttribLocation.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ExplicitAttribLocation.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ExplicitAttribLocation.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ExplicitAttribLocation (
   -- * Extension Support
     gl_NV_explicit_attrib_location
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ExplicitMultisample.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ExplicitMultisample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ExplicitMultisample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ExplicitMultisample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ExplicitMultisample (
   -- * Extension Support
     gl_NV_explicit_multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FboColorAttachments.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FboColorAttachments.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FboColorAttachments.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FboColorAttachments.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FboColorAttachments (
   -- * Extension Support
     gl_NV_fbo_color_attachments
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/Fence.hs b/dist/build/autogen/Graphics/GL/Ext/NV/Fence.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/Fence.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/Fence.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.Fence (
   -- * Extension Support
     gl_NV_fence
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FillRectangle.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FillRectangle.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FillRectangle.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FillRectangle.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FillRectangle (
   -- * Extension Support
     gl_NV_fill_rectangle
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FloatBuffer.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FloatBuffer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FloatBuffer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FloatBuffer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FloatBuffer (
   -- * Extension Support
     gl_NV_float_buffer
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FogDistance.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FogDistance.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FogDistance.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FogDistance.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FogDistance (
   -- * Extension Support
     gl_NV_fog_distance
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FragmentCoverageToColor.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FragmentCoverageToColor.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FragmentCoverageToColor.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FragmentCoverageToColor.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FragmentCoverageToColor (
   -- * Extension Support
     gl_NV_fragment_coverage_to_color
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgram.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgram.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgram.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgram.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FragmentProgram (
   -- * Extension Support
     gl_NV_fragment_program
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgram2.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgram2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgram2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgram2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FragmentProgram2 (
   -- * Extension Support
     gl_NV_fragment_program2
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgram4.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgram4.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgram4.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgram4.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FragmentProgram4 (
   -- * Extension Support
     gl_NV_fragment_program4
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgramOption.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgramOption.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgramOption.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FragmentProgramOption.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FragmentProgramOption (
   -- * Extension Support
     gl_NV_fragment_program_option
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FragmentShaderInterlock.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FragmentShaderInterlock.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FragmentShaderInterlock.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FragmentShaderInterlock.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FragmentShaderInterlock (
   -- * Extension Support
     gl_NV_fragment_shader_interlock
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferBlit.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferBlit.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferBlit.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferBlit.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FramebufferBlit (
   -- * Extension Support
     gl_NV_framebuffer_blit
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferMixedSamples.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferMixedSamples.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferMixedSamples.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferMixedSamples.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FramebufferMixedSamples (
   -- * Extension Support
     gl_NV_framebuffer_mixed_samples
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferMultisample.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferMultisample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferMultisample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferMultisample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FramebufferMultisample (
   -- * Extension Support
     gl_NV_framebuffer_multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferMultisampleCoverage.hs b/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferMultisampleCoverage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferMultisampleCoverage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/FramebufferMultisampleCoverage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.FramebufferMultisampleCoverage (
   -- * Extension Support
     gl_NV_framebuffer_multisample_coverage
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/GenerateMipmapSRGB.hs b/dist/build/autogen/Graphics/GL/Ext/NV/GenerateMipmapSRGB.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/GenerateMipmapSRGB.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/GenerateMipmapSRGB.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.GenerateMipmapSRGB (
   -- * Extension Support
     gl_NV_generate_mipmap_sRGB
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/GeometryProgram4.hs b/dist/build/autogen/Graphics/GL/Ext/NV/GeometryProgram4.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/GeometryProgram4.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/GeometryProgram4.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.GeometryProgram4 (
   -- * Extension Support
     gl_NV_geometry_program4
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/GeometryShader4.hs b/dist/build/autogen/Graphics/GL/Ext/NV/GeometryShader4.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/GeometryShader4.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/GeometryShader4.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.GeometryShader4 (
   -- * Extension Support
     gl_NV_geometry_shader4
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/GeometryShaderPassthrough.hs b/dist/build/autogen/Graphics/GL/Ext/NV/GeometryShaderPassthrough.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/GeometryShaderPassthrough.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/GeometryShaderPassthrough.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.GeometryShaderPassthrough (
   -- * Extension Support
     gl_NV_geometry_shader_passthrough
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/GpuProgram4.hs b/dist/build/autogen/Graphics/GL/Ext/NV/GpuProgram4.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/GpuProgram4.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/GpuProgram4.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.GpuProgram4 (
   -- * Extension Support
     gl_NV_gpu_program4
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/GpuProgram5.hs b/dist/build/autogen/Graphics/GL/Ext/NV/GpuProgram5.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/GpuProgram5.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/GpuProgram5.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.GpuProgram5 (
   -- * Extension Support
     gl_NV_gpu_program5
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/GpuProgram5MemExtended.hs b/dist/build/autogen/Graphics/GL/Ext/NV/GpuProgram5MemExtended.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/GpuProgram5MemExtended.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/GpuProgram5MemExtended.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.GpuProgram5MemExtended (
   -- * Extension Support
     gl_NV_gpu_program5_mem_extended
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/GpuShader5.hs b/dist/build/autogen/Graphics/GL/Ext/NV/GpuShader5.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/GpuShader5.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/GpuShader5.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.GpuShader5 (
   -- * Extension Support
     gl_NV_gpu_shader5
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/HalfFloat.hs b/dist/build/autogen/Graphics/GL/Ext/NV/HalfFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/HalfFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/HalfFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.HalfFloat (
   -- * Extension Support
     gl_NV_half_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ImageFormats.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ImageFormats.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ImageFormats.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ImageFormats.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ImageFormats (
   -- * Extension Support
     gl_NV_image_formats
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/InstancedArrays.hs b/dist/build/autogen/Graphics/GL/Ext/NV/InstancedArrays.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/InstancedArrays.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/InstancedArrays.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.InstancedArrays (
   -- * Extension Support
     gl_NV_instanced_arrays
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/InternalformatSampleQuery.hs b/dist/build/autogen/Graphics/GL/Ext/NV/InternalformatSampleQuery.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/InternalformatSampleQuery.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/InternalformatSampleQuery.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.InternalformatSampleQuery (
   -- * Extension Support
     gl_NV_internalformat_sample_query
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/LightMaxExponent.hs b/dist/build/autogen/Graphics/GL/Ext/NV/LightMaxExponent.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/LightMaxExponent.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/LightMaxExponent.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.LightMaxExponent (
   -- * Extension Support
     gl_NV_light_max_exponent
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/MultisampleCoverage.hs b/dist/build/autogen/Graphics/GL/Ext/NV/MultisampleCoverage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/MultisampleCoverage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/MultisampleCoverage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.MultisampleCoverage (
   -- * Extension Support
     gl_NV_multisample_coverage
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/MultisampleFilterHint.hs b/dist/build/autogen/Graphics/GL/Ext/NV/MultisampleFilterHint.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/MultisampleFilterHint.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/MultisampleFilterHint.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.MultisampleFilterHint (
   -- * Extension Support
     gl_NV_multisample_filter_hint
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/NonSquareMatrices.hs b/dist/build/autogen/Graphics/GL/Ext/NV/NonSquareMatrices.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/NonSquareMatrices.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/NonSquareMatrices.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.NonSquareMatrices (
   -- * Extension Support
     gl_NV_non_square_matrices
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/OcclusionQuery.hs b/dist/build/autogen/Graphics/GL/Ext/NV/OcclusionQuery.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/OcclusionQuery.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/OcclusionQuery.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.OcclusionQuery (
   -- * Extension Support
     gl_NV_occlusion_query
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/PackedDepthStencil.hs b/dist/build/autogen/Graphics/GL/Ext/NV/PackedDepthStencil.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/PackedDepthStencil.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/PackedDepthStencil.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.PackedDepthStencil (
   -- * Extension Support
     gl_NV_packed_depth_stencil
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ParameterBufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ParameterBufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ParameterBufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ParameterBufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ParameterBufferObject (
   -- * Extension Support
     gl_NV_parameter_buffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ParameterBufferObject2.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ParameterBufferObject2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ParameterBufferObject2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ParameterBufferObject2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ParameterBufferObject2 (
   -- * Extension Support
     gl_NV_parameter_buffer_object2
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/PathRendering.hs b/dist/build/autogen/Graphics/GL/Ext/NV/PathRendering.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/PathRendering.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/PathRendering.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.PathRendering (
   -- * Extension Support
     gl_NV_path_rendering
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/PathRenderingSharedEdge.hs b/dist/build/autogen/Graphics/GL/Ext/NV/PathRenderingSharedEdge.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/PathRenderingSharedEdge.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/PathRenderingSharedEdge.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.PathRenderingSharedEdge (
   -- * Extension Support
     gl_NV_path_rendering_shared_edge
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/PixelDataRange.hs b/dist/build/autogen/Graphics/GL/Ext/NV/PixelDataRange.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/PixelDataRange.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/PixelDataRange.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.PixelDataRange (
   -- * Extension Support
     gl_NV_pixel_data_range
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/PointSprite.hs b/dist/build/autogen/Graphics/GL/Ext/NV/PointSprite.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/PointSprite.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/PointSprite.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.PointSprite (
   -- * Extension Support
     gl_NV_point_sprite
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/PresentVideo.hs b/dist/build/autogen/Graphics/GL/Ext/NV/PresentVideo.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/PresentVideo.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/PresentVideo.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.PresentVideo (
   -- * Extension Support
     gl_NV_present_video
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/PrimitiveRestart.hs b/dist/build/autogen/Graphics/GL/Ext/NV/PrimitiveRestart.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/PrimitiveRestart.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/PrimitiveRestart.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.PrimitiveRestart (
   -- * Extension Support
     gl_NV_primitive_restart
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ReadBuffer.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ReadBuffer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ReadBuffer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ReadBuffer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ReadBuffer (
   -- * Extension Support
     gl_NV_read_buffer
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ReadBufferFront.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ReadBufferFront.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ReadBufferFront.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ReadBufferFront.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ReadBufferFront (
   -- * Extension Support
     gl_NV_read_buffer_front
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ReadDepth.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ReadDepth.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ReadDepth.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ReadDepth.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ReadDepth (
   -- * Extension Support
     gl_NV_read_depth
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ReadDepthStencil.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ReadDepthStencil.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ReadDepthStencil.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ReadDepthStencil.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ReadDepthStencil (
   -- * Extension Support
     gl_NV_read_depth_stencil
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ReadStencil.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ReadStencil.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ReadStencil.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ReadStencil.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ReadStencil (
   -- * Extension Support
     gl_NV_read_stencil
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/RegisterCombiners.hs b/dist/build/autogen/Graphics/GL/Ext/NV/RegisterCombiners.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/RegisterCombiners.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/RegisterCombiners.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.RegisterCombiners (
   -- * Extension Support
     gl_NV_register_combiners
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/RegisterCombiners2.hs b/dist/build/autogen/Graphics/GL/Ext/NV/RegisterCombiners2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/RegisterCombiners2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/RegisterCombiners2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.RegisterCombiners2 (
   -- * Extension Support
     gl_NV_register_combiners2
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/SRGBFormats.hs b/dist/build/autogen/Graphics/GL/Ext/NV/SRGBFormats.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/SRGBFormats.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/SRGBFormats.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.SRGBFormats (
   -- * Extension Support
     gl_NV_sRGB_formats
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/SampleLocations.hs b/dist/build/autogen/Graphics/GL/Ext/NV/SampleLocations.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/SampleLocations.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/SampleLocations.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.SampleLocations (
   -- * Extension Support
     gl_NV_sample_locations
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/SampleMaskOverrideCoverage.hs b/dist/build/autogen/Graphics/GL/Ext/NV/SampleMaskOverrideCoverage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/SampleMaskOverrideCoverage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/SampleMaskOverrideCoverage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.SampleMaskOverrideCoverage (
   -- * Extension Support
     gl_NV_sample_mask_override_coverage
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicCounters.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicCounters.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicCounters.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicCounters.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ShaderAtomicCounters (
   -- * Extension Support
     gl_NV_shader_atomic_counters
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicFloat.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ShaderAtomicFloat (
   -- * Extension Support
     gl_NV_shader_atomic_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicFp16Vector.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicFp16Vector.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicFp16Vector.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicFp16Vector.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ShaderAtomicFp16Vector (
   -- * Extension Support
     gl_NV_shader_atomic_fp16_vector
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicInt64.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicInt64.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicInt64.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderAtomicInt64.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ShaderAtomicInt64 (
   -- * Extension Support
     gl_NV_shader_atomic_int64
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderBufferLoad.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderBufferLoad.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderBufferLoad.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderBufferLoad.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ShaderBufferLoad (
   -- * Extension Support
     gl_NV_shader_buffer_load
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderBufferStore.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderBufferStore.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderBufferStore.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderBufferStore.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ShaderBufferStore (
   -- * Extension Support
     gl_NV_shader_buffer_store
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderNoperspectiveInterpolation.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderNoperspectiveInterpolation.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderNoperspectiveInterpolation.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderNoperspectiveInterpolation.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ShaderNoperspectiveInterpolation (
   -- * Extension Support
     gl_NV_shader_noperspective_interpolation
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderStorageBufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderStorageBufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderStorageBufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderStorageBufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ShaderStorageBufferObject (
   -- * Extension Support
     gl_NV_shader_storage_buffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderThreadGroup.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderThreadGroup.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderThreadGroup.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderThreadGroup.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ShaderThreadGroup (
   -- * Extension Support
     gl_NV_shader_thread_group
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderThreadShuffle.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderThreadShuffle.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ShaderThreadShuffle.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ShaderThreadShuffle.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ShaderThreadShuffle (
   -- * Extension Support
     gl_NV_shader_thread_shuffle
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ShadowSamplersArray.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ShadowSamplersArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ShadowSamplersArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ShadowSamplersArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ShadowSamplersArray (
   -- * Extension Support
     gl_NV_shadow_samplers_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ShadowSamplersCube.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ShadowSamplersCube.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ShadowSamplersCube.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ShadowSamplersCube.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ShadowSamplersCube (
   -- * Extension Support
     gl_NV_shadow_samplers_cube
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TessellationProgram5.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TessellationProgram5.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TessellationProgram5.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TessellationProgram5.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TessellationProgram5 (
   -- * Extension Support
     gl_NV_tessellation_program5
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TexgenEmboss.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TexgenEmboss.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TexgenEmboss.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TexgenEmboss.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TexgenEmboss (
   -- * Extension Support
     gl_NV_texgen_emboss
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TexgenReflection.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TexgenReflection.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TexgenReflection.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TexgenReflection.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TexgenReflection (
   -- * Extension Support
     gl_NV_texgen_reflection
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TextureBarrier.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TextureBarrier.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TextureBarrier.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TextureBarrier.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TextureBarrier (
   -- * Extension Support
     gl_NV_texture_barrier
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TextureBorderClamp.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TextureBorderClamp.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TextureBorderClamp.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TextureBorderClamp.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TextureBorderClamp (
   -- * Extension Support
     gl_NV_texture_border_clamp
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TextureCompressionS3tcUpdate.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TextureCompressionS3tcUpdate.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TextureCompressionS3tcUpdate.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TextureCompressionS3tcUpdate.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TextureCompressionS3tcUpdate (
   -- * Extension Support
     gl_NV_texture_compression_s3tc_update
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TextureCompressionVtc.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TextureCompressionVtc.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TextureCompressionVtc.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TextureCompressionVtc.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TextureCompressionVtc (
   -- * Extension Support
     gl_NV_texture_compression_vtc
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TextureEnvCombine4.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TextureEnvCombine4.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TextureEnvCombine4.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TextureEnvCombine4.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TextureEnvCombine4 (
   -- * Extension Support
     gl_NV_texture_env_combine4
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TextureExpandNormal.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TextureExpandNormal.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TextureExpandNormal.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TextureExpandNormal.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TextureExpandNormal (
   -- * Extension Support
     gl_NV_texture_expand_normal
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TextureMultisample.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TextureMultisample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TextureMultisample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TextureMultisample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TextureMultisample (
   -- * Extension Support
     gl_NV_texture_multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TextureNpot2DMipmap.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TextureNpot2DMipmap.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TextureNpot2DMipmap.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TextureNpot2DMipmap.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TextureNpot2DMipmap (
   -- * Extension Support
     gl_NV_texture_npot_2D_mipmap
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TextureRectangle.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TextureRectangle.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TextureRectangle.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TextureRectangle.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TextureRectangle (
   -- * Extension Support
     gl_NV_texture_rectangle
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TextureShader.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TextureShader.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TextureShader.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TextureShader.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TextureShader (
   -- * Extension Support
     gl_NV_texture_shader
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TextureShader2.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TextureShader2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TextureShader2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TextureShader2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TextureShader2 (
   -- * Extension Support
     gl_NV_texture_shader2
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TextureShader3.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TextureShader3.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TextureShader3.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TextureShader3.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TextureShader3 (
   -- * Extension Support
     gl_NV_texture_shader3
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TransformFeedback.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TransformFeedback.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TransformFeedback.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TransformFeedback.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TransformFeedback (
   -- * Extension Support
     gl_NV_transform_feedback
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/TransformFeedback2.hs b/dist/build/autogen/Graphics/GL/Ext/NV/TransformFeedback2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/TransformFeedback2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/TransformFeedback2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.TransformFeedback2 (
   -- * Extension Support
     gl_NV_transform_feedback2
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/UniformBufferUnifiedMemory.hs b/dist/build/autogen/Graphics/GL/Ext/NV/UniformBufferUnifiedMemory.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/UniformBufferUnifiedMemory.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/UniformBufferUnifiedMemory.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.UniformBufferUnifiedMemory (
   -- * Extension Support
     gl_NV_uniform_buffer_unified_memory
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/VdpauInterop.hs b/dist/build/autogen/Graphics/GL/Ext/NV/VdpauInterop.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/VdpauInterop.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/VdpauInterop.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.VdpauInterop (
   -- * Extension Support
     gl_NV_vdpau_interop
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/VertexArrayRange.hs b/dist/build/autogen/Graphics/GL/Ext/NV/VertexArrayRange.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/VertexArrayRange.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/VertexArrayRange.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.VertexArrayRange (
   -- * Extension Support
     gl_NV_vertex_array_range
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/VertexArrayRange2.hs b/dist/build/autogen/Graphics/GL/Ext/NV/VertexArrayRange2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/VertexArrayRange2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/VertexArrayRange2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.VertexArrayRange2 (
   -- * Extension Support
     gl_NV_vertex_array_range2
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/VertexAttribInteger64bit.hs b/dist/build/autogen/Graphics/GL/Ext/NV/VertexAttribInteger64bit.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/VertexAttribInteger64bit.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/VertexAttribInteger64bit.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.VertexAttribInteger64bit (
   -- * Extension Support
     gl_NV_vertex_attrib_integer_64bit
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/VertexBufferUnifiedMemory.hs b/dist/build/autogen/Graphics/GL/Ext/NV/VertexBufferUnifiedMemory.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/VertexBufferUnifiedMemory.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/VertexBufferUnifiedMemory.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.VertexBufferUnifiedMemory (
   -- * Extension Support
     gl_NV_vertex_buffer_unified_memory
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram.hs b/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.VertexProgram (
   -- * Extension Support
     gl_NV_vertex_program
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram11.hs b/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram11.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram11.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram11.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.VertexProgram11 (
   -- * Extension Support
     gl_NV_vertex_program1_1
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram2.hs b/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.VertexProgram2 (
   -- * Extension Support
     gl_NV_vertex_program2
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram2Option.hs b/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram2Option.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram2Option.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram2Option.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.VertexProgram2Option (
   -- * Extension Support
     gl_NV_vertex_program2_option
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram3.hs b/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram3.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram3.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram3.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.VertexProgram3 (
   -- * Extension Support
     gl_NV_vertex_program3
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram4.hs b/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram4.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram4.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/VertexProgram4.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.VertexProgram4 (
   -- * Extension Support
     gl_NV_vertex_program4
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/VideoCapture.hs b/dist/build/autogen/Graphics/GL/Ext/NV/VideoCapture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/VideoCapture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/VideoCapture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.VideoCapture (
   -- * Extension Support
     gl_NV_video_capture
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ViewportArray.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ViewportArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ViewportArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ViewportArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ViewportArray (
   -- * Extension Support
     gl_NV_viewport_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/NV/ViewportArray2.hs b/dist/build/autogen/Graphics/GL/Ext/NV/ViewportArray2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NV/ViewportArray2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NV/ViewportArray2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NV.ViewportArray2 (
   -- * Extension Support
     gl_NV_viewport_array2
diff --git a/dist/build/autogen/Graphics/GL/Ext/NVX.hs b/dist/build/autogen/Graphics/GL/Ext/NVX.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NVX.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NVX.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NVX (
   -- * NVX Extensions
     module Graphics.GL.Ext.NVX.ConditionalRender
diff --git a/dist/build/autogen/Graphics/GL/Ext/NVX/ConditionalRender.hs b/dist/build/autogen/Graphics/GL/Ext/NVX/ConditionalRender.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NVX/ConditionalRender.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NVX/ConditionalRender.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NVX.ConditionalRender (
   -- * Extension Support
     gl_NVX_conditional_render
diff --git a/dist/build/autogen/Graphics/GL/Ext/NVX/GpuMemoryInfo.hs b/dist/build/autogen/Graphics/GL/Ext/NVX/GpuMemoryInfo.hs
--- a/dist/build/autogen/Graphics/GL/Ext/NVX/GpuMemoryInfo.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/NVX/GpuMemoryInfo.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.NVX.GpuMemoryInfo (
   -- * Extension Support
     gl_NVX_gpu_memory_info
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES.hs b/dist/build/autogen/Graphics/GL/Ext/OES.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES (
   -- * OES Extensions
     module Graphics.GL.Ext.OES.BlendEquationSeparate
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/BlendEquationSeparate.hs b/dist/build/autogen/Graphics/GL/Ext/OES/BlendEquationSeparate.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/BlendEquationSeparate.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/BlendEquationSeparate.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.BlendEquationSeparate (
   -- * Extension Support
     gl_OES_blend_equation_separate
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/BlendFuncSeparate.hs b/dist/build/autogen/Graphics/GL/Ext/OES/BlendFuncSeparate.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/BlendFuncSeparate.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/BlendFuncSeparate.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.BlendFuncSeparate (
   -- * Extension Support
     gl_OES_blend_func_separate
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/BlendSubtract.hs b/dist/build/autogen/Graphics/GL/Ext/OES/BlendSubtract.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/BlendSubtract.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/BlendSubtract.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.BlendSubtract (
   -- * Extension Support
     gl_OES_blend_subtract
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/ByteCoordinates.hs b/dist/build/autogen/Graphics/GL/Ext/OES/ByteCoordinates.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/ByteCoordinates.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/ByteCoordinates.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.ByteCoordinates (
   -- * Extension Support
     gl_OES_byte_coordinates
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/CompressedETC1RGB8SubTexture.hs b/dist/build/autogen/Graphics/GL/Ext/OES/CompressedETC1RGB8SubTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/CompressedETC1RGB8SubTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/CompressedETC1RGB8SubTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.CompressedETC1RGB8SubTexture (
   -- * Extension Support
     gl_OES_compressed_ETC1_RGB8_sub_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/CompressedETC1RGB8Texture.hs b/dist/build/autogen/Graphics/GL/Ext/OES/CompressedETC1RGB8Texture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/CompressedETC1RGB8Texture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/CompressedETC1RGB8Texture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.CompressedETC1RGB8Texture (
   -- * Extension Support
     gl_OES_compressed_ETC1_RGB8_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/CompressedPalettedTexture.hs b/dist/build/autogen/Graphics/GL/Ext/OES/CompressedPalettedTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/CompressedPalettedTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/CompressedPalettedTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.CompressedPalettedTexture (
   -- * Extension Support
     gl_OES_compressed_paletted_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/CopyImage.hs b/dist/build/autogen/Graphics/GL/Ext/OES/CopyImage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/CopyImage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/CopyImage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.CopyImage (
   -- * Extension Support
     gl_OES_copy_image
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/Depth24.hs b/dist/build/autogen/Graphics/GL/Ext/OES/Depth24.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/Depth24.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/Depth24.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.Depth24 (
   -- * Extension Support
     gl_OES_depth24
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/Depth32.hs b/dist/build/autogen/Graphics/GL/Ext/OES/Depth32.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/Depth32.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/Depth32.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.Depth32 (
   -- * Extension Support
     gl_OES_depth32
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/DepthTexture.hs b/dist/build/autogen/Graphics/GL/Ext/OES/DepthTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/DepthTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/DepthTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.DepthTexture (
   -- * Extension Support
     gl_OES_depth_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/DrawBuffersIndexed.hs b/dist/build/autogen/Graphics/GL/Ext/OES/DrawBuffersIndexed.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/DrawBuffersIndexed.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/DrawBuffersIndexed.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.DrawBuffersIndexed (
   -- * Extension Support
     gl_OES_draw_buffers_indexed
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/DrawElementsBaseVertex.hs b/dist/build/autogen/Graphics/GL/Ext/OES/DrawElementsBaseVertex.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/DrawElementsBaseVertex.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/DrawElementsBaseVertex.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.DrawElementsBaseVertex (
   -- * Extension Support
     gl_OES_draw_elements_base_vertex
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/DrawTexture.hs b/dist/build/autogen/Graphics/GL/Ext/OES/DrawTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/DrawTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/DrawTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.DrawTexture (
   -- * Extension Support
     gl_OES_draw_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/EGLImage.hs b/dist/build/autogen/Graphics/GL/Ext/OES/EGLImage.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/EGLImage.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/EGLImage.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.EGLImage (
   -- * Extension Support
     gl_OES_EGL_image
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/EGLImageExternal.hs b/dist/build/autogen/Graphics/GL/Ext/OES/EGLImageExternal.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/EGLImageExternal.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/EGLImageExternal.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.EGLImageExternal (
   -- * Extension Support
     gl_OES_EGL_image_external
@@ -13,6 +13,7 @@
 
 import Data.Set
 import Graphics.GL.Internal.Proc
+import Graphics.GL.Internal.Shared
 
 -- | Checks that the <https://www.khronos.org/registry/gles/extensions/OES/OES_EGL_image_external.txt GL_OES_EGL_image_external> extension is available.
 
@@ -20,10 +21,4 @@
 gl_OES_EGL_image_external = member "GL_OES_EGL_image_external" extensions
 {-# NOINLINE gl_OES_EGL_image_external #-}
 
-pattern GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES = 0x8D68
-
 pattern GL_SAMPLER_EXTERNAL_OES = 0x8D66
-
-pattern GL_TEXTURE_BINDING_EXTERNAL_OES = 0x8D67
-
-pattern GL_TEXTURE_EXTERNAL_OES = 0x8D65
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/EGLImageExternalEssl3.hs b/dist/build/autogen/Graphics/GL/Ext/OES/EGLImageExternalEssl3.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/EGLImageExternalEssl3.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/EGLImageExternalEssl3.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.EGLImageExternalEssl3 (
   -- * Extension Support
     gl_OES_EGL_image_external_essl3
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/ElementIndexUint.hs b/dist/build/autogen/Graphics/GL/Ext/OES/ElementIndexUint.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/ElementIndexUint.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/ElementIndexUint.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.ElementIndexUint (
   -- * Extension Support
     gl_OES_element_index_uint
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/ExtendedMatrixPalette.hs b/dist/build/autogen/Graphics/GL/Ext/OES/ExtendedMatrixPalette.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/ExtendedMatrixPalette.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/ExtendedMatrixPalette.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.ExtendedMatrixPalette (
   -- * Extension Support
     gl_OES_extended_matrix_palette
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/FboRenderMipmap.hs b/dist/build/autogen/Graphics/GL/Ext/OES/FboRenderMipmap.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/FboRenderMipmap.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/FboRenderMipmap.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.FboRenderMipmap (
   -- * Extension Support
     gl_OES_fbo_render_mipmap
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/FixedPoint.hs b/dist/build/autogen/Graphics/GL/Ext/OES/FixedPoint.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/FixedPoint.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/FixedPoint.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.FixedPoint (
   -- * Extension Support
     gl_OES_fixed_point
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/FragmentPrecisionHigh.hs b/dist/build/autogen/Graphics/GL/Ext/OES/FragmentPrecisionHigh.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/FragmentPrecisionHigh.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/FragmentPrecisionHigh.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.FragmentPrecisionHigh (
   -- * Extension Support
     gl_OES_fragment_precision_high
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/FramebufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/OES/FramebufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/FramebufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/FramebufferObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.FramebufferObject (
   -- * Extension Support
     gl_OES_framebuffer_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/GeometryPointSize.hs b/dist/build/autogen/Graphics/GL/Ext/OES/GeometryPointSize.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/GeometryPointSize.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/GeometryPointSize.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.GeometryPointSize (
   -- * Extension Support
     gl_OES_geometry_point_size
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/GeometryShader.hs b/dist/build/autogen/Graphics/GL/Ext/OES/GeometryShader.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/GeometryShader.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/GeometryShader.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.GeometryShader (
   -- * Extension Support
     gl_OES_geometry_shader
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/GetProgramBinary.hs b/dist/build/autogen/Graphics/GL/Ext/OES/GetProgramBinary.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/GetProgramBinary.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/GetProgramBinary.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.GetProgramBinary (
   -- * Extension Support
     gl_OES_get_program_binary
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/GpuShader5.hs b/dist/build/autogen/Graphics/GL/Ext/OES/GpuShader5.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/GpuShader5.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/GpuShader5.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.GpuShader5 (
   -- * Extension Support
     gl_OES_gpu_shader5
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/Mapbuffer.hs b/dist/build/autogen/Graphics/GL/Ext/OES/Mapbuffer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/Mapbuffer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/Mapbuffer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.Mapbuffer (
   -- * Extension Support
     gl_OES_mapbuffer
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/MatrixGet.hs b/dist/build/autogen/Graphics/GL/Ext/OES/MatrixGet.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/MatrixGet.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/MatrixGet.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.MatrixGet (
   -- * Extension Support
     gl_OES_matrix_get
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/MatrixPalette.hs b/dist/build/autogen/Graphics/GL/Ext/OES/MatrixPalette.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/MatrixPalette.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/MatrixPalette.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.MatrixPalette (
   -- * Extension Support
     gl_OES_matrix_palette
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/PackedDepthStencil.hs b/dist/build/autogen/Graphics/GL/Ext/OES/PackedDepthStencil.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/PackedDepthStencil.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/PackedDepthStencil.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.PackedDepthStencil (
   -- * Extension Support
     gl_OES_packed_depth_stencil
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/PointSizeArray.hs b/dist/build/autogen/Graphics/GL/Ext/OES/PointSizeArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/PointSizeArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/PointSizeArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.PointSizeArray (
   -- * Extension Support
     gl_OES_point_size_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/PointSprite.hs b/dist/build/autogen/Graphics/GL/Ext/OES/PointSprite.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/PointSprite.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/PointSprite.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.PointSprite (
   -- * Extension Support
     gl_OES_point_sprite
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/PrimitiveBoundingBox.hs b/dist/build/autogen/Graphics/GL/Ext/OES/PrimitiveBoundingBox.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/PrimitiveBoundingBox.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/PrimitiveBoundingBox.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.PrimitiveBoundingBox (
   -- * Extension Support
     gl_OES_primitive_bounding_box
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/QueryMatrix.hs b/dist/build/autogen/Graphics/GL/Ext/OES/QueryMatrix.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/QueryMatrix.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/QueryMatrix.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.QueryMatrix (
   -- * Extension Support
     gl_OES_query_matrix
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/ReadFormat.hs b/dist/build/autogen/Graphics/GL/Ext/OES/ReadFormat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/ReadFormat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/ReadFormat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.ReadFormat (
   -- * Extension Support
     gl_OES_read_format
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/RequiredInternalformat.hs b/dist/build/autogen/Graphics/GL/Ext/OES/RequiredInternalformat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/RequiredInternalformat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/RequiredInternalformat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.RequiredInternalformat (
   -- * Extension Support
     gl_OES_required_internalformat
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/Rgb8Rgba8.hs b/dist/build/autogen/Graphics/GL/Ext/OES/Rgb8Rgba8.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/Rgb8Rgba8.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/Rgb8Rgba8.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.Rgb8Rgba8 (
   -- * Extension Support
     gl_OES_rgb8_rgba8
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/SampleShading.hs b/dist/build/autogen/Graphics/GL/Ext/OES/SampleShading.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/SampleShading.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/SampleShading.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.SampleShading (
   -- * Extension Support
     gl_OES_sample_shading
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/SampleVariables.hs b/dist/build/autogen/Graphics/GL/Ext/OES/SampleVariables.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/SampleVariables.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/SampleVariables.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.SampleVariables (
   -- * Extension Support
     gl_OES_sample_variables
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/ShaderImageAtomic.hs b/dist/build/autogen/Graphics/GL/Ext/OES/ShaderImageAtomic.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/ShaderImageAtomic.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/ShaderImageAtomic.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.ShaderImageAtomic (
   -- * Extension Support
     gl_OES_shader_image_atomic
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/ShaderIoBlocks.hs b/dist/build/autogen/Graphics/GL/Ext/OES/ShaderIoBlocks.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/ShaderIoBlocks.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/ShaderIoBlocks.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.ShaderIoBlocks (
   -- * Extension Support
     gl_OES_shader_io_blocks
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/ShaderMultisampleInterpolation.hs b/dist/build/autogen/Graphics/GL/Ext/OES/ShaderMultisampleInterpolation.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/ShaderMultisampleInterpolation.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/ShaderMultisampleInterpolation.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.ShaderMultisampleInterpolation (
   -- * Extension Support
     gl_OES_shader_multisample_interpolation
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/SinglePrecision.hs b/dist/build/autogen/Graphics/GL/Ext/OES/SinglePrecision.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/SinglePrecision.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/SinglePrecision.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.SinglePrecision (
   -- * Extension Support
     gl_OES_single_precision
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/StandardDerivatives.hs b/dist/build/autogen/Graphics/GL/Ext/OES/StandardDerivatives.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/StandardDerivatives.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/StandardDerivatives.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.StandardDerivatives (
   -- * Extension Support
     gl_OES_standard_derivatives
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/Stencil1.hs b/dist/build/autogen/Graphics/GL/Ext/OES/Stencil1.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/Stencil1.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/Stencil1.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.Stencil1 (
   -- * Extension Support
     gl_OES_stencil1
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/Stencil4.hs b/dist/build/autogen/Graphics/GL/Ext/OES/Stencil4.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/Stencil4.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/Stencil4.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.Stencil4 (
   -- * Extension Support
     gl_OES_stencil4
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/Stencil8.hs b/dist/build/autogen/Graphics/GL/Ext/OES/Stencil8.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/Stencil8.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/Stencil8.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.Stencil8 (
   -- * Extension Support
     gl_OES_stencil8
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/StencilWrap.hs b/dist/build/autogen/Graphics/GL/Ext/OES/StencilWrap.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/StencilWrap.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/StencilWrap.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.StencilWrap (
   -- * Extension Support
     gl_OES_stencil_wrap
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/SurfacelessContext.hs b/dist/build/autogen/Graphics/GL/Ext/OES/SurfacelessContext.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/SurfacelessContext.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/SurfacelessContext.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.SurfacelessContext (
   -- * Extension Support
     gl_OES_surfaceless_context
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TessellationPointSize.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TessellationPointSize.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TessellationPointSize.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TessellationPointSize.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TessellationPointSize (
   -- * Extension Support
     gl_OES_tessellation_point_size
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TessellationShader.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TessellationShader.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TessellationShader.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TessellationShader.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TessellationShader (
   -- * Extension Support
     gl_OES_tessellation_shader
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/Texture3D.hs b/dist/build/autogen/Graphics/GL/Ext/OES/Texture3D.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/Texture3D.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/Texture3D.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.Texture3D (
   -- * Extension Support
     gl_OES_texture_3D
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureBorderClamp.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureBorderClamp.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureBorderClamp.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureBorderClamp.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureBorderClamp (
   -- * Extension Support
     gl_OES_texture_border_clamp
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureBuffer.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureBuffer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureBuffer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureBuffer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureBuffer (
   -- * Extension Support
     gl_OES_texture_buffer
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureCompressionAstc.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureCompressionAstc.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureCompressionAstc.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureCompressionAstc.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureCompressionAstc (
   -- * Extension Support
     gl_OES_texture_compression_astc
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureCubeMap.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureCubeMap.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureCubeMap.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureCubeMap.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureCubeMap (
   -- * Extension Support
     gl_OES_texture_cube_map
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureCubeMapArray.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureCubeMapArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureCubeMapArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureCubeMapArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureCubeMapArray (
   -- * Extension Support
     gl_OES_texture_cube_map_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureEnvCrossbar.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureEnvCrossbar.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureEnvCrossbar.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureEnvCrossbar.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureEnvCrossbar (
   -- * Extension Support
     gl_OES_texture_env_crossbar
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureFloat.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureFloat (
   -- * Extension Support
     gl_OES_texture_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureFloatLinear.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureFloatLinear.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureFloatLinear.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureFloatLinear.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureFloatLinear (
   -- * Extension Support
     gl_OES_texture_float_linear
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureHalfFloat.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureHalfFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureHalfFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureHalfFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureHalfFloat (
   -- * Extension Support
     gl_OES_texture_half_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureHalfFloatLinear.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureHalfFloatLinear.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureHalfFloatLinear.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureHalfFloatLinear.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureHalfFloatLinear (
   -- * Extension Support
     gl_OES_texture_half_float_linear
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureMirroredRepeat.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureMirroredRepeat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureMirroredRepeat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureMirroredRepeat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureMirroredRepeat (
   -- * Extension Support
     gl_OES_texture_mirrored_repeat
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureNpot.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureNpot.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureNpot.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureNpot.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureNpot (
   -- * Extension Support
     gl_OES_texture_npot
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureStencil8.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureStencil8.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureStencil8.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureStencil8.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureStencil8 (
   -- * Extension Support
     gl_OES_texture_stencil8
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureStorageMultisample2dArray.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureStorageMultisample2dArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureStorageMultisample2dArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureStorageMultisample2dArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureStorageMultisample2dArray (
   -- * Extension Support
     gl_OES_texture_storage_multisample_2d_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureView.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureView.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureView.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureView.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.TextureView (
   -- * Extension Support
     gl_OES_texture_view
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/VertexArrayObject.hs b/dist/build/autogen/Graphics/GL/Ext/OES/VertexArrayObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/VertexArrayObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/VertexArrayObject.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.VertexArrayObject (
   -- * Extension Support
     gl_OES_vertex_array_object
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/VertexHalfFloat.hs b/dist/build/autogen/Graphics/GL/Ext/OES/VertexHalfFloat.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/VertexHalfFloat.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/VertexHalfFloat.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.VertexHalfFloat (
   -- * Extension Support
     gl_OES_vertex_half_float
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/VertexType1010102.hs b/dist/build/autogen/Graphics/GL/Ext/OES/VertexType1010102.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/VertexType1010102.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/VertexType1010102.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OES.VertexType1010102 (
   -- * Extension Support
     gl_OES_vertex_type_10_10_10_2
diff --git a/dist/build/autogen/Graphics/GL/Ext/OML.hs b/dist/build/autogen/Graphics/GL/Ext/OML.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OML.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OML.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OML (
   -- * OML Extensions
     module Graphics.GL.Ext.OML.Interlace
diff --git a/dist/build/autogen/Graphics/GL/Ext/OML/Interlace.hs b/dist/build/autogen/Graphics/GL/Ext/OML/Interlace.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OML/Interlace.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OML/Interlace.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OML.Interlace (
   -- * Extension Support
     gl_OML_interlace
diff --git a/dist/build/autogen/Graphics/GL/Ext/OML/Resample.hs b/dist/build/autogen/Graphics/GL/Ext/OML/Resample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OML/Resample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OML/Resample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OML.Resample (
   -- * Extension Support
     gl_OML_resample
diff --git a/dist/build/autogen/Graphics/GL/Ext/OML/Subsample.hs b/dist/build/autogen/Graphics/GL/Ext/OML/Subsample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OML/Subsample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OML/Subsample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.OML.Subsample (
   -- * Extension Support
     gl_OML_subsample
diff --git a/dist/build/autogen/Graphics/GL/Ext/PGI.hs b/dist/build/autogen/Graphics/GL/Ext/PGI.hs
--- a/dist/build/autogen/Graphics/GL/Ext/PGI.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/PGI.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.PGI (
   -- * PGI Extensions
     module Graphics.GL.Ext.PGI.MiscHints
diff --git a/dist/build/autogen/Graphics/GL/Ext/PGI/MiscHints.hs b/dist/build/autogen/Graphics/GL/Ext/PGI/MiscHints.hs
--- a/dist/build/autogen/Graphics/GL/Ext/PGI/MiscHints.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/PGI/MiscHints.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.PGI.MiscHints (
   -- * Extension Support
     gl_PGI_misc_hints
diff --git a/dist/build/autogen/Graphics/GL/Ext/PGI/VertexHints.hs b/dist/build/autogen/Graphics/GL/Ext/PGI/VertexHints.hs
--- a/dist/build/autogen/Graphics/GL/Ext/PGI/VertexHints.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/PGI/VertexHints.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.PGI.VertexHints (
   -- * Extension Support
     gl_PGI_vertex_hints
diff --git a/dist/build/autogen/Graphics/GL/Ext/QCOM.hs b/dist/build/autogen/Graphics/GL/Ext/QCOM.hs
--- a/dist/build/autogen/Graphics/GL/Ext/QCOM.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/QCOM.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.QCOM (
   -- * QCOM Extensions
     module Graphics.GL.Ext.QCOM.AlphaTest
diff --git a/dist/build/autogen/Graphics/GL/Ext/QCOM/AlphaTest.hs b/dist/build/autogen/Graphics/GL/Ext/QCOM/AlphaTest.hs
--- a/dist/build/autogen/Graphics/GL/Ext/QCOM/AlphaTest.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/QCOM/AlphaTest.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.QCOM.AlphaTest (
   -- * Extension Support
     gl_QCOM_alpha_test
diff --git a/dist/build/autogen/Graphics/GL/Ext/QCOM/BinningControl.hs b/dist/build/autogen/Graphics/GL/Ext/QCOM/BinningControl.hs
--- a/dist/build/autogen/Graphics/GL/Ext/QCOM/BinningControl.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/QCOM/BinningControl.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.QCOM.BinningControl (
   -- * Extension Support
     gl_QCOM_binning_control
diff --git a/dist/build/autogen/Graphics/GL/Ext/QCOM/DriverControl.hs b/dist/build/autogen/Graphics/GL/Ext/QCOM/DriverControl.hs
--- a/dist/build/autogen/Graphics/GL/Ext/QCOM/DriverControl.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/QCOM/DriverControl.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.QCOM.DriverControl (
   -- * Extension Support
     gl_QCOM_driver_control
diff --git a/dist/build/autogen/Graphics/GL/Ext/QCOM/ExtendedGet.hs b/dist/build/autogen/Graphics/GL/Ext/QCOM/ExtendedGet.hs
--- a/dist/build/autogen/Graphics/GL/Ext/QCOM/ExtendedGet.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/QCOM/ExtendedGet.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.QCOM.ExtendedGet (
   -- * Extension Support
     gl_QCOM_extended_get
diff --git a/dist/build/autogen/Graphics/GL/Ext/QCOM/ExtendedGet2.hs b/dist/build/autogen/Graphics/GL/Ext/QCOM/ExtendedGet2.hs
--- a/dist/build/autogen/Graphics/GL/Ext/QCOM/ExtendedGet2.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/QCOM/ExtendedGet2.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.QCOM.ExtendedGet2 (
   -- * Extension Support
     gl_QCOM_extended_get2
diff --git a/dist/build/autogen/Graphics/GL/Ext/QCOM/PerfmonGlobalMode.hs b/dist/build/autogen/Graphics/GL/Ext/QCOM/PerfmonGlobalMode.hs
--- a/dist/build/autogen/Graphics/GL/Ext/QCOM/PerfmonGlobalMode.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/QCOM/PerfmonGlobalMode.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.QCOM.PerfmonGlobalMode (
   -- * Extension Support
     gl_QCOM_perfmon_global_mode
diff --git a/dist/build/autogen/Graphics/GL/Ext/QCOM/TiledRendering.hs b/dist/build/autogen/Graphics/GL/Ext/QCOM/TiledRendering.hs
--- a/dist/build/autogen/Graphics/GL/Ext/QCOM/TiledRendering.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/QCOM/TiledRendering.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.QCOM.TiledRendering (
   -- * Extension Support
     gl_QCOM_tiled_rendering
diff --git a/dist/build/autogen/Graphics/GL/Ext/QCOM/WriteonlyRendering.hs b/dist/build/autogen/Graphics/GL/Ext/QCOM/WriteonlyRendering.hs
--- a/dist/build/autogen/Graphics/GL/Ext/QCOM/WriteonlyRendering.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/QCOM/WriteonlyRendering.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.QCOM.WriteonlyRendering (
   -- * Extension Support
     gl_QCOM_writeonly_rendering
diff --git a/dist/build/autogen/Graphics/GL/Ext/REND.hs b/dist/build/autogen/Graphics/GL/Ext/REND.hs
--- a/dist/build/autogen/Graphics/GL/Ext/REND.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/REND.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.REND (
   -- * REND Extensions
     module Graphics.GL.Ext.REND.ScreenCoordinates
diff --git a/dist/build/autogen/Graphics/GL/Ext/REND/ScreenCoordinates.hs b/dist/build/autogen/Graphics/GL/Ext/REND/ScreenCoordinates.hs
--- a/dist/build/autogen/Graphics/GL/Ext/REND/ScreenCoordinates.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/REND/ScreenCoordinates.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.REND.ScreenCoordinates (
   -- * Extension Support
     gl_REND_screen_coordinates
diff --git a/dist/build/autogen/Graphics/GL/Ext/S3.hs b/dist/build/autogen/Graphics/GL/Ext/S3.hs
--- a/dist/build/autogen/Graphics/GL/Ext/S3.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/S3.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.S3 (
   -- * S3 Extensions
     module Graphics.GL.Ext.S3.S3tc
diff --git a/dist/build/autogen/Graphics/GL/Ext/S3/S3tc.hs b/dist/build/autogen/Graphics/GL/Ext/S3/S3tc.hs
--- a/dist/build/autogen/Graphics/GL/Ext/S3/S3tc.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/S3/S3tc.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.S3.S3tc (
   -- * Extension Support
     gl_S3_s3tc
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGI.hs b/dist/build/autogen/Graphics/GL/Ext/SGI.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGI.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGI.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGI (
   -- * SGI Extensions
     module Graphics.GL.Ext.SGI.ColorMatrix
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGI/ColorMatrix.hs b/dist/build/autogen/Graphics/GL/Ext/SGI/ColorMatrix.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGI/ColorMatrix.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGI/ColorMatrix.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGI.ColorMatrix (
   -- * Extension Support
     gl_SGI_color_matrix
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGI/ColorTable.hs b/dist/build/autogen/Graphics/GL/Ext/SGI/ColorTable.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGI/ColorTable.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGI/ColorTable.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGI.ColorTable (
   -- * Extension Support
     gl_SGI_color_table
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGI/TextureColorTable.hs b/dist/build/autogen/Graphics/GL/Ext/SGI/TextureColorTable.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGI/TextureColorTable.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGI/TextureColorTable.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGI.TextureColorTable (
   -- * Extension Support
     gl_SGI_texture_color_table
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS (
   -- * SGIS Extensions
     module Graphics.GL.Ext.SGIS.DetailTexture
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/DetailTexture.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/DetailTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/DetailTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/DetailTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.DetailTexture (
   -- * Extension Support
     gl_SGIS_detail_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/FogFunction.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/FogFunction.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/FogFunction.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/FogFunction.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.FogFunction (
   -- * Extension Support
     gl_SGIS_fog_function
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/GenerateMipmap.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/GenerateMipmap.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/GenerateMipmap.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/GenerateMipmap.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.GenerateMipmap (
   -- * Extension Support
     gl_SGIS_generate_mipmap
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/Multisample.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/Multisample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/Multisample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/Multisample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.Multisample (
   -- * Extension Support
     gl_SGIS_multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/PixelTexture.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/PixelTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/PixelTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/PixelTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.PixelTexture (
   -- * Extension Support
     gl_SGIS_pixel_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/PointLineTexgen.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/PointLineTexgen.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/PointLineTexgen.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/PointLineTexgen.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.PointLineTexgen (
   -- * Extension Support
     gl_SGIS_point_line_texgen
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/PointParameters.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/PointParameters.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/PointParameters.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/PointParameters.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.PointParameters (
   -- * Extension Support
     gl_SGIS_point_parameters
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/SharpenTexture.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/SharpenTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/SharpenTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/SharpenTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.SharpenTexture (
   -- * Extension Support
     gl_SGIS_sharpen_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/Texture4D.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/Texture4D.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/Texture4D.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/Texture4D.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.Texture4D (
   -- * Extension Support
     gl_SGIS_texture4D
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureBorderClamp.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureBorderClamp.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureBorderClamp.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureBorderClamp.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.TextureBorderClamp (
   -- * Extension Support
     gl_SGIS_texture_border_clamp
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureColorMask.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureColorMask.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureColorMask.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureColorMask.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.TextureColorMask (
   -- * Extension Support
     gl_SGIS_texture_color_mask
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureEdgeClamp.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureEdgeClamp.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureEdgeClamp.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureEdgeClamp.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.TextureEdgeClamp (
   -- * Extension Support
     gl_SGIS_texture_edge_clamp
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureFilter4.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureFilter4.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureFilter4.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureFilter4.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.TextureFilter4 (
   -- * Extension Support
     gl_SGIS_texture_filter4
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureLod.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureLod.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureLod.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureLod.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.TextureLod (
   -- * Extension Support
     gl_SGIS_texture_lod
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureSelect.hs b/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureSelect.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureSelect.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIS/TextureSelect.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIS.TextureSelect (
   -- * Extension Support
     gl_SGIS_texture_select
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX (
   -- * SGIX Extensions
     module Graphics.GL.Ext.SGIX.Async
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/Async.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/Async.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/Async.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/Async.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.Async (
   -- * Extension Support
     gl_SGIX_async
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/AsyncHistogram.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/AsyncHistogram.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/AsyncHistogram.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/AsyncHistogram.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.AsyncHistogram (
   -- * Extension Support
     gl_SGIX_async_histogram
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/AsyncPixel.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/AsyncPixel.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/AsyncPixel.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/AsyncPixel.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.AsyncPixel (
   -- * Extension Support
     gl_SGIX_async_pixel
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/BlendAlphaMinmax.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/BlendAlphaMinmax.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/BlendAlphaMinmax.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/BlendAlphaMinmax.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.BlendAlphaMinmax (
   -- * Extension Support
     gl_SGIX_blend_alpha_minmax
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/CalligraphicFragment.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/CalligraphicFragment.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/CalligraphicFragment.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/CalligraphicFragment.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.CalligraphicFragment (
   -- * Extension Support
     gl_SGIX_calligraphic_fragment
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/Clipmap.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/Clipmap.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/Clipmap.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/Clipmap.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.Clipmap (
   -- * Extension Support
     gl_SGIX_clipmap
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/ConvolutionAccuracy.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/ConvolutionAccuracy.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/ConvolutionAccuracy.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/ConvolutionAccuracy.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.ConvolutionAccuracy (
   -- * Extension Support
     gl_SGIX_convolution_accuracy
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/DepthPassInstrument.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/DepthPassInstrument.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/DepthPassInstrument.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/DepthPassInstrument.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.DepthPassInstrument (
   -- * Extension Support
     gl_SGIX_depth_pass_instrument
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/DepthTexture.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/DepthTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/DepthTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/DepthTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.DepthTexture (
   -- * Extension Support
     gl_SGIX_depth_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/FlushRaster.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/FlushRaster.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/FlushRaster.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/FlushRaster.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.FlushRaster (
   -- * Extension Support
     gl_SGIX_flush_raster
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/FogOffset.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/FogOffset.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/FogOffset.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/FogOffset.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.FogOffset (
   -- * Extension Support
     gl_SGIX_fog_offset
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/FragmentLighting.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/FragmentLighting.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/FragmentLighting.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/FragmentLighting.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.FragmentLighting (
   -- * Extension Support
     gl_SGIX_fragment_lighting
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/Framezoom.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/Framezoom.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/Framezoom.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/Framezoom.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.Framezoom (
   -- * Extension Support
     gl_SGIX_framezoom
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/IglooInterface.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/IglooInterface.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/IglooInterface.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/IglooInterface.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.IglooInterface (
   -- * Extension Support
     gl_SGIX_igloo_interface
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/Instruments.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/Instruments.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/Instruments.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/Instruments.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.Instruments (
   -- * Extension Support
     gl_SGIX_instruments
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/Interlace.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/Interlace.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/Interlace.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/Interlace.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.Interlace (
   -- * Extension Support
     gl_SGIX_interlace
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/IrInstrument1.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/IrInstrument1.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/IrInstrument1.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/IrInstrument1.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.IrInstrument1 (
   -- * Extension Support
     gl_SGIX_ir_instrument1
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/ListPriority.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/ListPriority.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/ListPriority.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/ListPriority.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.ListPriority (
   -- * Extension Support
     gl_SGIX_list_priority
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/PixelTexture.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/PixelTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/PixelTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/PixelTexture.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.PixelTexture (
   -- * Extension Support
     gl_SGIX_pixel_texture
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/PixelTiles.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/PixelTiles.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/PixelTiles.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/PixelTiles.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.PixelTiles (
   -- * Extension Support
     gl_SGIX_pixel_tiles
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/PolynomialFfd.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/PolynomialFfd.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/PolynomialFfd.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/PolynomialFfd.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.PolynomialFfd (
   -- * Extension Support
     gl_SGIX_polynomial_ffd
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/ReferencePlane.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/ReferencePlane.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/ReferencePlane.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/ReferencePlane.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.ReferencePlane (
   -- * Extension Support
     gl_SGIX_reference_plane
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/Resample.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/Resample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/Resample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/Resample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.Resample (
   -- * Extension Support
     gl_SGIX_resample
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/ScalebiasHint.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/ScalebiasHint.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/ScalebiasHint.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/ScalebiasHint.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.ScalebiasHint (
   -- * Extension Support
     gl_SGIX_scalebias_hint
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/Shadow.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/Shadow.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/Shadow.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/Shadow.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.Shadow (
   -- * Extension Support
     gl_SGIX_shadow
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/ShadowAmbient.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/ShadowAmbient.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/ShadowAmbient.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/ShadowAmbient.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.ShadowAmbient (
   -- * Extension Support
     gl_SGIX_shadow_ambient
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/Sprite.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/Sprite.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/Sprite.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/Sprite.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.Sprite (
   -- * Extension Support
     gl_SGIX_sprite
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/Subsample.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/Subsample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/Subsample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/Subsample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.Subsample (
   -- * Extension Support
     gl_SGIX_subsample
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/TagSampleBuffer.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/TagSampleBuffer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/TagSampleBuffer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/TagSampleBuffer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.TagSampleBuffer (
   -- * Extension Support
     gl_SGIX_tag_sample_buffer
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureAddEnv.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureAddEnv.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureAddEnv.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureAddEnv.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.TextureAddEnv (
   -- * Extension Support
     gl_SGIX_texture_add_env
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureCoordinateClamp.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureCoordinateClamp.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureCoordinateClamp.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureCoordinateClamp.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.TextureCoordinateClamp (
   -- * Extension Support
     gl_SGIX_texture_coordinate_clamp
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureLodBias.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureLodBias.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureLodBias.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureLodBias.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.TextureLodBias (
   -- * Extension Support
     gl_SGIX_texture_lod_bias
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureMultiBuffer.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureMultiBuffer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureMultiBuffer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureMultiBuffer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.TextureMultiBuffer (
   -- * Extension Support
     gl_SGIX_texture_multi_buffer
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureScaleBias.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureScaleBias.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureScaleBias.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/TextureScaleBias.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.TextureScaleBias (
   -- * Extension Support
     gl_SGIX_texture_scale_bias
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/VertexPreclip.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/VertexPreclip.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/VertexPreclip.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/VertexPreclip.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.VertexPreclip (
   -- * Extension Support
     gl_SGIX_vertex_preclip
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/Ycrcb.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/Ycrcb.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/Ycrcb.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/Ycrcb.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.Ycrcb (
   -- * Extension Support
     gl_SGIX_ycrcb
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/YcrcbSubsample.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/YcrcbSubsample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/YcrcbSubsample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/YcrcbSubsample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.YcrcbSubsample (
   -- * Extension Support
     gl_SGIX_ycrcb_subsample
diff --git a/dist/build/autogen/Graphics/GL/Ext/SGIX/Ycrcba.hs b/dist/build/autogen/Graphics/GL/Ext/SGIX/Ycrcba.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SGIX/Ycrcba.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SGIX/Ycrcba.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SGIX.Ycrcba (
   -- * Extension Support
     gl_SGIX_ycrcba
diff --git a/dist/build/autogen/Graphics/GL/Ext/SUN.hs b/dist/build/autogen/Graphics/GL/Ext/SUN.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SUN.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SUN.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SUN (
   -- * SUN Extensions
     module Graphics.GL.Ext.SUN.ConvolutionBorderModes
diff --git a/dist/build/autogen/Graphics/GL/Ext/SUN/ConvolutionBorderModes.hs b/dist/build/autogen/Graphics/GL/Ext/SUN/ConvolutionBorderModes.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SUN/ConvolutionBorderModes.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SUN/ConvolutionBorderModes.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SUN.ConvolutionBorderModes (
   -- * Extension Support
     gl_SUN_convolution_border_modes
diff --git a/dist/build/autogen/Graphics/GL/Ext/SUN/GlobalAlpha.hs b/dist/build/autogen/Graphics/GL/Ext/SUN/GlobalAlpha.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SUN/GlobalAlpha.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SUN/GlobalAlpha.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SUN.GlobalAlpha (
   -- * Extension Support
     gl_SUN_global_alpha
diff --git a/dist/build/autogen/Graphics/GL/Ext/SUN/MeshArray.hs b/dist/build/autogen/Graphics/GL/Ext/SUN/MeshArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SUN/MeshArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SUN/MeshArray.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SUN.MeshArray (
   -- * Extension Support
     gl_SUN_mesh_array
diff --git a/dist/build/autogen/Graphics/GL/Ext/SUN/SliceAccum.hs b/dist/build/autogen/Graphics/GL/Ext/SUN/SliceAccum.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SUN/SliceAccum.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SUN/SliceAccum.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SUN.SliceAccum (
   -- * Extension Support
     gl_SUN_slice_accum
diff --git a/dist/build/autogen/Graphics/GL/Ext/SUN/TriangleList.hs b/dist/build/autogen/Graphics/GL/Ext/SUN/TriangleList.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SUN/TriangleList.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SUN/TriangleList.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SUN.TriangleList (
   -- * Extension Support
     gl_SUN_triangle_list
diff --git a/dist/build/autogen/Graphics/GL/Ext/SUN/Vertex.hs b/dist/build/autogen/Graphics/GL/Ext/SUN/Vertex.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SUN/Vertex.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SUN/Vertex.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SUN.Vertex (
   -- * Extension Support
     gl_SUN_vertex
diff --git a/dist/build/autogen/Graphics/GL/Ext/SUNX.hs b/dist/build/autogen/Graphics/GL/Ext/SUNX.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SUNX.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SUNX.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SUNX (
   -- * SUNX Extensions
     module Graphics.GL.Ext.SUNX.ConstantData
diff --git a/dist/build/autogen/Graphics/GL/Ext/SUNX/ConstantData.hs b/dist/build/autogen/Graphics/GL/Ext/SUNX/ConstantData.hs
--- a/dist/build/autogen/Graphics/GL/Ext/SUNX/ConstantData.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/SUNX/ConstantData.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.SUNX.ConstantData (
   -- * Extension Support
     gl_SUNX_constant_data
diff --git a/dist/build/autogen/Graphics/GL/Ext/ThreeDFX.hs b/dist/build/autogen/Graphics/GL/Ext/ThreeDFX.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ThreeDFX.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ThreeDFX.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ThreeDFX (
   -- * 3DFX Extensions
     module Graphics.GL.Ext.ThreeDFX.Multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/ThreeDFX/Multisample.hs b/dist/build/autogen/Graphics/GL/Ext/ThreeDFX/Multisample.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ThreeDFX/Multisample.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ThreeDFX/Multisample.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ThreeDFX.Multisample (
   -- * Extension Support
     gl_3DFX_multisample
diff --git a/dist/build/autogen/Graphics/GL/Ext/ThreeDFX/Tbuffer.hs b/dist/build/autogen/Graphics/GL/Ext/ThreeDFX/Tbuffer.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ThreeDFX/Tbuffer.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ThreeDFX/Tbuffer.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ThreeDFX.Tbuffer (
   -- * Extension Support
     gl_3DFX_tbuffer
diff --git a/dist/build/autogen/Graphics/GL/Ext/ThreeDFX/TextureCompressionFXT1.hs b/dist/build/autogen/Graphics/GL/Ext/ThreeDFX/TextureCompressionFXT1.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ThreeDFX/TextureCompressionFXT1.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ThreeDFX/TextureCompressionFXT1.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.ThreeDFX.TextureCompressionFXT1 (
   -- * Extension Support
     gl_3DFX_texture_compression_FXT1
diff --git a/dist/build/autogen/Graphics/GL/Ext/VIV.hs b/dist/build/autogen/Graphics/GL/Ext/VIV.hs
--- a/dist/build/autogen/Graphics/GL/Ext/VIV.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/VIV.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.VIV (
   -- * VIV Extensions
     module Graphics.GL.Ext.VIV.ShaderBinary
diff --git a/dist/build/autogen/Graphics/GL/Ext/VIV/ShaderBinary.hs b/dist/build/autogen/Graphics/GL/Ext/VIV/ShaderBinary.hs
--- a/dist/build/autogen/Graphics/GL/Ext/VIV/ShaderBinary.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/VIV/ShaderBinary.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.VIV.ShaderBinary (
   -- * Extension Support
     gl_VIV_shader_binary
diff --git a/dist/build/autogen/Graphics/GL/Ext/WIN.hs b/dist/build/autogen/Graphics/GL/Ext/WIN.hs
--- a/dist/build/autogen/Graphics/GL/Ext/WIN.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/WIN.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.WIN (
   -- * WIN Extensions
     module Graphics.GL.Ext.WIN.PhongShading
diff --git a/dist/build/autogen/Graphics/GL/Ext/WIN/PhongShading.hs b/dist/build/autogen/Graphics/GL/Ext/WIN/PhongShading.hs
--- a/dist/build/autogen/Graphics/GL/Ext/WIN/PhongShading.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/WIN/PhongShading.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.WIN.PhongShading (
   -- * Extension Support
     gl_WIN_phong_shading
diff --git a/dist/build/autogen/Graphics/GL/Ext/WIN/SpecularFog.hs b/dist/build/autogen/Graphics/GL/Ext/WIN/SpecularFog.hs
--- a/dist/build/autogen/Graphics/GL/Ext/WIN/SpecularFog.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/WIN/SpecularFog.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Ext.WIN.SpecularFog (
   -- * Extension Support
     gl_WIN_specular_fog
diff --git a/dist/build/autogen/Graphics/GL/Internal/FFI.hs b/dist/build/autogen/Graphics/GL/Internal/FFI.hs
--- a/dist/build/autogen/Graphics/GL/Internal/FFI.hs
+++ b/dist/build/autogen/Graphics/GL/Internal/FFI.hs
@@ -1,5154 +1,5154 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
-module Graphics.GL.Internal.FFI (
-  -- * Invokers
-    ffienumfloatIOV
-  , ffienumfixedIOV
-  , ffiuintIOV
-  , ffiuintuintIOV
-  , ffienumIOV
-  , ffiuintPtrcharIOV
-  , ffienumuintuintuintuintuintIOV
-  , ffienumuintuintuintuintuintuintuintuintIOV
-  , ffienumuintuintuintuintuintuintuintuintuintuintuintIOV
-  , ffienumclampfIOV
-  , ffisizeiPtruintPtrbooleanIOboolean
-  , ffiintIOV
-  , ffienumintenumsizeiuintuintIOV
-  , ffihandleARBhandleARBIOV
-  , ffiuintenumIOV
-  , ffiIOV
-  , ffienumuintIOV
-  , ffienumuintuintIOV
-  , ffiuintuintPtrcharIOV
-  , ffihandleARBuintPtrcharARBIOV
-  , ffienumuintuintintptrIOV
-  , ffienumuintuintintptrsizeiptrIOV
-  , ffienumuintsizeiPtruintIOV
-  , ffienumuintsizeiPtruintPtrintptrPtrsizeiptrIOV
-  , ffiuintuintuintPtrcharIOV
-  , ffiuintuintintbooleanintenumenumIOV
-  , ffiuintuintintbooleanintenumintIOV
-  , ffiuintsizeiPtruintIOV
-  , ffienumenumIOuint
-  , ffienumenumuintIOV
-  , ffienumIOuint
-  , ffienumenumenumIOuint
-  , ffiuintuintintptrsizeiIOV
-  , ffiuintsizeiPtruintPtrintptrPtrsizeiIOV
-  , ffiuintuintenumintptrARBIOV
-  , ffiuintuintenumenumuintIOV
-  , ffibytebytebyteIOV
-  , ffiPtrbyteIOV
-  , ffidoubledoubledoubleIOV
-  , ffiPtrdoubleIOV
-  , ffifloatfloatfloatIOV
-  , ffiPtrfloatIOV
-  , ffiintintintIOV
-  , ffiPtrintIOV
-  , ffishortshortshortIOV
-  , ffiPtrshortIOV
-  , ffienumsizeiPtrVIOV
-  , ffisizeisizeifloatfloatfloatfloatPtrubyteIOV
-  , ffisizeisizeifixedfixedfixedfixedPtrubyteIOV
-  , ffifloatfloatfloatfloatIOV
-  , ffifixedfixedfixedfixedIOV
-  , ffienumenumIOV
-  , ffiuintenumenumIOV
-  , ffienumenumenumenumIOV
-  , ffiuintenumenumenumenumIOV
-  , ffienumintIOV
-  , ffiintintintintintintintintbitfieldenumIOV
-  , ffiuintuintintintintintintintintintbitfieldenumIOV
-  , ffienumuintuint64EXTsizeiptrIOV
-  , ffienumsizeiptrPtrVenumIOV
-  , ffienumsizeiptrARBPtrVenumIOV
-  , ffienumintptrsizeiptrbooleanIOV
-  , ffienumenumintIOV
-  , ffienumsizeiptrPtrVbitfieldIOV
-  , ffienumintptrsizeiptrPtrVIOV
-  , ffienumintptrARBsizeiptrARBPtrVIOV
-  , ffisizeienumPtrVIOV
-  , ffienumIOenum
-  , ffiuintenumIOenum
-  , ffibitfieldIOV
-  , ffienumenumenumenumPtrVIOV
-  , ffienumenumintptrsizeiptrenumenumPtrVIOV
-  , ffienumintfloatintIOV
-  , ffienumintPtrfloatIOV
-  , ffienumintPtrintIOV
-  , ffienumintPtruintIOV
-  , ffiintintintintIOV
-  , ffiuintuintuintuintIOV
-  , ffidoubleIOV
-  , ffifloatIOV
-  , fficlampfIOV
-  , ffifixedIOV
-  , ffiuintenumenumenumPtrVIOV
-  , ffiuintenumintptrsizeiptrenumenumPtrVIOV
-  , ffiuintenumsizeiptrsizeiptrenumenumPtrVIOV
-  , ffiuintenumfloatintIOV
-  , ffiuintenumintPtrfloatIOV
-  , ffiuintenumintPtrintIOV
-  , ffiuintenumintPtruintIOV
-  , ffiuintintenumenumPtrVIOV
-  , ffiuintintintintintsizeisizeisizeienumenumPtrVIOV
-  , ffisyncbitfielduint64IOenum
-  , ffienumPtrdoubleIOV
-  , ffienumPtrfloatIOV
-  , ffienumPtrfixedIOV
-  , ffifloatfloatfloatfloatfloatfloatIOV
-  , ffiPtrfloatPtrfloatIOV
-  , ffihalfNVhalfNVhalfNVIOV
-  , ffiPtrhalfNVIOV
-  , ffiubyteubyteubyteIOV
-  , ffiPtrubyteIOV
-  , ffiuintuintuintIOV
-  , ffiPtruintIOV
-  , ffiushortushortushortIOV
-  , ffiPtrushortIOV
-  , ffifixedfixedfixedIOV
-  , ffiPtrfixedIOV
-  , ffibytebytebytebyteIOV
-  , ffidoubledoubledoubledoubleIOV
-  , ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV
-  , ffiPtrfloatPtrfloatPtrfloatIOV
-  , ffihalfNVhalfNVhalfNVhalfNVIOV
-  , ffishortshortshortshortIOV
-  , ffiubyteubyteubyteubyteIOV
-  , ffiubyteubyteubyteubytefloatfloatIOV
-  , ffiPtrubytePtrfloatIOV
-  , ffiubyteubyteubyteubytefloatfloatfloatIOV
-  , ffiushortushortushortushortIOV
-  , ffiintenumsizeiIOV
-  , ffienumuintuintuintuintuintuintIOV
-  , ffienumuintuintuintuintuintuintuintuintuintIOV
-  , ffienumuintuintuintuintuintuintuintuintuintuintuintuintIOV
-  , ffibooleanbooleanbooleanbooleanIOV
-  , ffiuintbooleanbooleanbooleanbooleanIOV
-  , ffienumPtruintIOV
-  , ffiintenumsizeiPtrVIOV
-  , ffiintenumsizeisizeiPtrVIOV
-  , ffiintenumintPtrPtrVintIOV
-  , ffiintenumPtrPtrVIOV
-  , ffienumsizeisizeienumenumPtrVIOV
-  , ffienumenumsizeienumenumPtrVIOV
-  , ffienumenumPtrfloatIOV
-  , ffienumenumPtrintIOV
-  , ffienumenumenumenumenumenumIOV
-  , ffienumenumenumenumenumenumenumbooleanbooleanbooleanIOV
-  , ffienumPtrintIOV
-  , ffihandleARBIOV
-  , ffiuintsizeiPtrPtrcharPtrintIOV
-  , ffienumenumintenumsizeiintsizeiPtrVIOV
-  , ffienumenumintenumsizeisizeiintsizeiPtrVIOV
-  , ffienumenumintenumsizeisizeisizeiintsizeiPtrVIOV
-  , ffienumenumintintsizeienumsizeiPtrVIOV
-  , ffienumenumintintintsizeisizeienumsizeiPtrVIOV
-  , ffienumenumintintintintsizeisizeisizeienumsizeiPtrVIOV
-  , ffienumintenumsizeiintsizeiPtrVIOV
-  , ffienumintenumsizeisizeiintsizeiPtrVIOV
-  , ffienumintenumsizeisizeisizeiintsizeiPtrVIOV
-  , ffienumintintsizeienumsizeiPtrVIOV
-  , ffienumintintintsizeisizeienumsizeiPtrVIOV
-  , ffienumintintintintsizeisizeisizeienumsizeiPtrVIOV
-  , ffiuintenumintenumsizeiintsizeiPtrVIOV
-  , ffiuintenumintenumsizeisizeiintsizeiPtrVIOV
-  , ffiuintenumintenumsizeisizeisizeiintsizeiPtrVIOV
-  , ffiuintintintsizeienumsizeiPtrVIOV
-  , ffiuintenumintintsizeienumsizeiPtrVIOV
-  , ffiuintintintintsizeisizeienumsizeiPtrVIOV
-  , ffiuintenumintintintsizeisizeienumsizeiPtrVIOV
-  , ffiuintintintintintsizeisizeisizeienumsizeiPtrVIOV
-  , ffiuintenumintintintintsizeisizeisizeienumsizeiPtrVIOV
-  , ffienumenumsizeisizeienumenumPtrVIOV
-  , ffienumenumfloatIOV
-  , ffienumenumfixedIOV
-  , ffienumenumPtrfixedIOV
-  , ffienumenumintptrintptrsizeiptrIOV
-  , ffienumsizeiintintsizeiIOV
-  , ffienumenumintintsizeiIOV
-  , ffienumenumintintsizeisizeiIOV
-  , ffiuintenumintintintintuintenumintintintintsizeisizeisizeiIOV
-  , ffienumenumintenumintintsizeiintIOV
-  , ffienumenumintenumintintsizeisizeiintIOV
-  , ffienumenumintintintintsizeiIOV
-  , ffienumenumintintintintintsizeisizeiIOV
-  , ffienumenumintintintintintintsizeisizeiIOV
-  , ffiuintuintintptrintptrsizeiptrIOV
-  , ffiintintsizeisizeienumIOV
-  , ffienumintenumintintsizeiintIOV
-  , ffienumintenumintintsizeisizeiintIOV
-  , ffienumintintintintsizeiIOV
-  , ffienumintintintintintsizeisizeiIOV
-  , ffienumintintintintintintsizeisizeiIOV
-  , ffiuintenumintenumintintsizeiintIOV
-  , ffiuintenumintenumintintsizeisizeiintIOV
-  , ffiuintuintintsizeiIOV
-  , ffiuintintintintintsizeiIOV
-  , ffiuintenumintintintintsizeiIOV
-  , ffiuintintintintintintsizeisizeiIOV
-  , ffiuintenumintintintintintsizeisizeiIOV
-  , ffiuintintintintintintintsizeisizeiIOV
-  , ffiuintenumintintintintintintsizeisizeiIOV
-  , ffisizeienumPtrVuintenumenumPtrfloatIOV
-  , ffibooleanIOV
-  , ffisizeiPtrfloatIOV
-  , ffisizeiPtruintIOV
-  , ffiuintPtruintIOV
-  , ffiIOuint
-  , ffiIOhandleARB
-  , ffienumsizeiPtruintIOV
-  , ffienumIOhandleARB
-  , ffienumPtrcharIOuint
-  , ffienumsizeiPtrPtrcharIOuint
-  , ffiPtrVPtrVbitfieldIOsync
-  , ffiDEBUGPROCPtrVIOV
-  , ffiDEBUGPROCAMDPtrVIOV
-  , ffiDEBUGPROCARBPtrVIOV
-  , ffiDEBUGPROCKHRPtrVIOV
-  , ffienumenumenumsizeiPtruintbooleanIOV
-  , ffienumenumsizeiPtruintbooleanIOV
-  , ffienumenumuintenumsizeiPtrcharIOV
-  , ffienumenumuintsizeiPtrcharIOV
-  , ffienumdoubledoubleintintdoubledoubleintintdoubledoubleintintPtrdoubleIOV
-  , ffienumfloatfloatintintfloatfloatintintfloatfloatintintPtrfloatIOV
-  , ffiuintsizeiIOV
-  , ffiintPtrcharIOV
-  , ffienumuintPtruintIOV
-  , ffisyncIOV
-  , fficlampdclampdIOV
-  , ffidoubledoubleIOV
-  , ffiuintsizeiPtrfloatIOV
-  , ffiuintsizeiPtrdoubleIOV
-  , ffiuintdoubledoubleIOV
-  , ffiuintfloatfloatIOV
-  , ffifloatfloatIOV
-  , fficlampfclampfIOV
-  , ffifixedfixedIOV
-  , ffienumsizeiPtrfloatIOV
-  , ffienumsizeiPtrenumIOV
-  , ffiuintuintuintuintuintuintIOV
-  , ffiintptrIOV
-  , ffienumintsizeiIOV
-  , ffienumPtrVIOV
-  , ffienumintsizeisizeiIOV
-  , ffienumintsizeisizeiuintIOV
-  , ffisizeiPtrenumIOV
-  , ffiintPtrenumPtrintIOV
-  , ffienumsizeiIOV
-  , ffienumsizeienumPtrVIOV
-  , ffienumsizeienumPtrVintIOV
-  , ffienumenumPtrVIOV
-  , ffienumsizeienumPtrVsizeiIOV
-  , ffienumsizeienumPtrVsizeiuintIOV
-  , ffienumsizeienumPtrVsizeiintIOV
-  , ffienumsizeienumPtrVsizeiintuintIOV
-  , ffisizeisizeienumenumPtrVIOV
-  , ffienumuintuintintsizeiIOV
-  , ffienumuintuintsizeiIOV
-  , ffienumuintuintsizeienumPtrVIOV
-  , ffienumuintuintsizeienumPtrVintIOV
-  , ffifloatfloatfloatfloatfloatIOV
-  , ffiintintintintintIOV
-  , ffishortshortshortshortshortIOV
-  , ffiuintuintfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV
-  , ffifixedfixedfixedfixedfixedIOV
-  , ffienumuintsizeiIOV
-  , ffienumeglImageOESIOV
-  , ffisizeiIOV
-  , ffisizeiPtrVIOV
-  , ffisizeisizeiPtrbooleanIOV
-  , ffiintPtrPtrbooleanintIOV
-  , ffiPtrbooleanIOV
-  , ffienumintintIOV
-  , ffienumintintintintIOV
-  , ffiintintIOV
-  , ffienumuintPtrfloatIOV
-  , ffienumPtrPtrVIOV
-  , ffiPtruintintPtrintIOV
-  , ffiuintenumPtrcharPtrintIOV
-  , ffiuintenumintenumPtrintIOV
-  , ffienumintintintintsizeisizeisizeienumenumPtrVIOV
-  , ffiuintIOboolean
-  , ffisizeienumPtrfloatIOV
-  , ffisizeienumPtrfixedIOV
-  , ffienumbitfieldIOsync
-  , ffiPtruintIOint
-  , ffienumintptrsizeiptrIOV
-  , ffiuintintptrsizeiptrIOV
-  , ffienumintPtrPtrVintIOV
-  , ffihalfNVIOV
-  , ffiuintsizeiPtrenumIOV
-  , ffienumenumenumuintIOV
-  , ffienumuintsizeiPtrfloatIOV
-  , ffienumenumuintintIOV
-  , ffienumenumenumuintintIOV
-  , ffienumenumenumuintintsizeiIOV
-  , ffienumenumenumuintintintIOV
-  , ffienumenumuintintenumIOV
-  , ffienumenumuintintintIOV
-  , ffidoubledoubledoubledoubledoubledoubleIOV
-  , ffifixedfixedfixedfixedfixedfixedIOV
-  , ffisizeiIOuint
-  , ffiuintIOuint
-  , ffienumenumenumuintIOuint
-  , ffiuintuintenumPtrintIOV
-  , ffiuintuintsizeiPtrsizeiPtrintPtrenumPtrcharIOV
-  , ffihandleARBuintsizeiPtrsizeiPtrintPtrenumPtrcharARBIOV
-  , ffiuintenumuintsizeiPtrsizeiPtrcharIOV
-  , ffiuintenumuintenumPtrintIOV
-  , ffiuintuintsizeiPtrsizeiPtrcharIOV
-  , ffiuintsizeiPtruintenumPtrintIOV
-  , ffiuintuintsizeiPtrsizeiPtrsizeiPtrenumPtrcharIOV
-  , ffihandleARBsizeiPtrsizeiPtrhandleARBIOV
-  , ffiuintsizeiPtrsizeiPtruintIOV
-  , ffiuintPtrcharIOint
-  , ffihandleARBPtrcharARBIOint
-  , ffienumuintPtrbooleanIOV
-  , ffienumPtrbooleanIOV
-  , ffienumenumPtrint64IOV
-  , ffienumenumPtruint64EXTIOV
-  , ffienumenumPtrPtrVIOV
-  , ffienumenumenumPtrVIOV
-  , ffienumenumenumenumPtrfloatIOV
-  , ffienumenumenumenumPtrintIOV
-  , ffienumenumenumPtrfloatIOV
-  , ffienumenumenumPtrintIOV
-  , ffienumenumintPtrVIOV
-  , ffienumintPtrVIOV
-  , ffiuintintsizeiPtrVIOV
-  , ffiuintenumintPtrVIOV
-  , ffiuintintintintintsizeisizeisizeisizeiPtrVIOV
-  , ffiuintsizeiPtrenumPtrenumPtruintPtrenumPtrsizeiPtrcharIOuint
-  , ffiuintsizeiPtrenumPtruintPtruintPtrsizeiPtrcharIOuint
-  , ffienumuintPtrdoubleIOV
-  , ffiuintsizeiPtrsizeiPtrcharIOV
-  , ffiPtrintsizeiPtruintIOV
-  , ffiIOenum
-  , ffiuintenumPtrintIOV
-  , ffienumbooleanenumenumPtrVIOV
-  , ffiuintintbooleanintenumIOuint64
-  , ffihandleARBsizeiPtrsizeiPtrcharARBIOV
-  , ffiIOint
-  , ffienumuintPtrint64IOV
-  , ffienumPtrint64IOV
-  , ffienumuintPtrintIOV
-  , ffienumuintPtruint64EXTIOV
-  , ffienumPtruint64EXTIOV
-  , ffienumenumsizeienumsizeiPtrintIOV
-  , ffienumenumenumsizeiPtrint64IOV
-  , ffienumenumenumsizeiPtrintIOV
-  , ffiuintenumPtrbooleanIOV
-  , ffiuintenumPtrfloatIOV
-  , ffienumuintenumPtrfloatIOV
-  , ffienumuintenumPtrintIOV
-  , ffienumuintenumsizeisizeibooleanPtrVIOV
-  , ffienumenumPtrdoubleIOV
-  , ffienumenumenumPtrdoubleIOV
-  , ffienumenumintenumenumPtrVIOV
-  , ffienumenumintenumPtrfloatIOV
-  , ffienumenumintenumPtrintIOV
-  , ffienumenumenumPtruintIOV
-  , ffiuintenumPtrint64IOV
-  , ffiuintenumPtruint64EXTIOV
-  , ffiuintenumPtrPtrVIOV
-  , ffiuintintptrsizeiptrPtrVIOV
-  , ffiuintenumenumPtrintIOV
-  , ffiuintenumuintPtrintIOV
-  , ffiuintenumuintPtruintIOV
-  , ffiuintenumuintPtrdoubleIOV
-  , ffiuintenumuintPtrfloatIOV
-  , ffiuintenumenumPtrVIOV
-  , ffiintPtrcharsizeiPtrintPtrcharIOV
-  , ffiintPtrcharenumPtrintIOV
-  , ffienumuintsizeiPtrsizeiPtrcharIOV
-  , ffihandleARBenumPtrfloatIOV
-  , ffihandleARBenumPtrintIOV
-  , ffiPtrVsizeiPtrsizeiPtrcharIOV
-  , ffiuintenumPtruintIOV
-  , ffiuintPtrubyteIOV
-  , ffiuintPtrfloatIOV
-  , ffiuintsizeisizeiIOfloat
-  , ffibitfielduintsizeisizeiPtrfloatIOV
-  , ffibitfieldsizeienumPtrVuintsizeiPtrfloatIOV
-  , ffienumsizeienumPtrVuintfloatfloatenumPtrfloatIOV
-  , ffiuintuintuintPtrcharuintPtrcharPtruintPtruintPtruintPtruintPtruint64IOV
-  , ffiuintenumsizeiPtruintPtrintIOV
-  , ffiuintuintenumPtrVIOV
-  , ffiuintPtrintPtrintsizeiPtruintIOV
-  , ffiuintuintsizeiPtrVPtruintIOV
-  , ffiPtrcharPtruintIOV
-  , ffiuintuintPtrcharPtruintPtruintPtruintPtruintIOV
-  , ffienumPtrushortIOV
-  , ffienumintPtrfixedIOV
-  , ffienumuintPtrPtrVIOV
-  , ffiuintsizeiPtrsizeiPtrenumPtrVIOV
-  , ffiuintsizeiPtrubytePtrdoubleIOV
-  , ffiuintsizeiPtrubytePtrfloatIOV
-  , ffienumuintenumPtrdoubleIOV
-  , ffiuintenumPtrcharIOuint
-  , ffiuintenumPtrcharIOint
-  , ffiuintenumuintsizeiPtrenumsizeiPtrsizeiPtrfloatIOV
-  , ffiuintenumuintsizeiPtrenumsizeiPtrsizeiPtrintIOV
-  , ffiuintenumPtrubyteIOV
-  , ffiuintuintenumintptrIOV
-  , ffiuintenumPtruint64IOV
-  , ffienumenumenumPtrVPtrVPtrVIOV
-  , ffienumenumPtrintPtrintIOV
-  , ffienumIOPtrubyte
-  , ffienumuintIOPtrubyte
-  , ffisyncenumsizeiPtrsizeiPtrintIOV
-  , ffienumintenumenumPtrVIOV
-  , ffienumintenumPtrfloatIOV
-  , ffienumintenumPtrintIOV
-  , ffienumintenumPtrfixedIOV
-  , ffienumenumPtruintIOV
-  , ffiuintIOuint64
-  , ffiuintintenumenumsizeiPtrVIOV
-  , ffiuintenumintenumenumPtrVIOV
-  , ffiuintintenumPtrfloatIOV
-  , ffiuintenumintenumPtrfloatIOV
-  , ffiuintintenumPtrintIOV
-  , ffiuintenumenumPtruintIOV
-  , ffiuintenumenumPtrfloatIOV
-  , ffiuintuintIOuint64
-  , ffiuintintintintintsizeisizeisizeienumenumsizeiPtrVIOV
-  , ffiuintuintPtrintIOV
-  , ffiuintenumuintPtrint64IOV
-  , ffiuintPtrcharIOuint
-  , ffiuintintIOint
-  , ffiuintsizeiPtrPtrcharPtruintIOV
-  , ffiuintintIOintptr
-  , ffiuintintPtrdoubleIOV
-  , ffiuintintPtrfloatIOV
-  , ffihandleARBintPtrfloatIOV
-  , ffiuintintPtrint64EXTIOV
-  , ffiuintintPtrintIOV
-  , ffihandleARBintPtrintIOV
-  , ffiuintintPtruint64EXTIOV
-  , ffiuintintPtruintIOV
-  , ffiuintuintenumPtrint64IOV
-  , ffiuintuintenumPtrPtrVIOV
-  , ffiuintenumPtrdoubleIOV
-  , ffiuintenumPtrint64EXTIOV
-  , ffiuintuintenumPtrdoubleIOV
-  , ffiuintuintenumPtrfloatIOV
-  , ffienumenumenumsizeiPtrVIOV
-  , ffienumintsizeiPtrVIOV
-  , ffienumbooleanenumenumsizeiPtrVIOV
-  , ffienumenumsizeiPtrdoubleIOV
-  , ffienumenumsizeiPtrfloatIOV
-  , ffienumenumsizeiPtrintIOV
-  , ffienumsizeiPtrushortIOV
-  , ffisizeiPtrubyteIOV
-  , ffienumenumenumsizeiPtrVsizeiPtrVPtrVIOV
-  , ffienumintenumenumsizeiPtrVIOV
-  , ffiuintintsizeiPtrdoubleIOV
-  , ffiuintintsizeiPtrfloatIOV
-  , ffiuintintsizeiPtrintIOV
-  , ffiuintintsizeiPtruintIOV
-  , ffibyteIOV
-  , ffishortIOV
-  , ffiubyteIOV
-  , ffiushortIOV
-  , ffienumsizeienumbooleanIOV
-  , ffienumintptrbitfieldIOsync
-  , ffienumsizeisizeiPtrVIOV
-  , ffisizeiPtrcharIOV
-  , ffisizeiPtrintIOV
-  , ffiuintuintuintfloatIOV
-  , ffiuintsizeiPtrenumintintsizeisizeiIOV
-  , ffienumsizeiPtrenumintintsizeisizeiIOV
-  , ffiuintintIOV
-  , ffiuintintintintintsizeisizeisizeiIOV
-  , ffienumIOboolean
-  , ffienumuintIOboolean
-  , ffiuint64IOboolean
-  , ffiintPtrcharIOboolean
-  , ffiuintuintfloatfloatIOboolean
-  , ffiuintfloatfloatIOboolean
-  , ffisyncIOboolean
-  , ffiuintenumIOboolean
-  , ffienumuintsizeiPtrcharIOV
-  , ffiintushortIOV
-  , ffiuintenumfloatIOV
-  , ffiuintenumintIOV
-  , ffienumuintsizeiPtrubyteIOV
-  , ffiintsizeiIOV
-  , ffiuint64IOV
-  , ffiuint64enumIOV
-  , ffienumdoubledoubleintintPtrdoubleIOV
-  , ffienumfloatfloatintintPtrfloatIOV
-  , ffienumfixedfixedintintfixedIOV
-  , ffienumdoubledoubleintintdoubledoubleintintPtrdoubleIOV
-  , ffienumfloatfloatintintfloatfloatintintPtrfloatIOV
-  , ffienumfixedfixedintintfixedfixedintintfixedIOV
-  , ffienumenumIOPtrV
-  , ffienumintptrsizeiptrbitfieldIOPtrV
-  , ffienumuintenumsizeisizeiintintbooleanPtrVIOV
-  , ffiintdoubledoubleIOV
-  , ffiintfloatfloatIOV
-  , ffiintfixedfixedIOV
-  , ffiintdoubledoubleintdoubledoubleIOV
-  , ffiintfloatfloatintfloatfloatIOV
-  , ffiintfixedfixedfixedfixedIOV
-  , ffiuintenumIOPtrV
-  , ffiuintintptrsizeiptrbitfieldIOPtrV
-  , ffiuintIOPtrV
-  , ffiuintintbitfieldPtrintPtrenumIOPtrV
-  , ffiuintuintdoubledoubleintintPtrdoubleIOV
-  , ffiuintuintfloatfloatintintPtrfloatIOV
-  , ffiuintuintdoubledoubleintintdoubledoubleintintPtrdoubleIOV
-  , ffiuintuintfloatfloatintintfloatfloatintintPtrfloatIOV
-  , ffienumdoubledoubledoubledoubledoubledoubleIOV
-  , ffiintPtrubyteIOV
-  , ffiintPtruintIOV
-  , ffiintPtrushortIOV
-  , ffienumdoubledoubledoubledoubleIOV
-  , ffienumfloatfloatfloatfloatIOV
-  , ffienumdoubledoubledoubleIOV
-  , ffienumfloatfloatfloatIOV
-  , ffienumenumbooleanIOV
-  , ffienumPtrintPtrsizeisizeiIOV
-  , ffienumPtrVsizeisizeiIOV
-  , ffienumPtrVsizeisizeisizeiintIOV
-  , ffienumPtrVsizeisizeiintIOV
-  , ffienumintptrintptrsizeisizeiIOV
-  , ffienumPtrsizeienumPtrPtrVsizeiIOV
-  , ffienumPtrsizeienumPtrPtrVsizeiPtrintIOV
-  , ffienumenumPtrVsizeisizeiIOV
-  , ffienumenumPtrVsizeisizeisizeiintIOV
-  , ffienumenumPtrVsizeisizeiintIOV
-  , ffienumenumintptrintptrsizeisizeiIOV
-  , ffienumuintuintPtrintPtrsizeisizeiIOV
-  , ffiPtrenumPtrintPtrsizeisizeiintIOV
-  , ffiPtrenumPtrsizeienumPtrPtrVsizeiintIOV
-  , ffienumbyteIOV
-  , ffienumPtrbyteIOV
-  , ffienumdoubleIOV
-  , ffienumhalfNVIOV
-  , ffienumPtrhalfNVIOV
-  , ffienumshortIOV
-  , ffienumPtrshortIOV
-  , ffienumbytebyteIOV
-  , ffienumdoubledoubleIOV
-  , ffienumfloatfloatIOV
-  , ffienumhalfNVhalfNVIOV
-  , ffienumshortshortIOV
-  , ffienumfixedfixedIOV
-  , ffienumbytebytebyteIOV
-  , ffienumhalfNVhalfNVhalfNVIOV
-  , ffienumintintintIOV
-  , ffienumshortshortshortIOV
-  , ffienumfixedfixedfixedIOV
-  , ffienumbytebytebytebyteIOV
-  , ffienumhalfNVhalfNVhalfNVhalfNVIOV
-  , ffienumshortshortshortshortIOV
-  , ffienumfixedfixedfixedfixedIOV
-  , ffienumintenumsizeiPtrVIOV
-  , ffienumenumenumfloatIOV
-  , ffienumenumenumintIOV
-  , ffienumenumenumdoubleIOV
-  , ffienumenumintintsizeiintenumenumPtrVIOV
-  , ffienumenumintintsizeisizeiintenumenumPtrVIOV
-  , ffienumenumintintsizeisizeisizeiintenumenumPtrVIOV
-  , ffienumenumintintsizeienumenumPtrVIOV
-  , ffienumenumintintintsizeisizeienumenumPtrVIOV
-  , ffienumenumintintintintsizeisizeisizeienumenumPtrVIOV
-  , ffiuintsizeiptrPtrVenumIOV
-  , ffiuintintptrsizeiptrbooleanIOV
-  , ffiuintsizeiptrPtrVbitfieldIOV
-  , ffiuintenumenumuintIOV
-  , ffiuintuintsizeiPtrfloatIOV
-  , ffiuintenumuintintIOV
-  , ffiuintenumenumuintintIOV
-  , ffiuintenumenumuintintintIOV
-  , ffiuintenumuintintenumIOV
-  , ffiuintenumuintintintIOV
-  , ffiuintenumuintdoubledoubledoubledoubleIOV
-  , ffiuintenumuintfloatfloatfloatfloatIOV
-  , ffiuintenumuintintintintintIOV
-  , ffiuintenumuintuintuintuintuintIOV
-  , ffiuintenumuintsizeiPtrfloatIOV
-  , ffiuintenumuintsizeiPtrintIOV
-  , ffiuintenumuintsizeiPtruintIOV
-  , ffiuintenumenumsizeiPtrVIOV
-  , ffiuintenumsizeisizeiIOV
-  , ffiuintsizeienumsizeisizeiIOV
-  , ffiuintsizeisizeienumsizeisizeiIOV
-  , ffienumintPtrcharintPtrcharIOV
-  , ffisizeiPtrVenumIOuint
-  , ffiPtrVsizeiPtrcharIOV
-  , ffienumuintenumIOenum
-  , ffiuintuintenumIOV
-  , ffiuintsizeiPtrubytesizeienumPtrVIOV
-  , ffiuintsizeienumPtrVIOV
-  , ffiuintenumPtrVbitfielduintsizeiuintfloatIOenum
-  , ffienumPtrVbitfielduintfloatPtruintIOenum
-  , ffiuintenumPtrVbitfielduintsizeienumuintfloatIOV
-  , ffiuintenumPtrVbitfieldsizeienumPtrVenumuintfloatIOV
-  , ffiuintenumsizeiptrPtrVsizeiuintsizeiuintfloatIOenum
-  , ffienumintuintIOV
-  , ffiuintenumsizeiPtrVIOV
-  , ffiuintsizeisizeisizeiPtrubytesizeienumPtrVIOV
-  , ffiuintsizeisizeienumPtrVIOV
-  , ffienumenumintPtrfloatIOV
-  , ffiuintsizeisizeifloatPtrfloatPtrfloatPtrfloatPtrfloatIOboolean
-  , ffiPtrintIOint
-  , ffiuintuint64EXTuintuintenumenumuintenumuintenumuintenumuintIOV
-  , ffiuintuint64EXTuintuintenumenumuintuintenumuintuintIOV
-  , ffifloatfloatfloatfloatfloatfloatfloatfloatIOV
-  , ffisizeiPtruintPtrfloatIOV
-  , ffisizeiPtruintPtrclampfIOV
-  , ffisizeiPtruintPtrfixedIOV
-  , ffiuintenumPtrVsizeiIOV
-  , ffiuintenumPtrVintIOV
-  , ffienumuintuintsizeiPtrintIOV
-  , ffienumuintuintsizeiPtruintIOV
-  , ffienumuintuintsizeiPtrfloatIOV
-  , ffienumuintdoubledoubledoubledoubleIOV
-  , ffienumuintfloatfloatfloatfloatIOV
-  , ffienumuintintintintintIOV
-  , ffienumuintsizeiPtrintIOV
-  , ffiuintsizeiPtrubytedoubledoubledoubledoubleIOV
-  , ffiuintsizeiPtrubytefloatfloatfloatfloatIOV
-  , ffienumuintsizeiPtrdoubleIOV
-  , ffiuintintenumintPtrfloatIOV
-  , ffienumenumsizeiPtrVIOV
-  , ffiuintintdoubleIOV
-  , ffiuintintfloatIOV
-  , ffiuintintintIOV
-  , ffiuintintint64EXTIOV
-  , ffiuintintsizeiPtrint64EXTIOV
-  , ffiuintintuintIOV
-  , ffiuintintuint64EXTIOV
-  , ffiuintintsizeiPtruint64EXTIOV
-  , ffiuintintdoubledoubleIOV
-  , ffiuintintfloatfloatIOV
-  , ffiuintintintintIOV
-  , ffiuintintint64EXTint64EXTIOV
-  , ffiuintintuintuintIOV
-  , ffiuintintuint64EXTuint64EXTIOV
-  , ffiuintintdoubledoubledoubleIOV
-  , ffiuintintfloatfloatfloatIOV
-  , ffiuintintintintintIOV
-  , ffiuintintint64EXTint64EXTint64EXTIOV
-  , ffiuintintuintuintuintIOV
-  , ffiuintintuint64EXTuint64EXTuint64EXTIOV
-  , ffiuintintdoubledoubledoubledoubleIOV
-  , ffiuintintfloatfloatfloatfloatIOV
-  , ffiuintintintintintintIOV
-  , ffiuintintint64EXTint64EXTint64EXTint64EXTIOV
-  , ffiuintintuintuintuintuintIOV
-  , ffiuintintuint64EXTuint64EXTuint64EXTuint64EXTIOV
-  , ffiuintintuint64IOV
-  , ffiuintintsizeiPtruint64IOV
-  , ffiuintintsizeibooleanPtrdoubleIOV
-  , ffiuintintsizeibooleanPtrfloatIOV
-  , ffiPtrfixedPtrintIObitfield
-  , ffienumuintenumuintIOV
-  , ffishortshortIOV
-  , ffiuintbooleanIOV
-  , ffiintintsizeisizeienumenumPtrVIOV
-  , ffiintintsizeisizeienumenumsizeiPtrVIOV
-  , ffiPtrdoublePtrdoubleIOV
-  , ffiPtrintPtrintIOV
-  , ffiPtrshortPtrshortIOV
-  , ffiPtrfixedPtrfixedIOV
-  , ffienumIOint
-  , ffienumenumsizeisizeiIOV
-  , ffienumsizeienumsizeisizeiIOV
-  , ffienumsizeisizeienumsizeisizeiIOV
-  , ffienumsizeiPtrPtrVIOV
-  , ffiuintfloatfloatfloatfloatfloatfloatIOV
-  , ffiPtruintPtrfloatPtrfloatIOV
-  , ffiuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV
-  , ffiPtruintPtrfloatPtrfloatPtrfloatIOV
-  , ffiuintubyteubyteubyteubytefloatfloatfloatIOV
-  , ffiPtruintPtrubytePtrfloatIOV
-  , ffiuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV
-  , ffiPtruintPtrfloatPtrfloatPtrfloatPtrfloatIOV
-  , ffiuintfloatfloatfloatfloatfloatfloatfloatfloatIOV
-  , ffiuintfloatfloatfloatfloatfloatIOV
-  , ffiuintfloatfloatfloatIOV
-  , ffiPtruintPtrfloatIOV
-  , ffifloatbooleanIOV
-  , ffifixedbooleanIOV
-  , fficlampxbooleanIOV
-  , fficlampfbooleanIOV
-  , ffiuintbitfieldIOV
-  , ffiintintsizeisizeiIOV
-  , ffiuintsizeiPtrintIOV
-  , ffiuintintintsizeisizeiIOV
-  , ffiuintPtrintIOV
-  , ffiuintbooleanuintintPtruintIOV
-  , ffienumenumsizeisizeienumenumPtrVPtrVIOV
-  , ffiuintenumPtrVIOV
-  , ffisizeiPtruintenumPtrVsizeiIOV
-  , ffienumuintuintuintIOV
-  , ffienumuintuintuintuintIOV
-  , ffihandleARBsizeiPtrPtrcharARBPtrintIOV
-  , ffiuintuintuintuintbitfieldIOV
-  , ffisizeiuintIOV
-  , ffisizeienumPtrVuintenumuintenumPtrfloatIOV
-  , ffiuintenumuintIOV
-  , ffienumenumintuintIOV
-  , ffienumenumenumIOV
-  , ffisizeienumPtrVuintintuintenumPtrfloatIOV
-  , ffisizeienumPtrVuintenumuintenumenumPtrfloatIOV
-  , ffiuintenumuintenumIOV
-  , ffisizeienumPtrVuintintuintenumenumPtrfloatIOV
-  , ffiuintintuintenumIOV
-  , ffiuintuintenumenumenumenumIOV
-  , ffienumenumuintintptrsizeiptrIOV
-  , ffibytebyteIOV
-  , ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV
-  , ffiPtrfloatPtrfloatPtrfloatPtrfloatIOV
-  , ffifloatfloatubyteubyteubyteubytefloatfloatfloatIOV
-  , ffiPtrfloatPtrubytePtrfloatIOV
-  , ffihalfNVhalfNVIOV
-  , ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV
-  , ffienumenumdoubleIOV
-  , ffienumintintsizeiintenumenumPtrVIOV
-  , ffienumintintsizeisizeiintenumenumPtrVIOV
-  , ffienumsizeienumsizeisizeibooleanIOV
-  , ffienumsizeisizeiintsizeisizeibooleanIOV
-  , ffienumintintsizeisizeisizeiintenumenumPtrVIOV
-  , ffienumintenumsizeisizeisizeiintenumenumPtrVIOV
-  , ffienumsizeienumsizeisizeisizeibooleanIOV
-  , ffienumsizeisizeiintsizeisizeisizeibooleanIOV
-  , ffienumintenumsizeisizeisizeisizeiintenumenumPtrVIOV
-  , ffienumintintintintsizeisizeisizeibooleanIOV
-  , ffienumsizeienumsizeiIOV
-  , ffienumsizeienumsizeisizeisizeiIOV
-  , ffienumenumsizeisizeisizeisizeibitfieldIOV
-  , ffienumintintsizeienumenumPtrVIOV
-  , ffienumintintintsizeisizeienumenumPtrVIOV
-  , ffienumintintintintintsizeisizeisizeisizeienumenumPtrVIOV
-  , ffiuintenumuintintptrsizeiptrIOV
-  , ffiuintenumenumuintintptrsizeiptrIOV
-  , ffiuintenumintintsizeiintenumenumPtrVIOV
-  , ffiuintenumintintsizeisizeiintenumenumPtrVIOV
-  , ffiuintenumsizeisizeiintsizeisizeibooleanIOV
-  , ffiuintenumsizeiintsizeisizeibooleanIOV
-  , ffiuintenumintintsizeisizeisizeiintenumenumPtrVIOV
-  , ffiuintenumsizeisizeiintsizeisizeisizeibooleanIOV
-  , ffiuintenumsizeiintsizeisizeisizeibooleanIOV
-  , ffiuintintintintintsizeisizeisizeibooleanIOV
-  , ffiuintenumenumfloatIOV
-  , ffiuintenumenumintIOV
-  , ffiuintsizeienumsizeiIOV
-  , ffiuintenumsizeienumsizeiIOV
-  , ffiuintenumsizeienumsizeisizeiIOV
-  , ffiuintsizeienumsizeisizeibooleanIOV
-  , ffiuintenumsizeienumsizeisizeibooleanIOV
-  , ffiuintsizeienumsizeisizeisizeiIOV
-  , ffiuintenumsizeienumsizeisizeisizeiIOV
-  , ffiuintsizeienumsizeisizeisizeibooleanIOV
-  , ffiuintenumsizeienumsizeisizeisizeibooleanIOV
-  , ffiuintenumenumsizeisizeisizeisizeibitfieldIOV
-  , ffiuintintintsizeienumenumPtrVIOV
-  , ffiuintenumintintsizeienumenumPtrVIOV
-  , ffiuintintintintsizeisizeienumenumPtrVIOV
-  , ffiuintenumintintintsizeisizeienumenumPtrVIOV
-  , ffiuintenumintintintintsizeisizeisizeienumenumPtrVIOV
-  , ffiuintenumuintenumuintuintuintuintIOV
-  , ffienumuintenumenumIOV
-  , ffisizeiPtrintenumIOV
-  , ffiuintuintuintintptrsizeiptrIOV
-  , ffisizeiPtrintsizeiPtrintenumIOV
-  , ffiuintsizeiPtrPtrcharenumIOV
-  , ffiuintsizeiPtrintenumIOV
-  , ffiintdoubleIOV
-  , ffiintsizeiPtrdoubleIOV
-  , ffiintfloatIOV
-  , ffiintsizeiPtrfloatIOV
-  , ffiintint64EXTIOV
-  , ffiintsizeiPtrint64EXTIOV
-  , ffiintsizeiPtrintIOV
-  , ffiintuintIOV
-  , ffiintuint64EXTIOV
-  , ffiintsizeiPtruint64EXTIOV
-  , ffiintsizeiPtruintIOV
-  , ffiintint64EXTint64EXTIOV
-  , ffiintuintuintIOV
-  , ffiintuint64EXTuint64EXTIOV
-  , ffiintdoubledoubledoubleIOV
-  , ffiintfloatfloatfloatIOV
-  , ffiintint64EXTint64EXTint64EXTIOV
-  , ffiintuintuintuintIOV
-  , ffiintuint64EXTuint64EXTuint64EXTIOV
-  , ffiintdoubledoubledoubledoubleIOV
-  , ffiintfloatfloatfloatfloatIOV
-  , ffiintint64EXTint64EXTint64EXTint64EXTIOV
-  , ffiintuintuintuintuintIOV
-  , ffiintuint64EXTuint64EXTuint64EXTuint64EXTIOV
-  , ffiintuint64IOV
-  , ffiintsizeiPtruint64IOV
-  , ffiintsizeibooleanPtrdoubleIOV
-  , ffiintsizeibooleanPtrfloatIOV
-  , ffiuintuintsizeiPtrVenumIOV
-  , ffiuintbitfielduintIOV
-  , ffivdpauSurfaceNVenumsizeiPtrsizeiPtrintIOV
-  , ffiPtrVPtrVIOV
-  , ffivdpauSurfaceNVIOboolean
-  , ffisizeiPtrvdpauSurfaceNVIOV
-  , ffiPtrVenumsizeiPtruintIOvdpauSurfaceNV
-  , ffivdpauSurfaceNVenumIOV
-  , ffivdpauSurfaceNVIOV
-  , ffiuintenumsizeiuintuintIOV
-  , ffiuintenumuintPtrVIOV
-  , ffiuintPtrbyteIOV
-  , ffiuintPtrdoubleIOV
-  , ffiuintPtrshortIOV
-  , ffiuintPtrushortIOV
-  , ffiuintuintintenumbooleanuintIOV
-  , ffiuintuintintenumuintIOV
-  , ffiuintuintuintintptrsizeiIOV
-  , ffiuintuintintenumsizeiintptrIOV
-  , ffiuintuintsizeiintptrIOV
-  , ffiuintuintenumsizeiintptrIOV
-  , ffiuintuintenumintenumsizeiintptrIOV
-  , ffiuintuintuintintenumsizeiintptrIOV
-  , ffiuintuintuintintenumbooleansizeiintptrIOV
-  , ffiuintuintsizeiPtruintPtrintptrPtrsizeiIOV
-  , ffiuintdoubleIOV
-  , ffiuintfloatIOV
-  , ffiuinthalfNVIOV
-  , ffiuintPtrhalfNVIOV
-  , ffiuintshortIOV
-  , ffiuinthalfNVhalfNVIOV
-  , ffiuintshortshortIOV
-  , ffiuintdoubledoubledoubleIOV
-  , ffiuinthalfNVhalfNVhalfNVIOV
-  , ffiuintshortshortshortIOV
-  , ffiuintubyteubyteubyteubyteIOV
-  , ffiuintdoubledoubledoubledoubleIOV
-  , ffiuintfloatfloatfloatfloatIOV
-  , ffiuinthalfNVhalfNVhalfNVhalfNVIOV
-  , ffiuintshortshortshortshortIOV
-  , ffiuintintenumbooleansizeiuintuintIOV
-  , ffiuintintenumbooleanuintIOV
-  , ffiuintintenumbooleansizeiIOV
-  , ffiuintuintuintuintuintIOV
-  , ffiuintintenumuintIOV
-  , ffiuintintenumsizeiIOV
-  , ffiuintintenumsizeiPtrVIOV
-  , ffiuintint64EXTIOV
-  , ffiuintPtrint64EXTIOV
-  , ffiuintuint64EXTIOV
-  , ffiuintPtruint64EXTIOV
-  , ffiuintint64EXTint64EXTIOV
-  , ffiuintuint64EXTuint64EXTIOV
-  , ffiuintint64EXTint64EXTint64EXTIOV
-  , ffiuintuint64EXTuint64EXTuint64EXTIOV
-  , ffiuintint64EXTint64EXTint64EXTint64EXTIOV
-  , ffiuintuint64EXTuint64EXTuint64EXTuint64EXTIOV
-  , ffiuintenumbooleanuintIOV
-  , ffiuintenumbooleanPtruintIOV
-  , ffiuintintenumbooleansizeiPtrVIOV
-  , ffiuintsizeiPtrhalfNVIOV
-  , ffiuintsizeiPtrshortIOV
-  , ffiuintsizeiPtrubyteIOV
-  , ffiuintPtruintPtruint64EXTIOenum
-  , ffisyncbitfielduint64IOV
-  , ffiuintsizeiPtruintPtrfloatIOV
-  , ffiintPtrbyteIOV
-  , ffiintPtrdoubleIOV
-  , ffiintPtrfloatIOV
-  , ffiintPtrintIOV
-  , ffiintPtrshortIOV
-) where
-
-import Control.Monad.IO.Class
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.GL.Types
-import Numeric.Fixed
-import Numeric.Half
-
-foreign import ccall "dynamic" dynenumfloatIOV :: FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> IO ()
-
-ffienumfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
-ffienumfloatIOV fp v0 v1 = liftIO (dynenumfloatIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumfixedIOV :: FunPtr (GLenum -> GLfixed -> IO ()) -> GLenum -> GLfixed -> IO ()
-
-ffienumfixedIOV :: MonadIO m => FunPtr (GLenum -> GLfixed -> IO ()) -> GLenum -> GLfixed -> m ()
-ffienumfixedIOV fp v0 v1 = liftIO (dynenumfixedIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintIOV :: FunPtr (GLuint -> IO ()) -> GLuint -> IO ()
-
-ffiuintIOV :: MonadIO m => FunPtr (GLuint -> IO ()) -> GLuint -> m ()
-ffiuintIOV fp v0 = liftIO (dynuintIOV fp v0)
-
-foreign import ccall "dynamic" dynuintuintIOV :: FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> IO ()
-
-ffiuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> m ()
-ffiuintuintIOV fp v0 v1 = liftIO (dynuintuintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumIOV :: FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
-
-ffienumIOV :: MonadIO m => FunPtr (GLenum -> IO ()) -> GLenum -> m ()
-ffienumIOV fp v0 = liftIO (dynenumIOV fp v0)
-
-foreign import ccall "dynamic" dynuintPtrcharIOV :: FunPtr (GLuint -> Ptr GLchar -> IO ()) -> GLuint -> Ptr GLchar -> IO ()
-
-ffiuintPtrcharIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLchar -> IO ()) -> GLuint -> Ptr GLchar -> m ()
-ffiuintPtrcharIOV fp v0 v1 = liftIO (dynuintPtrcharIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumuintuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffienumuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffienumuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumuintuintuintuintuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffienumuintuintuintuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffienumuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynenumuintuintuintuintuintuintuintuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffienumuintuintuintuintuintuintuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffienumuintuintuintuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynenumuintuintuintuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
-
-foreign import ccall "dynamic" dynenumclampfIOV :: FunPtr (GLenum -> GLclampf -> IO ()) -> GLenum -> GLclampf -> IO ()
-
-ffienumclampfIOV :: MonadIO m => FunPtr (GLenum -> GLclampf -> IO ()) -> GLenum -> GLclampf -> m ()
-ffienumclampfIOV fp v0 v1 = liftIO (dynenumclampfIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynsizeiPtruintPtrbooleanIOboolean :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean) -> GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean
-
-ffisizeiPtruintPtrbooleanIOboolean :: MonadIO m => FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean) -> GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean
-ffisizeiPtruintPtrbooleanIOboolean fp v0 v1 v2 = liftIO (dynsizeiPtruintPtrbooleanIOboolean fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintIOV :: FunPtr (GLint -> IO ()) -> GLint -> IO ()
-
-ffiintIOV :: MonadIO m => FunPtr (GLint -> IO ()) -> GLint -> m ()
-ffiintIOV fp v0 = liftIO (dynintIOV fp v0)
-
-foreign import ccall "dynamic" dynenumintenumsizeiuintuintIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()
-
-ffienumintenumsizeiuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> m ()
-ffienumintenumsizeiuintuintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumintenumsizeiuintuintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynhandleARBhandleARBIOV :: FunPtr (GLhandleARB -> GLhandleARB -> IO ()) -> GLhandleARB -> GLhandleARB -> IO ()
-
-ffihandleARBhandleARBIOV :: MonadIO m => FunPtr (GLhandleARB -> GLhandleARB -> IO ()) -> GLhandleARB -> GLhandleARB -> m ()
-ffihandleARBhandleARBIOV fp v0 v1 = liftIO (dynhandleARBhandleARBIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintenumIOV :: FunPtr (GLuint -> GLenum -> IO ()) -> GLuint -> GLenum -> IO ()
-
-ffiuintenumIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> IO ()) -> GLuint -> GLenum -> m ()
-ffiuintenumIOV fp v0 v1 = liftIO (dynuintenumIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynIOV :: FunPtr (IO ()) -> IO ()
-
-ffiIOV :: MonadIO m => FunPtr (IO ()) -> m ()
-ffiIOV fp  = liftIO (dynIOV fp )
-
-foreign import ccall "dynamic" dynenumuintIOV :: FunPtr (GLenum -> GLuint -> IO ()) -> GLenum -> GLuint -> IO ()
-
-ffienumuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> IO ()) -> GLenum -> GLuint -> m ()
-ffienumuintIOV fp v0 v1 = liftIO (dynenumuintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> IO ()
-
-ffienumuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> m ()
-ffienumuintuintIOV fp v0 v1 v2 = liftIO (dynenumuintuintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintuintPtrcharIOV :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> Ptr GLchar -> IO ()
-
-ffiuintuintPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> Ptr GLchar -> m ()
-ffiuintuintPtrcharIOV fp v0 v1 v2 = liftIO (dynuintuintPtrcharIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynhandleARBuintPtrcharARBIOV :: FunPtr (GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ()) -> GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ()
-
-ffihandleARBuintPtrcharARBIOV :: MonadIO m => FunPtr (GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ()) -> GLhandleARB -> GLuint -> Ptr GLcharARB -> m ()
-ffihandleARBuintPtrcharARBIOV fp v0 v1 v2 = liftIO (dynhandleARBuintPtrcharARBIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumuintuintintptrIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> IO ()) -> GLenum -> GLuint -> GLuint -> GLintptr -> IO ()
-
-ffienumuintuintintptrIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> IO ()) -> GLenum -> GLuint -> GLuint -> GLintptr -> m ()
-ffienumuintuintintptrIOV fp v0 v1 v2 v3 = liftIO (dynenumuintuintintptrIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumuintuintintptrsizeiptrIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-ffienumuintuintintptrsizeiptrIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()
-ffienumuintuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumuintsizeiPtruintIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
-
-ffienumuintsizeiPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()
-ffienumuintsizeiPtruintIOV fp v0 v1 v2 v3 = liftIO (dynenumuintsizeiPtruintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumuintsizeiPtruintPtrintptrPtrsizeiptrIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ()
-
-ffienumuintsizeiPtruintPtrintptrPtrsizeiptrIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()
-ffienumuintsizeiPtruintPtrintptrPtrsizeiptrIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintsizeiPtruintPtrintptrPtrsizeiptrIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintuintuintPtrcharIOV :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ()
-
-ffiuintuintuintPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()
-ffiuintuintuintPtrcharIOV fp v0 v1 v2 v3 = liftIO (dynuintuintuintPtrcharIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuintintbooleanintenumenumIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ()) -> GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ()
-
-ffiuintuintintbooleanintenumenumIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ()) -> GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()
-ffiuintuintintbooleanintenumenumIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintintbooleanintenumenumIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintuintintbooleanintenumintIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ()) -> GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ()
-
-ffiuintuintintbooleanintenumintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ()) -> GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> m ()
-ffiuintuintintbooleanintenumintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintintbooleanintenumintIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintsizeiPtruintIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
-
-ffiuintsizeiPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> m ()
-ffiuintsizeiPtruintIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtruintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumIOuint :: FunPtr (GLenum -> GLenum -> IO GLuint) -> GLenum -> GLenum -> IO GLuint
-
-ffienumenumIOuint :: MonadIO m => FunPtr (GLenum -> GLenum -> IO GLuint) -> GLenum -> GLenum -> m GLuint
-ffienumenumIOuint fp v0 v1 = liftIO (dynenumenumIOuint fp v0 v1)
-
-foreign import ccall "dynamic" dynenumenumuintIOV :: FunPtr (GLenum -> GLenum -> GLuint -> IO ()) -> GLenum -> GLenum -> GLuint -> IO ()
-
-ffienumenumuintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> IO ()) -> GLenum -> GLenum -> GLuint -> m ()
-ffienumenumuintIOV fp v0 v1 v2 = liftIO (dynenumenumuintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumIOuint :: FunPtr (GLenum -> IO GLuint) -> GLenum -> IO GLuint
-
-ffienumIOuint :: MonadIO m => FunPtr (GLenum -> IO GLuint) -> GLenum -> m GLuint
-ffienumIOuint fp v0 = liftIO (dynenumIOuint fp v0)
-
-foreign import ccall "dynamic" dynenumenumenumIOuint :: FunPtr (GLenum -> GLenum -> GLenum -> IO GLuint) -> GLenum -> GLenum -> GLenum -> IO GLuint
-
-ffienumenumenumIOuint :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> IO GLuint) -> GLenum -> GLenum -> GLenum -> m GLuint
-ffienumenumenumIOuint fp v0 v1 v2 = liftIO (dynenumenumenumIOuint fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintuintintptrsizeiIOV :: FunPtr (GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()) -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()
-
-ffiuintuintintptrsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()) -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()
-ffiuintuintintptrsizeiIOV fp v0 v1 v2 v3 = liftIO (dynuintuintintptrsizeiIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintsizeiPtruintPtrintptrPtrsizeiIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()
-
-ffiuintsizeiPtruintPtrintptrPtrsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()
-ffiuintsizeiPtruintPtrintptrPtrsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintsizeiPtruintPtrintptrPtrsizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintuintenumintptrARBIOV :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ()) -> GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ()
-
-ffiuintuintenumintptrARBIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ()) -> GLuint -> GLuint -> GLenum -> GLintptrARB -> m ()
-ffiuintuintenumintptrARBIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumintptrARBIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuintenumenumuintIOV :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ()) -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ()
-
-ffiuintuintenumenumuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ()) -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> m ()
-ffiuintuintenumenumuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintenumenumuintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynbytebytebyteIOV :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLbyte -> GLbyte -> GLbyte -> IO ()
-
-ffibytebytebyteIOV :: MonadIO m => FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLbyte -> GLbyte -> GLbyte -> m ()
-ffibytebytebyteIOV fp v0 v1 v2 = liftIO (dynbytebytebyteIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtrbyteIOV :: FunPtr (Ptr GLbyte -> IO ()) -> Ptr GLbyte -> IO ()
-
-ffiPtrbyteIOV :: MonadIO m => FunPtr (Ptr GLbyte -> IO ()) -> Ptr GLbyte -> m ()
-ffiPtrbyteIOV fp v0 = liftIO (dynPtrbyteIOV fp v0)
-
-foreign import ccall "dynamic" dyndoubledoubledoubleIOV :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffidoubledoubledoubleIOV :: MonadIO m => FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffidoubledoubledoubleIOV fp v0 v1 v2 = liftIO (dyndoubledoubledoubleIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtrdoubleIOV :: FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> IO ()
-
-ffiPtrdoubleIOV :: MonadIO m => FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
-ffiPtrdoubleIOV fp v0 = liftIO (dynPtrdoubleIOV fp v0)
-
-foreign import ccall "dynamic" dynfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffifloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffifloatfloatfloatIOV fp v0 v1 v2 = liftIO (dynfloatfloatfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtrfloatIOV :: FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
-
-ffiPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
-ffiPtrfloatIOV fp v0 = liftIO (dynPtrfloatIOV fp v0)
-
-foreign import ccall "dynamic" dynintintintIOV :: FunPtr (GLint -> GLint -> GLint -> IO ()) -> GLint -> GLint -> GLint -> IO ()
-
-ffiintintintIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLint -> IO ()) -> GLint -> GLint -> GLint -> m ()
-ffiintintintIOV fp v0 v1 v2 = liftIO (dynintintintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtrintIOV :: FunPtr (Ptr GLint -> IO ()) -> Ptr GLint -> IO ()
-
-ffiPtrintIOV :: MonadIO m => FunPtr (Ptr GLint -> IO ()) -> Ptr GLint -> m ()
-ffiPtrintIOV fp v0 = liftIO (dynPtrintIOV fp v0)
-
-foreign import ccall "dynamic" dynshortshortshortIOV :: FunPtr (GLshort -> GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> GLshort -> IO ()
-
-ffishortshortshortIOV :: MonadIO m => FunPtr (GLshort -> GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> GLshort -> m ()
-ffishortshortshortIOV fp v0 v1 v2 = liftIO (dynshortshortshortIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtrshortIOV :: FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> IO ()
-
-ffiPtrshortIOV :: MonadIO m => FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
-ffiPtrshortIOV fp v0 = liftIO (dynPtrshortIOV fp v0)
-
-foreign import ccall "dynamic" dynenumsizeiPtrVIOV :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLsizei -> Ptr () -> m ()
-ffienumsizeiPtrVIOV fp v0 v1 v2 = liftIO (dynenumsizeiPtrVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynsizeisizeifloatfloatfloatfloatPtrubyteIOV :: FunPtr (GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ()) -> GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ()
-
-ffisizeisizeifloatfloatfloatfloatPtrubyteIOV :: MonadIO m => FunPtr (GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ()) -> GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()
-ffisizeisizeifloatfloatfloatfloatPtrubyteIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynsizeisizeifloatfloatfloatfloatPtrubyteIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynsizeisizeifixedfixedfixedfixedPtrubyteIOV :: FunPtr (GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ()) -> GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ()
-
-ffisizeisizeifixedfixedfixedfixedPtrubyteIOV :: MonadIO m => FunPtr (GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ()) -> GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> m ()
-ffisizeisizeifixedfixedfixedfixedPtrubyteIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynsizeisizeifixedfixedfixedfixedPtrubyteIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffifloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffifloatfloatfloatfloatIOV fp v0 v1 v2 v3 = liftIO (dynfloatfloatfloatfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynfixedfixedfixedfixedIOV :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-ffifixedfixedfixedfixedIOV :: MonadIO m => FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
-ffifixedfixedfixedfixedIOV fp v0 v1 v2 v3 = liftIO (dynfixedfixedfixedfixedIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumIOV :: FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
-
-ffienumenumIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
-ffienumenumIOV fp v0 v1 = liftIO (dynenumenumIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintenumenumIOV :: FunPtr (GLuint -> GLenum -> GLenum -> IO ()) -> GLuint -> GLenum -> GLenum -> IO ()
-
-ffiuintenumenumIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> IO ()) -> GLuint -> GLenum -> GLenum -> m ()
-ffiuintenumenumIOV fp v0 v1 v2 = liftIO (dynuintenumenumIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumenumenumIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
-
-ffienumenumenumenumIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
-ffienumenumenumenumIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumenumIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumenumenumenumIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
-
-ffiuintenumenumenumenumIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
-ffiuintenumenumenumenumIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumenumenumenumIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumintIOV :: FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> IO ()
-
-ffienumintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> m ()
-ffienumintIOV fp v0 v1 = liftIO (dynenumintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintintintintintintintintbitfieldenumIOV :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()) -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()
-
-ffiintintintintintintintintbitfieldenumIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()) -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()
-ffiintintintintintintintintbitfieldenumIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynintintintintintintintintbitfieldenumIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynuintuintintintintintintintintintbitfieldenumIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()) -> GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()
-
-ffiuintuintintintintintintintintintbitfieldenumIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()) -> GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()
-ffiuintuintintintintintintintintintbitfieldenumIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynuintuintintintintintintintintintbitfieldenumIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
-
-foreign import ccall "dynamic" dynenumuintuint64EXTsizeiptrIOV :: FunPtr (GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ()) -> GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ()
-
-ffienumuintuint64EXTsizeiptrIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ()) -> GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> m ()
-ffienumuintuint64EXTsizeiptrIOV fp v0 v1 v2 v3 = liftIO (dynenumuintuint64EXTsizeiptrIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumsizeiptrPtrVenumIOV :: FunPtr (GLenum -> GLsizeiptr -> Ptr () -> GLenum -> IO ()) -> GLenum -> GLsizeiptr -> Ptr () -> GLenum -> IO ()
-
-ffienumsizeiptrPtrVenumIOV :: MonadIO m => FunPtr (GLenum -> GLsizeiptr -> Ptr () -> GLenum -> IO ()) -> GLenum -> GLsizeiptr -> Ptr () -> GLenum -> m ()
-ffienumsizeiptrPtrVenumIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeiptrPtrVenumIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumsizeiptrARBPtrVenumIOV :: FunPtr (GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ()) -> GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ()
-
-ffienumsizeiptrARBPtrVenumIOV :: MonadIO m => FunPtr (GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ()) -> GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> m ()
-ffienumsizeiptrARBPtrVenumIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeiptrARBPtrVenumIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumintptrsizeiptrbooleanIOV :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()) -> GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()
-
-ffienumintptrsizeiptrbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()) -> GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> m ()
-ffienumintptrsizeiptrbooleanIOV fp v0 v1 v2 v3 = liftIO (dynenumintptrsizeiptrbooleanIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumintIOV :: FunPtr (GLenum -> GLenum -> GLint -> IO ()) -> GLenum -> GLenum -> GLint -> IO ()
-
-ffienumenumintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> IO ()) -> GLenum -> GLenum -> GLint -> m ()
-ffienumenumintIOV fp v0 v1 v2 = liftIO (dynenumenumintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumsizeiptrPtrVbitfieldIOV :: FunPtr (GLenum -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ()) -> GLenum -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ()
-
-ffienumsizeiptrPtrVbitfieldIOV :: MonadIO m => FunPtr (GLenum -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ()) -> GLenum -> GLsizeiptr -> Ptr () -> GLbitfield -> m ()
-ffienumsizeiptrPtrVbitfieldIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeiptrPtrVbitfieldIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumintptrsizeiptrPtrVIOV :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr () -> IO ()) -> GLenum -> GLintptr -> GLsizeiptr -> Ptr () -> IO ()
-
-ffienumintptrsizeiptrPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr () -> IO ()) -> GLenum -> GLintptr -> GLsizeiptr -> Ptr () -> m ()
-ffienumintptrsizeiptrPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumintptrsizeiptrPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumintptrARBsizeiptrARBPtrVIOV :: FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr () -> IO ()) -> GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr () -> IO ()
-
-ffienumintptrARBsizeiptrARBPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr () -> IO ()) -> GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr () -> m ()
-ffienumintptrARBsizeiptrARBPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumintptrARBsizeiptrARBPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynsizeienumPtrVIOV :: FunPtr (GLsizei -> GLenum -> Ptr () -> IO ()) -> GLsizei -> GLenum -> Ptr () -> IO ()
-
-ffisizeienumPtrVIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr () -> IO ()) -> GLsizei -> GLenum -> Ptr () -> m ()
-ffisizeienumPtrVIOV fp v0 v1 v2 = liftIO (dynsizeienumPtrVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumIOenum :: FunPtr (GLenum -> IO GLenum) -> GLenum -> IO GLenum
-
-ffienumIOenum :: MonadIO m => FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
-ffienumIOenum fp v0 = liftIO (dynenumIOenum fp v0)
-
-foreign import ccall "dynamic" dynuintenumIOenum :: FunPtr (GLuint -> GLenum -> IO GLenum) -> GLuint -> GLenum -> IO GLenum
-
-ffiuintenumIOenum :: MonadIO m => FunPtr (GLuint -> GLenum -> IO GLenum) -> GLuint -> GLenum -> m GLenum
-ffiuintenumIOenum fp v0 v1 = liftIO (dynuintenumIOenum fp v0 v1)
-
-foreign import ccall "dynamic" dynbitfieldIOV :: FunPtr (GLbitfield -> IO ()) -> GLbitfield -> IO ()
-
-ffibitfieldIOV :: MonadIO m => FunPtr (GLbitfield -> IO ()) -> GLbitfield -> m ()
-ffibitfieldIOV fp v0 = liftIO (dynbitfieldIOV fp v0)
-
-foreign import ccall "dynamic" dynenumenumenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumenumenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumenumenumenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumenumPtrVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumintptrsizeiptrenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumenumintptrsizeiptrenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumenumintptrsizeiptrenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumenumintptrsizeiptrenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumintfloatintIOV :: FunPtr (GLenum -> GLint -> GLfloat -> GLint -> IO ()) -> GLenum -> GLint -> GLfloat -> GLint -> IO ()
-
-ffienumintfloatintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLfloat -> GLint -> IO ()) -> GLenum -> GLint -> GLfloat -> GLint -> m ()
-ffienumintfloatintIOV fp v0 v1 v2 v3 = liftIO (dynenumintfloatintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumintPtrfloatIOV :: FunPtr (GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLint -> Ptr GLfloat -> IO ()
-
-ffienumintPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLint -> Ptr GLfloat -> m ()
-ffienumintPtrfloatIOV fp v0 v1 v2 = liftIO (dynenumintPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumintPtrintIOV :: FunPtr (GLenum -> GLint -> Ptr GLint -> IO ()) -> GLenum -> GLint -> Ptr GLint -> IO ()
-
-ffienumintPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr GLint -> IO ()) -> GLenum -> GLint -> Ptr GLint -> m ()
-ffienumintPtrintIOV fp v0 v1 v2 = liftIO (dynenumintPtrintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumintPtruintIOV :: FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ()) -> GLenum -> GLint -> Ptr GLuint -> IO ()
-
-ffienumintPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ()) -> GLenum -> GLint -> Ptr GLuint -> m ()
-ffienumintPtruintIOV fp v0 v1 v2 = liftIO (dynenumintPtruintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintintintintIOV :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ()) -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-ffiintintintintIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLint -> GLint -> IO ()) -> GLint -> GLint -> GLint -> GLint -> m ()
-ffiintintintintIOV fp v0 v1 v2 v3 = liftIO (dynintintintintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuintuintuintIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffiuintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffiuintuintuintuintIOV fp v0 v1 v2 v3 = liftIO (dynuintuintuintuintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dyndoubleIOV :: FunPtr (GLdouble -> IO ()) -> GLdouble -> IO ()
-
-ffidoubleIOV :: MonadIO m => FunPtr (GLdouble -> IO ()) -> GLdouble -> m ()
-ffidoubleIOV fp v0 = liftIO (dyndoubleIOV fp v0)
-
-foreign import ccall "dynamic" dynfloatIOV :: FunPtr (GLfloat -> IO ()) -> GLfloat -> IO ()
-
-ffifloatIOV :: MonadIO m => FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
-ffifloatIOV fp v0 = liftIO (dynfloatIOV fp v0)
-
-foreign import ccall "dynamic" dynclampfIOV :: FunPtr (GLclampf -> IO ()) -> GLclampf -> IO ()
-
-fficlampfIOV :: MonadIO m => FunPtr (GLclampf -> IO ()) -> GLclampf -> m ()
-fficlampfIOV fp v0 = liftIO (dynclampfIOV fp v0)
-
-foreign import ccall "dynamic" dynfixedIOV :: FunPtr (GLfixed -> IO ()) -> GLfixed -> IO ()
-
-ffifixedIOV :: MonadIO m => FunPtr (GLfixed -> IO ()) -> GLfixed -> m ()
-ffifixedIOV fp v0 = liftIO (dynfixedIOV fp v0)
-
-foreign import ccall "dynamic" dynuintenumenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintenumenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintenumenumenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumenumenumPtrVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumintptrsizeiptrenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintenumintptrsizeiptrenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintenumintptrsizeiptrenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumintptrsizeiptrenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintenumsizeiptrsizeiptrenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintenumsizeiptrsizeiptrenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintenumsizeiptrsizeiptrenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumsizeiptrsizeiptrenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintenumfloatintIOV :: FunPtr (GLuint -> GLenum -> GLfloat -> GLint -> IO ()) -> GLuint -> GLenum -> GLfloat -> GLint -> IO ()
-
-ffiuintenumfloatintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLfloat -> GLint -> IO ()) -> GLuint -> GLenum -> GLfloat -> GLint -> m ()
-ffiuintenumfloatintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumfloatintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumintPtrfloatIOV :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ()
-
-ffiuintenumintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr GLfloat -> m ()
-ffiuintenumintPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintenumintPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumintPtrintIOV :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr GLint -> IO ()
-
-ffiuintenumintPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr GLint -> m ()
-ffiuintenumintPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumintPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumintPtruintIOV :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ()
-
-ffiuintenumintPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr GLuint -> m ()
-ffiuintenumintPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumintPtruintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintenumenumPtrVIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintintenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintintenumenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintenumenumPtrVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintintintintintsizeisizeisizeienumenumPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintintintintintsizeisizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
-
-foreign import ccall "dynamic" dynsyncbitfielduint64IOenum :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum) -> GLsync -> GLbitfield -> GLuint64 -> IO GLenum
-
-ffisyncbitfielduint64IOenum :: MonadIO m => FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum) -> GLsync -> GLbitfield -> GLuint64 -> m GLenum
-ffisyncbitfielduint64IOenum fp v0 v1 v2 = liftIO (dynsyncbitfielduint64IOenum fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumPtrdoubleIOV :: FunPtr (GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> Ptr GLdouble -> IO ()
-
-ffienumPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> Ptr GLdouble -> m ()
-ffienumPtrdoubleIOV fp v0 v1 = liftIO (dynenumPtrdoubleIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumPtrfloatIOV :: FunPtr (GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> Ptr GLfloat -> IO ()
-
-ffienumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> Ptr GLfloat -> m ()
-ffienumPtrfloatIOV fp v0 v1 = liftIO (dynenumPtrfloatIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumPtrfixedIOV :: FunPtr (GLenum -> Ptr GLfixed -> IO ()) -> GLenum -> Ptr GLfixed -> IO ()
-
-ffienumPtrfixedIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLfixed -> IO ()) -> GLenum -> Ptr GLfixed -> m ()
-ffienumPtrfixedIOV fp v0 v1 = liftIO (dynenumPtrfixedIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffifloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffifloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynPtrfloatPtrfloatIOV :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-ffiPtrfloatPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLfloat -> m ()
-ffiPtrfloatPtrfloatIOV fp v0 v1 = liftIO (dynPtrfloatPtrfloatIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynhalfNVhalfNVhalfNVIOV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-ffihalfNVhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
-ffihalfNVhalfNVhalfNVIOV fp v0 v1 v2 = liftIO (dynhalfNVhalfNVhalfNVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtrhalfNVIOV :: FunPtr (Ptr GLhalfNV -> IO ()) -> Ptr GLhalfNV -> IO ()
-
-ffiPtrhalfNVIOV :: MonadIO m => FunPtr (Ptr GLhalfNV -> IO ()) -> Ptr GLhalfNV -> m ()
-ffiPtrhalfNVIOV fp v0 = liftIO (dynPtrhalfNVIOV fp v0)
-
-foreign import ccall "dynamic" dynubyteubyteubyteIOV :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> IO ()
-
-ffiubyteubyteubyteIOV :: MonadIO m => FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> m ()
-ffiubyteubyteubyteIOV fp v0 v1 v2 = liftIO (dynubyteubyteubyteIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtrubyteIOV :: FunPtr (Ptr GLubyte -> IO ()) -> Ptr GLubyte -> IO ()
-
-ffiPtrubyteIOV :: MonadIO m => FunPtr (Ptr GLubyte -> IO ()) -> Ptr GLubyte -> m ()
-ffiPtrubyteIOV fp v0 = liftIO (dynPtrubyteIOV fp v0)
-
-foreign import ccall "dynamic" dynuintuintuintIOV :: FunPtr (GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffiuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> m ()
-ffiuintuintuintIOV fp v0 v1 v2 = liftIO (dynuintuintuintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtruintIOV :: FunPtr (Ptr GLuint -> IO ()) -> Ptr GLuint -> IO ()
-
-ffiPtruintIOV :: MonadIO m => FunPtr (Ptr GLuint -> IO ()) -> Ptr GLuint -> m ()
-ffiPtruintIOV fp v0 = liftIO (dynPtruintIOV fp v0)
-
-foreign import ccall "dynamic" dynushortushortushortIOV :: FunPtr (GLushort -> GLushort -> GLushort -> IO ()) -> GLushort -> GLushort -> GLushort -> IO ()
-
-ffiushortushortushortIOV :: MonadIO m => FunPtr (GLushort -> GLushort -> GLushort -> IO ()) -> GLushort -> GLushort -> GLushort -> m ()
-ffiushortushortushortIOV fp v0 v1 v2 = liftIO (dynushortushortushortIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtrushortIOV :: FunPtr (Ptr GLushort -> IO ()) -> Ptr GLushort -> IO ()
-
-ffiPtrushortIOV :: MonadIO m => FunPtr (Ptr GLushort -> IO ()) -> Ptr GLushort -> m ()
-ffiPtrushortIOV fp v0 = liftIO (dynPtrushortIOV fp v0)
-
-foreign import ccall "dynamic" dynfixedfixedfixedIOV :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-ffifixedfixedfixedIOV :: MonadIO m => FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> m ()
-ffifixedfixedfixedIOV fp v0 v1 v2 = liftIO (dynfixedfixedfixedIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtrfixedIOV :: FunPtr (Ptr GLfixed -> IO ()) -> Ptr GLfixed -> IO ()
-
-ffiPtrfixedIOV :: MonadIO m => FunPtr (Ptr GLfixed -> IO ()) -> Ptr GLfixed -> m ()
-ffiPtrfixedIOV fp v0 = liftIO (dynPtrfixedIOV fp v0)
-
-foreign import ccall "dynamic" dynbytebytebytebyteIOV :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()
-
-ffibytebytebytebyteIOV :: MonadIO m => FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
-ffibytebytebytebyteIOV fp v0 v1 v2 v3 = liftIO (dynbytebytebytebyteIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dyndoubledoubledoubledoubleIOV :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffidoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffidoubledoubledoubledoubleIOV fp v0 v1 v2 v3 = liftIO (dyndoubledoubledoubledoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynPtrfloatPtrfloatPtrfloatIOV :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-ffiPtrfloatPtrfloatPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
-ffiPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 = liftIO (dynPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynhalfNVhalfNVhalfNVhalfNVIOV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-ffihalfNVhalfNVhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
-ffihalfNVhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 = liftIO (dynhalfNVhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynshortshortshortshortIOV :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
-
-ffishortshortshortshortIOV :: MonadIO m => FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
-ffishortshortshortshortIOV fp v0 v1 v2 v3 = liftIO (dynshortshortshortshortIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynubyteubyteubyteubyteIOV :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()
-
-ffiubyteubyteubyteubyteIOV :: MonadIO m => FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()
-ffiubyteubyteubyteubyteIOV fp v0 v1 v2 v3 = liftIO (dynubyteubyteubyteubyteIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynubyteubyteubyteubytefloatfloatIOV :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ()
-
-ffiubyteubyteubyteubytefloatfloatIOV :: MonadIO m => FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> m ()
-ffiubyteubyteubyteubytefloatfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynubyteubyteubyteubytefloatfloatIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynPtrubytePtrfloatIOV :: FunPtr (Ptr GLubyte -> Ptr GLfloat -> IO ()) -> Ptr GLubyte -> Ptr GLfloat -> IO ()
-
-ffiPtrubytePtrfloatIOV :: MonadIO m => FunPtr (Ptr GLubyte -> Ptr GLfloat -> IO ()) -> Ptr GLubyte -> Ptr GLfloat -> m ()
-ffiPtrubytePtrfloatIOV fp v0 v1 = liftIO (dynPtrubytePtrfloatIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynubyteubyteubyteubytefloatfloatfloatIOV :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiubyteubyteubyteubytefloatfloatfloatIOV :: MonadIO m => FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiubyteubyteubyteubytefloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynubyteubyteubyteubytefloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynushortushortushortushortIOV :: FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ()) -> GLushort -> GLushort -> GLushort -> GLushort -> IO ()
-
-ffiushortushortushortushortIOV :: MonadIO m => FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ()) -> GLushort -> GLushort -> GLushort -> GLushort -> m ()
-ffiushortushortushortushortIOV fp v0 v1 v2 v3 = liftIO (dynushortushortushortushortIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynintenumsizeiIOV :: FunPtr (GLint -> GLenum -> GLsizei -> IO ()) -> GLint -> GLenum -> GLsizei -> IO ()
-
-ffiintenumsizeiIOV :: MonadIO m => FunPtr (GLint -> GLenum -> GLsizei -> IO ()) -> GLint -> GLenum -> GLsizei -> m ()
-ffiintenumsizeiIOV fp v0 v1 v2 = liftIO (dynintenumsizeiIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumuintuintuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffienumuintuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffienumuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumuintuintuintuintuintuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffienumuintuintuintuintuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffienumuintuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumuintuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynenumuintuintuintuintuintuintuintuintuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffienumuintuintuintuintuintuintuintuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffienumuintuintuintuintuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO (dynenumuintuintuintuintuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12)
-
-foreign import ccall "dynamic" dynbooleanbooleanbooleanbooleanIOV :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()) -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
-
-ffibooleanbooleanbooleanbooleanIOV :: MonadIO m => FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()) -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
-ffibooleanbooleanbooleanbooleanIOV fp v0 v1 v2 v3 = liftIO (dynbooleanbooleanbooleanbooleanIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintbooleanbooleanbooleanbooleanIOV :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()) -> GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
-
-ffiuintbooleanbooleanbooleanbooleanIOV :: MonadIO m => FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()) -> GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
-ffiuintbooleanbooleanbooleanbooleanIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintbooleanbooleanbooleanbooleanIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumPtruintIOV :: FunPtr (GLenum -> Ptr GLuint -> IO ()) -> GLenum -> Ptr GLuint -> IO ()
-
-ffienumPtruintIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLuint -> IO ()) -> GLenum -> Ptr GLuint -> m ()
-ffienumPtruintIOV fp v0 v1 = liftIO (dynenumPtruintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintenumsizeiPtrVIOV :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffiintenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLint -> GLenum -> GLsizei -> Ptr () -> m ()
-ffiintenumsizeiPtrVIOV fp v0 v1 v2 v3 = liftIO (dynintenumsizeiPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynintenumsizeisizeiPtrVIOV :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()) -> GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()
-
-ffiintenumsizeisizeiPtrVIOV :: MonadIO m => FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()) -> GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> m ()
-ffiintenumsizeisizeiPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynintenumsizeisizeiPtrVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynintenumintPtrPtrVintIOV :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> IO ()) -> GLint -> GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> IO ()
-
-ffiintenumintPtrPtrVintIOV :: MonadIO m => FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> IO ()) -> GLint -> GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> m ()
-ffiintenumintPtrPtrVintIOV fp v0 v1 v2 v3 v4 = liftIO (dynintenumintPtrPtrVintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynintenumPtrPtrVIOV :: FunPtr (GLint -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLint -> GLenum -> Ptr (Ptr ()) -> IO ()
-
-ffiintenumPtrPtrVIOV :: MonadIO m => FunPtr (GLint -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLint -> GLenum -> Ptr (Ptr ()) -> m ()
-ffiintenumPtrPtrVIOV fp v0 v1 v2 = liftIO (dynintenumPtrPtrVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumsizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumsizeienumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumenumsizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumenumsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumPtrfloatIOV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-ffienumenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> Ptr GLfloat -> m ()
-ffienumenumPtrfloatIOV fp v0 v1 v2 = liftIO (dynenumenumPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumPtrintIOV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> Ptr GLint -> IO ()
-
-ffienumenumPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> Ptr GLint -> m ()
-ffienumenumPtrintIOV fp v0 v1 v2 = liftIO (dynenumenumPtrintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumenumenumenumenumIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
-
-ffienumenumenumenumenumenumIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
-ffienumenumenumenumenumenumIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumenumenumenumenumIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumenumenumenumenumenumbooleanbooleanbooleanIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ()
-
-ffienumenumenumenumenumenumenumbooleanbooleanbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> m ()
-ffienumenumenumenumenumenumenumbooleanbooleanbooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumenumenumenumenumenumenumbooleanbooleanbooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynenumPtrintIOV :: FunPtr (GLenum -> Ptr GLint -> IO ()) -> GLenum -> Ptr GLint -> IO ()
-
-ffienumPtrintIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLint -> IO ()) -> GLenum -> Ptr GLint -> m ()
-ffienumPtrintIOV fp v0 v1 = liftIO (dynenumPtrintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynhandleARBIOV :: FunPtr (GLhandleARB -> IO ()) -> GLhandleARB -> IO ()
-
-ffihandleARBIOV :: MonadIO m => FunPtr (GLhandleARB -> IO ()) -> GLhandleARB -> m ()
-ffihandleARBIOV fp v0 = liftIO (dynhandleARBIOV fp v0)
-
-foreign import ccall "dynamic" dynuintsizeiPtrPtrcharPtrintIOV :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ()) -> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ()
-
-ffiuintsizeiPtrPtrcharPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ()) -> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()
-ffiuintsizeiPtrPtrcharPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrPtrcharPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumintenumsizeiintsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
-
-ffienumenumintenumsizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
-ffienumenumintenumsizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumenumintenumsizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynenumenumintenumsizeisizeiintsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
-
-ffienumenumintenumsizeisizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
-ffienumenumintenumsizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumenumintenumsizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynenumenumintenumsizeisizeisizeiintsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
-
-ffienumenumintenumsizeisizeisizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
-ffienumenumintenumsizeisizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumenumintenumsizeisizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynenumenumintintsizeienumsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffienumenumintintsizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
-ffienumenumintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumenumintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynenumenumintintintsizeisizeienumsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffienumenumintintintsizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
-ffienumenumintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumenumintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynenumenumintintintintsizeisizeisizeienumsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffienumenumintintintintsizeisizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
-ffienumenumintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynenumenumintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
-
-foreign import ccall "dynamic" dynenumintenumsizeiintsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
-
-ffienumintenumsizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
-ffienumintenumsizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumintenumsizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumintenumsizeisizeiintsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
-
-ffienumintenumsizeisizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
-ffienumintenumsizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumintenumsizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynenumintenumsizeisizeisizeiintsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
-
-ffienumintenumsizeisizeisizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
-ffienumintenumsizeisizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumintenumsizeisizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynenumintintsizeienumsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffienumintintsizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
-ffienumintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumintintintsizeisizeienumsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffienumintintintsizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
-ffienumintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynenumintintintintsizeisizeisizeienumsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffienumintintintintsizeisizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
-ffienumintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynenumintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
-
-foreign import ccall "dynamic" dynuintenumintenumsizeiintsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
-
-ffiuintenumintenumsizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
-ffiuintenumintenumsizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumintenumsizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintenumintenumsizeisizeiintsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
-
-ffiuintenumintenumsizeisizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
-ffiuintenumintenumsizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumintenumsizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintenumintenumsizeisizeisizeiintsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
-
-ffiuintenumintenumsizeisizeisizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
-ffiuintenumintenumsizeisizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintenumintenumsizeisizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynuintintintsizeienumsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffiuintintintsizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
-ffiuintintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintenumintintsizeienumsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffiuintenumintintsizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
-ffiuintenumintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintintintintsizeisizeienumsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffiuintintintintsizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
-ffiuintintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintenumintintintsizeisizeienumsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffiuintenumintintintsizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
-ffiuintenumintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintenumintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynuintintintintintsizeisizeisizeienumsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffiuintintintintintsizeisizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
-ffiuintintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
-
-foreign import ccall "dynamic" dynuintenumintintintintsizeisizeisizeienumsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffiuintenumintintintintsizeisizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
-ffiuintenumintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynuintenumintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
-
-foreign import ccall "dynamic" dynenumenumsizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumenumsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumenumsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumenumsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumenumfloatIOV :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ()) -> GLenum -> GLenum -> GLfloat -> IO ()
-
-ffienumenumfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLfloat -> IO ()) -> GLenum -> GLenum -> GLfloat -> m ()
-ffienumenumfloatIOV fp v0 v1 v2 = liftIO (dynenumenumfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumfixedIOV :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ()) -> GLenum -> GLenum -> GLfixed -> IO ()
-
-ffienumenumfixedIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLfixed -> IO ()) -> GLenum -> GLenum -> GLfixed -> m ()
-ffienumenumfixedIOV fp v0 v1 v2 = liftIO (dynenumenumfixedIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumPtrfixedIOV :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ()) -> GLenum -> GLenum -> Ptr GLfixed -> IO ()
-
-ffienumenumPtrfixedIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ()) -> GLenum -> GLenum -> Ptr GLfixed -> m ()
-ffienumenumPtrfixedIOV fp v0 v1 v2 = liftIO (dynenumenumPtrfixedIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumintptrintptrsizeiptrIOV :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
-
-ffienumenumintptrintptrsizeiptrIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()
-ffienumenumintptrintptrsizeiptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumintptrintptrsizeiptrIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumsizeiintintsizeiIOV :: FunPtr (GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ()
-
-ffienumsizeiintintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> m ()
-ffienumsizeiintintsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumsizeiintintsizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumintintsizeiIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ()
-
-ffienumenumintintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> m ()
-ffienumenumintintsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumintintsizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumintintsizeisizeiIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffienumenumintintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
-ffienumenumintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintenumintintintintuintenumintintintintsizeisizeisizeiIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-ffiuintenumintintintintuintenumintintintintsizeisizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()
-ffiuintenumintintintintuintenumintintintintsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 = liftIO (dynuintenumintintintintuintenumintintintintsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14)
-
-foreign import ccall "dynamic" dynenumenumintenumintintsizeiintIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
-
-ffienumenumintenumintintsizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()
-ffienumenumintenumintintsizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumenumintenumintintsizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynenumenumintenumintintsizeisizeiintIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
-
-ffienumenumintenumintintsizeisizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()
-ffienumenumintenumintintsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumenumintenumintintsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynenumenumintintintintsizeiIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
-
-ffienumenumintintintintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
-ffienumenumintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumenumintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumenumintintintintintsizeisizeiIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffienumenumintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
-ffienumenumintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumenumintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynenumenumintintintintintintsizeisizeiIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffienumenumintintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
-ffienumenumintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumenumintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynuintuintintptrintptrsizeiptrIOV :: FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
-
-ffiuintuintintptrintptrsizeiptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()
-ffiuintuintintptrintptrsizeiptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintintptrintptrsizeiptrIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynintintsizeisizeienumIOV :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ()
-
-ffiintintsizeisizeienumIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()
-ffiintintsizeisizeienumIOV fp v0 v1 v2 v3 v4 = liftIO (dynintintsizeisizeienumIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumintenumintintsizeiintIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()) -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
-
-ffienumintenumintintsizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()) -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()
-ffienumintenumintintsizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumintenumintintsizeiintIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumintenumintintsizeisizeiintIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
-
-ffienumintenumintintsizeisizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()
-ffienumintenumintintsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumintenumintintsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynenumintintintintsizeiIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
-
-ffienumintintintintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
-ffienumintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumintintintintintsizeisizeiIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffienumintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
-ffienumintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynenumintintintintintintsizeisizeiIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffienumintintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
-ffienumintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintenumintenumintintsizeiintIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
-
-ffiuintenumintenumintintsizeiintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()
-ffiuintenumintenumintintsizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumintenumintintsizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintenumintenumintintsizeisizeiintIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
-
-ffiuintenumintenumintintsizeisizeiintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()
-ffiuintenumintenumintintsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumintenumintintsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintuintintsizeiIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLsizei -> IO ()) -> GLuint -> GLuint -> GLint -> GLsizei -> IO ()
-
-ffiuintuintintsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLsizei -> IO ()) -> GLuint -> GLuint -> GLint -> GLsizei -> m ()
-ffiuintuintintsizeiIOV fp v0 v1 v2 v3 = liftIO (dynuintuintintsizeiIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintintintintsizeiIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
-
-ffiuintintintintintsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
-ffiuintintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintenumintintintintsizeiIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
-
-ffiuintenumintintintintsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
-ffiuintenumintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintintintintintintsizeisizeiIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffiuintintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
-ffiuintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintenumintintintintintsizeisizeiIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffiuintenumintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
-ffiuintenumintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintintintintintintintsizeisizeiIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffiuintintintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
-ffiuintintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintenumintintintintintintsizeisizeiIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffiuintenumintintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
-ffiuintenumintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintenumintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynsizeienumPtrVuintenumenumPtrfloatIOV :: FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-ffisizeienumPtrVuintenumenumPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
-ffisizeienumPtrVuintenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynsizeienumPtrVuintenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynbooleanIOV :: FunPtr (GLboolean -> IO ()) -> GLboolean -> IO ()
-
-ffibooleanIOV :: MonadIO m => FunPtr (GLboolean -> IO ()) -> GLboolean -> m ()
-ffibooleanIOV fp v0 = liftIO (dynbooleanIOV fp v0)
-
-foreign import ccall "dynamic" dynsizeiPtrfloatIOV :: FunPtr (GLsizei -> Ptr GLfloat -> IO ()) -> GLsizei -> Ptr GLfloat -> IO ()
-
-ffisizeiPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLfloat -> IO ()) -> GLsizei -> Ptr GLfloat -> m ()
-ffisizeiPtrfloatIOV fp v0 v1 = liftIO (dynsizeiPtrfloatIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynsizeiPtruintIOV :: FunPtr (GLsizei -> Ptr GLuint -> IO ()) -> GLsizei -> Ptr GLuint -> IO ()
-
-ffisizeiPtruintIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLuint -> IO ()) -> GLsizei -> Ptr GLuint -> m ()
-ffisizeiPtruintIOV fp v0 v1 = liftIO (dynsizeiPtruintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintPtruintIOV :: FunPtr (GLuint -> Ptr GLuint -> IO ()) -> GLuint -> Ptr GLuint -> IO ()
-
-ffiuintPtruintIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLuint -> IO ()) -> GLuint -> Ptr GLuint -> m ()
-ffiuintPtruintIOV fp v0 v1 = liftIO (dynuintPtruintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynIOuint :: FunPtr (IO GLuint) -> IO GLuint
-
-ffiIOuint :: MonadIO m => FunPtr (IO GLuint) -> m GLuint
-ffiIOuint fp  = liftIO (dynIOuint fp )
-
-foreign import ccall "dynamic" dynIOhandleARB :: FunPtr (IO GLhandleARB) -> IO GLhandleARB
-
-ffiIOhandleARB :: MonadIO m => FunPtr (IO GLhandleARB) -> m GLhandleARB
-ffiIOhandleARB fp  = liftIO (dynIOhandleARB fp )
-
-foreign import ccall "dynamic" dynenumsizeiPtruintIOV :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ()) -> GLenum -> GLsizei -> Ptr GLuint -> IO ()
-
-ffienumsizeiPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ()) -> GLenum -> GLsizei -> Ptr GLuint -> m ()
-ffienumsizeiPtruintIOV fp v0 v1 v2 = liftIO (dynenumsizeiPtruintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumIOhandleARB :: FunPtr (GLenum -> IO GLhandleARB) -> GLenum -> IO GLhandleARB
-
-ffienumIOhandleARB :: MonadIO m => FunPtr (GLenum -> IO GLhandleARB) -> GLenum -> m GLhandleARB
-ffienumIOhandleARB fp v0 = liftIO (dynenumIOhandleARB fp v0)
-
-foreign import ccall "dynamic" dynenumPtrcharIOuint :: FunPtr (GLenum -> Ptr GLchar -> IO GLuint) -> GLenum -> Ptr GLchar -> IO GLuint
-
-ffienumPtrcharIOuint :: MonadIO m => FunPtr (GLenum -> Ptr GLchar -> IO GLuint) -> GLenum -> Ptr GLchar -> m GLuint
-ffienumPtrcharIOuint fp v0 v1 = liftIO (dynenumPtrcharIOuint fp v0 v1)
-
-foreign import ccall "dynamic" dynenumsizeiPtrPtrcharIOuint :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint) -> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint
-
-ffienumsizeiPtrPtrcharIOuint :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint) -> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint
-ffienumsizeiPtrPtrcharIOuint fp v0 v1 v2 = liftIO (dynenumsizeiPtrPtrcharIOuint fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtrVPtrVbitfieldIOsync :: FunPtr (Ptr () -> Ptr () -> GLbitfield -> IO GLsync) -> Ptr () -> Ptr () -> GLbitfield -> IO GLsync
-
-ffiPtrVPtrVbitfieldIOsync :: MonadIO m => FunPtr (Ptr () -> Ptr () -> GLbitfield -> IO GLsync) -> Ptr () -> Ptr () -> GLbitfield -> m GLsync
-ffiPtrVPtrVbitfieldIOsync fp v0 v1 v2 = liftIO (dynPtrVPtrVbitfieldIOsync fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynDEBUGPROCPtrVIOV :: FunPtr (GLDEBUGPROC -> Ptr () -> IO ()) -> GLDEBUGPROC -> Ptr () -> IO ()
-
-ffiDEBUGPROCPtrVIOV :: MonadIO m => FunPtr (GLDEBUGPROC -> Ptr () -> IO ()) -> GLDEBUGPROC -> Ptr () -> m ()
-ffiDEBUGPROCPtrVIOV fp v0 v1 = liftIO (dynDEBUGPROCPtrVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynDEBUGPROCAMDPtrVIOV :: FunPtr (GLDEBUGPROCAMD -> Ptr () -> IO ()) -> GLDEBUGPROCAMD -> Ptr () -> IO ()
-
-ffiDEBUGPROCAMDPtrVIOV :: MonadIO m => FunPtr (GLDEBUGPROCAMD -> Ptr () -> IO ()) -> GLDEBUGPROCAMD -> Ptr () -> m ()
-ffiDEBUGPROCAMDPtrVIOV fp v0 v1 = liftIO (dynDEBUGPROCAMDPtrVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynDEBUGPROCARBPtrVIOV :: FunPtr (GLDEBUGPROCARB -> Ptr () -> IO ()) -> GLDEBUGPROCARB -> Ptr () -> IO ()
-
-ffiDEBUGPROCARBPtrVIOV :: MonadIO m => FunPtr (GLDEBUGPROCARB -> Ptr () -> IO ()) -> GLDEBUGPROCARB -> Ptr () -> m ()
-ffiDEBUGPROCARBPtrVIOV fp v0 v1 = liftIO (dynDEBUGPROCARBPtrVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynDEBUGPROCKHRPtrVIOV :: FunPtr (GLDEBUGPROCKHR -> Ptr () -> IO ()) -> GLDEBUGPROCKHR -> Ptr () -> IO ()
-
-ffiDEBUGPROCKHRPtrVIOV :: MonadIO m => FunPtr (GLDEBUGPROCKHR -> Ptr () -> IO ()) -> GLDEBUGPROCKHR -> Ptr () -> m ()
-ffiDEBUGPROCKHRPtrVIOV fp v0 v1 = liftIO (dynDEBUGPROCKHRPtrVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumenumenumsizeiPtruintbooleanIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()
-
-ffienumenumenumsizeiPtruintbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()
-ffienumenumenumsizeiPtruintbooleanIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumenumsizeiPtruintbooleanIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumsizeiPtruintbooleanIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()
-
-ffienumenumsizeiPtruintbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()
-ffienumenumsizeiPtruintbooleanIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumsizeiPtruintbooleanIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumuintenumsizeiPtrcharIOV :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ()
-
-ffienumenumuintenumsizeiPtrcharIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()
-ffienumenumuintenumsizeiPtrcharIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumuintenumsizeiPtrcharIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumuintsizeiPtrcharIOV :: FunPtr (GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()
-
-ffienumenumuintsizeiPtrcharIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()
-ffienumenumuintsizeiPtrcharIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumuintsizeiPtrcharIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumdoubledoubleintintdoubledoubleintintdoubledoubleintintPtrdoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-ffienumdoubledoubleintintdoubledoubleintintdoubledoubleintintPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
-ffienumdoubledoubleintintdoubledoubleintintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO (dynenumdoubledoubleintintdoubledoubleintintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13)
-
-foreign import ccall "dynamic" dynenumfloatfloatintintfloatfloatintintfloatfloatintintPtrfloatIOV :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-ffienumfloatfloatintintfloatfloatintintfloatfloatintintPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
-ffienumfloatfloatintintfloatfloatintintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO (dynenumfloatfloatintintfloatfloatintintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13)
-
-foreign import ccall "dynamic" dynuintsizeiIOV :: FunPtr (GLuint -> GLsizei -> IO ()) -> GLuint -> GLsizei -> IO ()
-
-ffiuintsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> IO ()) -> GLuint -> GLsizei -> m ()
-ffiuintsizeiIOV fp v0 v1 = liftIO (dynuintsizeiIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintPtrcharIOV :: FunPtr (GLint -> Ptr GLchar -> IO ()) -> GLint -> Ptr GLchar -> IO ()
-
-ffiintPtrcharIOV :: MonadIO m => FunPtr (GLint -> Ptr GLchar -> IO ()) -> GLint -> Ptr GLchar -> m ()
-ffiintPtrcharIOV fp v0 v1 = liftIO (dynintPtrcharIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumuintPtruintIOV :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ()) -> GLenum -> GLuint -> Ptr GLuint -> IO ()
-
-ffienumuintPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ()) -> GLenum -> GLuint -> Ptr GLuint -> m ()
-ffienumuintPtruintIOV fp v0 v1 v2 = liftIO (dynenumuintPtruintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynsyncIOV :: FunPtr (GLsync -> IO ()) -> GLsync -> IO ()
-
-ffisyncIOV :: MonadIO m => FunPtr (GLsync -> IO ()) -> GLsync -> m ()
-ffisyncIOV fp v0 = liftIO (dynsyncIOV fp v0)
-
-foreign import ccall "dynamic" dynclampdclampdIOV :: FunPtr (GLclampd -> GLclampd -> IO ()) -> GLclampd -> GLclampd -> IO ()
-
-fficlampdclampdIOV :: MonadIO m => FunPtr (GLclampd -> GLclampd -> IO ()) -> GLclampd -> GLclampd -> m ()
-fficlampdclampdIOV fp v0 v1 = liftIO (dynclampdclampdIOV fp v0 v1)
-
-foreign import ccall "dynamic" dyndoubledoubleIOV :: FunPtr (GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> IO ()
-
-ffidoubledoubleIOV :: MonadIO m => FunPtr (GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> m ()
-ffidoubledoubleIOV fp v0 v1 = liftIO (dyndoubledoubleIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintsizeiPtrfloatIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-ffiuintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
-ffiuintsizeiPtrfloatIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintsizeiPtrdoubleIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()
-
-ffiuintsizeiPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLuint -> GLsizei -> Ptr GLdouble -> m ()
-ffiuintsizeiPtrdoubleIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrdoubleIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintdoubledoubleIOV :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLdouble -> GLdouble -> IO ()
-
-ffiuintdoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLdouble -> GLdouble -> m ()
-ffiuintdoubledoubleIOV fp v0 v1 v2 = liftIO (dynuintdoubledoubleIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> IO ()
-
-ffiuintfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> m ()
-ffiuintfloatfloatIOV fp v0 v1 v2 = liftIO (dynuintfloatfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> IO ()
-
-ffifloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
-ffifloatfloatIOV fp v0 v1 = liftIO (dynfloatfloatIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynclampfclampfIOV :: FunPtr (GLclampf -> GLclampf -> IO ()) -> GLclampf -> GLclampf -> IO ()
-
-fficlampfclampfIOV :: MonadIO m => FunPtr (GLclampf -> GLclampf -> IO ()) -> GLclampf -> GLclampf -> m ()
-fficlampfclampfIOV fp v0 v1 = liftIO (dynclampfclampfIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynfixedfixedIOV :: FunPtr (GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> IO ()
-
-ffifixedfixedIOV :: MonadIO m => FunPtr (GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> m ()
-ffifixedfixedIOV fp v0 v1 = liftIO (dynfixedfixedIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumsizeiPtrfloatIOV :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()
-
-ffienumsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
-ffienumsizeiPtrfloatIOV fp v0 v1 v2 = liftIO (dynenumsizeiPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumsizeiPtrenumIOV :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()) -> GLenum -> GLsizei -> Ptr GLenum -> IO ()
-
-ffienumsizeiPtrenumIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()) -> GLenum -> GLsizei -> Ptr GLenum -> m ()
-ffienumsizeiPtrenumIOV fp v0 v1 v2 = liftIO (dynenumsizeiPtrenumIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintuintuintuintuintuintIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffiuintuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffiuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynintptrIOV :: FunPtr (GLintptr -> IO ()) -> GLintptr -> IO ()
-
-ffiintptrIOV :: MonadIO m => FunPtr (GLintptr -> IO ()) -> GLintptr -> m ()
-ffiintptrIOV fp v0 = liftIO (dynintptrIOV fp v0)
-
-foreign import ccall "dynamic" dynenumintsizeiIOV :: FunPtr (GLenum -> GLint -> GLsizei -> IO ()) -> GLenum -> GLint -> GLsizei -> IO ()
-
-ffienumintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLsizei -> IO ()) -> GLenum -> GLint -> GLsizei -> m ()
-ffienumintsizeiIOV fp v0 v1 v2 = liftIO (dynenumintsizeiIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumPtrVIOV :: FunPtr (GLenum -> Ptr () -> IO ()) -> GLenum -> Ptr () -> IO ()
-
-ffienumPtrVIOV :: MonadIO m => FunPtr (GLenum -> Ptr () -> IO ()) -> GLenum -> Ptr () -> m ()
-ffienumPtrVIOV fp v0 v1 = liftIO (dynenumPtrVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumintsizeisizeiIOV :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffienumintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLint -> GLsizei -> GLsizei -> m ()
-ffienumintsizeisizeiIOV fp v0 v1 v2 v3 = liftIO (dynenumintsizeisizeiIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumintsizeisizeiuintIOV :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ()) -> GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ()
-
-ffienumintsizeisizeiuintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ()) -> GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()
-ffienumintsizeisizeiuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumintsizeisizeiuintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynsizeiPtrenumIOV :: FunPtr (GLsizei -> Ptr GLenum -> IO ()) -> GLsizei -> Ptr GLenum -> IO ()
-
-ffisizeiPtrenumIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLenum -> IO ()) -> GLsizei -> Ptr GLenum -> m ()
-ffisizeiPtrenumIOV fp v0 v1 = liftIO (dynsizeiPtrenumIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintPtrenumPtrintIOV :: FunPtr (GLint -> Ptr GLenum -> Ptr GLint -> IO ()) -> GLint -> Ptr GLenum -> Ptr GLint -> IO ()
-
-ffiintPtrenumPtrintIOV :: MonadIO m => FunPtr (GLint -> Ptr GLenum -> Ptr GLint -> IO ()) -> GLint -> Ptr GLenum -> Ptr GLint -> m ()
-ffiintPtrenumPtrintIOV fp v0 v1 v2 = liftIO (dynintPtrenumPtrintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumsizeiIOV :: FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> IO ()
-
-ffienumsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
-ffienumsizeiIOV fp v0 v1 = liftIO (dynenumsizeiIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumsizeienumPtrVIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> IO ()
-
-ffienumsizeienumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> m ()
-ffienumsizeienumPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeienumPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumsizeienumPtrVintIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ()
-
-ffienumsizeienumPtrVintIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLint -> m ()
-ffienumsizeienumPtrVintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumsizeienumPtrVintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumenumPtrVIOV fp v0 v1 v2 = liftIO (dynenumenumPtrVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumsizeienumPtrVsizeiIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ()
-
-ffienumsizeienumPtrVsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
-ffienumsizeienumPtrVsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumsizeienumPtrVsizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumsizeienumPtrVsizeiuintIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLuint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLuint -> IO ()
-
-ffienumsizeienumPtrVsizeiuintIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLuint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLuint -> m ()
-ffienumsizeienumPtrVsizeiuintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumsizeienumPtrVsizeiuintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumsizeienumPtrVsizeiintIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> IO ()
-
-ffienumsizeienumPtrVsizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> m ()
-ffienumsizeienumPtrVsizeiintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumsizeienumPtrVsizeiintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumsizeienumPtrVsizeiintuintIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> GLuint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> GLuint -> IO ()
-
-ffienumsizeienumPtrVsizeiintuintIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> GLuint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> GLuint -> m ()
-ffienumsizeienumPtrVsizeiintuintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumsizeienumPtrVsizeiintuintIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynsizeisizeienumenumPtrVIOV :: FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffisizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumuintuintintsizeiIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ()
-
-ffienumuintuintintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> m ()
-ffienumuintuintintsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintuintintsizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumuintuintsizeiIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> IO ()
-
-ffienumuintuintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> m ()
-ffienumuintuintsizeiIOV fp v0 v1 v2 v3 = liftIO (dynenumuintuintsizeiIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumuintuintsizeienumPtrVIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> IO ()
-
-ffienumuintuintsizeienumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> m ()
-ffienumuintuintsizeienumPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintuintsizeienumPtrVIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumuintuintsizeienumPtrVintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ()
-
-ffienumuintuintsizeienumPtrVintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> GLint -> m ()
-ffienumuintuintsizeienumPtrVintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumuintuintsizeienumPtrVintIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynfloatfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffifloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffifloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynintintintintintIOV :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-ffiintintintintintIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()
-ffiintintintintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynintintintintintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynshortshortshortshortshortIOV :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
-
-ffishortshortshortshortshortIOV :: MonadIO m => FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
-ffishortshortshortshortshortIOV fp v0 v1 v2 v3 v4 = liftIO (dynshortshortshortshortshortIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintuintfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiuintuintfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiuintuintfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintuintfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
-
-foreign import ccall "dynamic" dynfixedfixedfixedfixedfixedIOV :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-ffifixedfixedfixedfixedfixedIOV :: MonadIO m => FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
-ffifixedfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4 = liftIO (dynfixedfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumuintsizeiIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLsizei -> IO ()
-
-ffienumuintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLsizei -> m ()
-ffienumuintsizeiIOV fp v0 v1 v2 = liftIO (dynenumuintsizeiIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumeglImageOESIOV :: FunPtr (GLenum -> GLeglImageOES -> IO ()) -> GLenum -> GLeglImageOES -> IO ()
-
-ffienumeglImageOESIOV :: MonadIO m => FunPtr (GLenum -> GLeglImageOES -> IO ()) -> GLenum -> GLeglImageOES -> m ()
-ffienumeglImageOESIOV fp v0 v1 = liftIO (dynenumeglImageOESIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynsizeiIOV :: FunPtr (GLsizei -> IO ()) -> GLsizei -> IO ()
-
-ffisizeiIOV :: MonadIO m => FunPtr (GLsizei -> IO ()) -> GLsizei -> m ()
-ffisizeiIOV fp v0 = liftIO (dynsizeiIOV fp v0)
-
-foreign import ccall "dynamic" dynsizeiPtrVIOV :: FunPtr (GLsizei -> Ptr () -> IO ()) -> GLsizei -> Ptr () -> IO ()
-
-ffisizeiPtrVIOV :: MonadIO m => FunPtr (GLsizei -> Ptr () -> IO ()) -> GLsizei -> Ptr () -> m ()
-ffisizeiPtrVIOV fp v0 v1 = liftIO (dynsizeiPtrVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynsizeisizeiPtrbooleanIOV :: FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ()) -> GLsizei -> GLsizei -> Ptr GLboolean -> IO ()
-
-ffisizeisizeiPtrbooleanIOV :: MonadIO m => FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ()) -> GLsizei -> GLsizei -> Ptr GLboolean -> m ()
-ffisizeisizeiPtrbooleanIOV fp v0 v1 v2 = liftIO (dynsizeisizeiPtrbooleanIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintPtrPtrbooleanintIOV :: FunPtr (GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ()) -> GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ()
-
-ffiintPtrPtrbooleanintIOV :: MonadIO m => FunPtr (GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ()) -> GLint -> Ptr (Ptr GLboolean) -> GLint -> m ()
-ffiintPtrPtrbooleanintIOV fp v0 v1 v2 = liftIO (dynintPtrPtrbooleanintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtrbooleanIOV :: FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> IO ()
-
-ffiPtrbooleanIOV :: MonadIO m => FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
-ffiPtrbooleanIOV fp v0 = liftIO (dynPtrbooleanIOV fp v0)
-
-foreign import ccall "dynamic" dynenumintintIOV :: FunPtr (GLenum -> GLint -> GLint -> IO ()) -> GLenum -> GLint -> GLint -> IO ()
-
-ffienumintintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> IO ()) -> GLenum -> GLint -> GLint -> m ()
-ffienumintintIOV fp v0 v1 v2 = liftIO (dynenumintintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumintintintintIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-ffienumintintintintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> m ()
-ffienumintintintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumintintintintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynintintIOV :: FunPtr (GLint -> GLint -> IO ()) -> GLint -> GLint -> IO ()
-
-ffiintintIOV :: MonadIO m => FunPtr (GLint -> GLint -> IO ()) -> GLint -> GLint -> m ()
-ffiintintIOV fp v0 v1 = liftIO (dynintintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumuintPtrfloatIOV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> Ptr GLfloat -> IO ()
-
-ffienumuintPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> Ptr GLfloat -> m ()
-ffienumuintPtrfloatIOV fp v0 v1 v2 = liftIO (dynenumuintPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumPtrPtrVIOV :: FunPtr (GLenum -> Ptr (Ptr ()) -> IO ()) -> GLenum -> Ptr (Ptr ()) -> IO ()
-
-ffienumPtrPtrVIOV :: MonadIO m => FunPtr (GLenum -> Ptr (Ptr ()) -> IO ()) -> GLenum -> Ptr (Ptr ()) -> m ()
-ffienumPtrPtrVIOV fp v0 v1 = liftIO (dynenumPtrPtrVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynPtruintintPtrintIOV :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ()) -> Ptr GLuint -> GLint -> Ptr GLint -> IO ()
-
-ffiPtruintintPtrintIOV :: MonadIO m => FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ()) -> Ptr GLuint -> GLint -> Ptr GLint -> m ()
-ffiPtruintintPtrintIOV fp v0 v1 v2 = liftIO (dynPtruintintPtrintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintenumPtrcharPtrintIOV :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ()
-
-ffiuintenumPtrcharPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> m ()
-ffiuintenumPtrcharPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumPtrcharPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumintenumPtrintIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
-
-ffiuintenumintenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
-ffiuintenumintenumPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumintenumPtrintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumintintintintsizeisizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumintintintintsizeisizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynenumintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
-
-foreign import ccall "dynamic" dynuintIOboolean :: FunPtr (GLuint -> IO GLboolean) -> GLuint -> IO GLboolean
-
-ffiuintIOboolean :: MonadIO m => FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
-ffiuintIOboolean fp v0 = liftIO (dynuintIOboolean fp v0)
-
-foreign import ccall "dynamic" dynsizeienumPtrfloatIOV :: FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr GLfloat -> IO ()
-
-ffisizeienumPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr GLfloat -> m ()
-ffisizeienumPtrfloatIOV fp v0 v1 v2 = liftIO (dynsizeienumPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynsizeienumPtrfixedIOV :: FunPtr (GLsizei -> GLenum -> Ptr GLfixed -> IO ()) -> GLsizei -> GLenum -> Ptr GLfixed -> IO ()
-
-ffisizeienumPtrfixedIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr GLfixed -> IO ()) -> GLsizei -> GLenum -> Ptr GLfixed -> m ()
-ffisizeienumPtrfixedIOV fp v0 v1 v2 = liftIO (dynsizeienumPtrfixedIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumbitfieldIOsync :: FunPtr (GLenum -> GLbitfield -> IO GLsync) -> GLenum -> GLbitfield -> IO GLsync
-
-ffienumbitfieldIOsync :: MonadIO m => FunPtr (GLenum -> GLbitfield -> IO GLsync) -> GLenum -> GLbitfield -> m GLsync
-ffienumbitfieldIOsync fp v0 v1 = liftIO (dynenumbitfieldIOsync fp v0 v1)
-
-foreign import ccall "dynamic" dynPtruintIOint :: FunPtr (Ptr GLuint -> IO GLint) -> Ptr GLuint -> IO GLint
-
-ffiPtruintIOint :: MonadIO m => FunPtr (Ptr GLuint -> IO GLint) -> Ptr GLuint -> m GLint
-ffiPtruintIOint fp v0 = liftIO (dynPtruintIOint fp v0)
-
-foreign import ccall "dynamic" dynenumintptrsizeiptrIOV :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLintptr -> GLsizeiptr -> IO ()
-
-ffienumintptrsizeiptrIOV :: MonadIO m => FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLintptr -> GLsizeiptr -> m ()
-ffienumintptrsizeiptrIOV fp v0 v1 v2 = liftIO (dynenumintptrsizeiptrIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintptrsizeiptrIOV :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-ffiuintintptrsizeiptrIOV :: MonadIO m => FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLintptr -> GLsizeiptr -> m ()
-ffiuintintptrsizeiptrIOV fp v0 v1 v2 = liftIO (dynuintintptrsizeiptrIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumintPtrPtrVintIOV :: FunPtr (GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> IO ()) -> GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> IO ()
-
-ffienumintPtrPtrVintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> IO ()) -> GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> m ()
-ffienumintPtrPtrVintIOV fp v0 v1 v2 v3 = liftIO (dynenumintPtrPtrVintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynhalfNVIOV :: FunPtr (GLhalfNV -> IO ()) -> GLhalfNV -> IO ()
-
-ffihalfNVIOV :: MonadIO m => FunPtr (GLhalfNV -> IO ()) -> GLhalfNV -> m ()
-ffihalfNVIOV fp v0 = liftIO (dynhalfNVIOV fp v0)
-
-foreign import ccall "dynamic" dynuintsizeiPtrenumIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ()) -> GLuint -> GLsizei -> Ptr GLenum -> IO ()
-
-ffiuintsizeiPtrenumIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ()) -> GLuint -> GLsizei -> Ptr GLenum -> m ()
-ffiuintsizeiPtrenumIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrenumIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumenumuintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> IO ()
-
-ffienumenumenumuintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> m ()
-ffienumenumenumuintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumuintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumuintsizeiPtrfloatIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-ffienumuintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
-ffienumuintsizeiPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumuintsizeiPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumuintintIOV :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ()) -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
-
-ffienumenumuintintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ()) -> GLenum -> GLenum -> GLuint -> GLint -> m ()
-ffienumenumuintintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumuintintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumenumuintintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
-
-ffienumenumenumuintintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()
-ffienumenumenumuintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumuintintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumenumuintintsizeiIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ()
-
-ffienumenumenumuintintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> m ()
-ffienumenumenumuintintsizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumenumuintintsizeiIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumenumuintintintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
-
-ffienumenumenumuintintintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
-ffienumenumenumuintintintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumenumuintintintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumuintintenumIOV :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ()) -> GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ()
-
-ffienumenumuintintenumIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ()) -> GLenum -> GLenum -> GLuint -> GLint -> GLenum -> m ()
-ffienumenumuintintenumIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumuintintenumIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumuintintintIOV :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
-
-ffienumenumuintintintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
-ffienumenumuintintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumuintintintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dyndoubledoubledoubledoubledoubledoubleIOV :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffidoubledoubledoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffidoubledoubledoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dyndoubledoubledoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynfixedfixedfixedfixedfixedfixedIOV :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-ffifixedfixedfixedfixedfixedfixedIOV :: MonadIO m => FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
-ffifixedfixedfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynfixedfixedfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynsizeiIOuint :: FunPtr (GLsizei -> IO GLuint) -> GLsizei -> IO GLuint
-
-ffisizeiIOuint :: MonadIO m => FunPtr (GLsizei -> IO GLuint) -> GLsizei -> m GLuint
-ffisizeiIOuint fp v0 = liftIO (dynsizeiIOuint fp v0)
-
-foreign import ccall "dynamic" dynuintIOuint :: FunPtr (GLuint -> IO GLuint) -> GLuint -> IO GLuint
-
-ffiuintIOuint :: MonadIO m => FunPtr (GLuint -> IO GLuint) -> GLuint -> m GLuint
-ffiuintIOuint fp v0 = liftIO (dynuintIOuint fp v0)
-
-foreign import ccall "dynamic" dynenumenumenumuintIOuint :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint) -> GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint
-
-ffienumenumenumuintIOuint :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint) -> GLenum -> GLenum -> GLenum -> GLuint -> m GLuint
-ffienumenumenumuintIOuint fp v0 v1 v2 v3 = liftIO (dynenumenumenumuintIOuint fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuintenumPtrintIOV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ()
-
-ffiuintuintenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
-ffiuintuintenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuintsizeiPtrsizeiPtrintPtrenumPtrcharIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ()
-
-ffiuintuintsizeiPtrsizeiPtrintPtrenumPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()
-ffiuintuintsizeiPtrsizeiPtrintPtrenumPtrcharIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintsizeiPtrsizeiPtrintPtrenumPtrcharIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynhandleARBuintsizeiPtrsizeiPtrintPtrenumPtrcharARBIOV :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ()) -> GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ()
-
-ffihandleARBuintsizeiPtrsizeiPtrintPtrenumPtrcharARBIOV :: MonadIO m => FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ()) -> GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> m ()
-ffihandleARBuintsizeiPtrsizeiPtrintPtrenumPtrcharARBIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynhandleARBuintsizeiPtrsizeiPtrintPtrenumPtrcharARBIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintenumuintsizeiPtrsizeiPtrcharIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-ffiuintenumuintsizeiPtrsizeiPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
-ffiuintenumuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintenumuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintenumuintenumPtrintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()
-
-ffiuintenumuintenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()
-ffiuintenumuintenumPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintenumPtrintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintuintsizeiPtrsizeiPtrcharIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-ffiuintuintsizeiPtrsizeiPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
-ffiuintuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintsizeiPtruintenumPtrintIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ()
-
-ffiuintsizeiPtruintenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()
-ffiuintsizeiPtruintenumPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintsizeiPtruintenumPtrintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintuintsizeiPtrsizeiPtrsizeiPtrenumPtrcharIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ()
-
-ffiuintuintsizeiPtrsizeiPtrsizeiPtrenumPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()
-ffiuintuintsizeiPtrsizeiPtrsizeiPtrenumPtrcharIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintsizeiPtrsizeiPtrsizeiPtrenumPtrcharIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynhandleARBsizeiPtrsizeiPtrhandleARBIOV :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ()) -> GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ()
-
-ffihandleARBsizeiPtrsizeiPtrhandleARBIOV :: MonadIO m => FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ()) -> GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> m ()
-ffihandleARBsizeiPtrsizeiPtrhandleARBIOV fp v0 v1 v2 v3 = liftIO (dynhandleARBsizeiPtrsizeiPtrhandleARBIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintsizeiPtrsizeiPtruintIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ()
-
-ffiuintsizeiPtrsizeiPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()
-ffiuintsizeiPtrsizeiPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrsizeiPtruintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintPtrcharIOint :: FunPtr (GLuint -> Ptr GLchar -> IO GLint) -> GLuint -> Ptr GLchar -> IO GLint
-
-ffiuintPtrcharIOint :: MonadIO m => FunPtr (GLuint -> Ptr GLchar -> IO GLint) -> GLuint -> Ptr GLchar -> m GLint
-ffiuintPtrcharIOint fp v0 v1 = liftIO (dynuintPtrcharIOint fp v0 v1)
-
-foreign import ccall "dynamic" dynhandleARBPtrcharARBIOint :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint) -> GLhandleARB -> Ptr GLcharARB -> IO GLint
-
-ffihandleARBPtrcharARBIOint :: MonadIO m => FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint) -> GLhandleARB -> Ptr GLcharARB -> m GLint
-ffihandleARBPtrcharARBIOint fp v0 v1 = liftIO (dynhandleARBPtrcharARBIOint fp v0 v1)
-
-foreign import ccall "dynamic" dynenumuintPtrbooleanIOV :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ()) -> GLenum -> GLuint -> Ptr GLboolean -> IO ()
-
-ffienumuintPtrbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ()) -> GLenum -> GLuint -> Ptr GLboolean -> m ()
-ffienumuintPtrbooleanIOV fp v0 v1 v2 = liftIO (dynenumuintPtrbooleanIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumPtrbooleanIOV :: FunPtr (GLenum -> Ptr GLboolean -> IO ()) -> GLenum -> Ptr GLboolean -> IO ()
-
-ffienumPtrbooleanIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLboolean -> IO ()) -> GLenum -> Ptr GLboolean -> m ()
-ffienumPtrbooleanIOV fp v0 v1 = liftIO (dynenumPtrbooleanIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumenumPtrint64IOV :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()) -> GLenum -> GLenum -> Ptr GLint64 -> IO ()
-
-ffienumenumPtrint64IOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()) -> GLenum -> GLenum -> Ptr GLint64 -> m ()
-ffienumenumPtrint64IOV fp v0 v1 v2 = liftIO (dynenumenumPtrint64IOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumPtruint64EXTIOV :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()) -> GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()
-
-ffienumenumPtruint64EXTIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()) -> GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
-ffienumenumPtruint64EXTIOV fp v0 v1 v2 = liftIO (dynenumenumPtruint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumPtrPtrVIOV :: FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()
-
-ffienumenumPtrPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
-ffienumenumPtrPtrVIOV fp v0 v1 v2 = liftIO (dynenumenumPtrPtrVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumenumenumPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumenumenumPtrfloatIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-ffienumenumenumenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
-ffienumenumenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumenumPtrfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumenumenumPtrintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
-
-ffienumenumenumenumPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
-ffienumenumenumenumPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumenumPtrintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumenumPtrfloatIOV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-ffienumenumenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
-ffienumenumenumPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumenumPtrintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
-
-ffienumenumenumPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
-ffienumenumenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumintPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> Ptr () -> IO ()
-
-ffienumenumintPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> Ptr () -> m ()
-ffienumenumintPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumenumintPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumintPtrVIOV :: FunPtr (GLenum -> GLint -> Ptr () -> IO ()) -> GLenum -> GLint -> Ptr () -> IO ()
-
-ffienumintPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr () -> IO ()) -> GLenum -> GLint -> Ptr () -> m ()
-ffienumintPtrVIOV fp v0 v1 v2 = liftIO (dynenumintPtrVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr () -> IO ()
-
-ffiuintintsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr () -> m ()
-ffiuintintsizeiPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumintPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr () -> IO ()
-
-ffiuintenumintPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr () -> m ()
-ffiuintenumintPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintenumintPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintintintintsizeisizeisizeisizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr () -> IO ()
-
-ffiuintintintintintsizeisizeisizeisizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr () -> m ()
-ffiuintintintintintsizeisizeisizeisizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintintintintintsizeisizeisizeisizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynuintsizeiPtrenumPtrenumPtruintPtrenumPtrsizeiPtrcharIOuint :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint) -> GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint
-
-ffiuintsizeiPtrenumPtrenumPtruintPtrenumPtrsizeiPtrcharIOuint :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint) -> GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint
-ffiuintsizeiPtrenumPtrenumPtruintPtrenumPtrsizeiPtrcharIOuint fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintsizeiPtrenumPtrenumPtruintPtrenumPtrsizeiPtrcharIOuint fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintsizeiPtrenumPtruintPtruintPtrsizeiPtrcharIOuint :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint) -> GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint
-
-ffiuintsizeiPtrenumPtruintPtruintPtrsizeiPtrcharIOuint :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint) -> GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> m GLuint
-ffiuintsizeiPtrenumPtruintPtruintPtrsizeiPtrcharIOuint fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintsizeiPtrenumPtruintPtruintPtrsizeiPtrcharIOuint fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumuintPtrdoubleIOV :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ()) -> GLenum -> GLuint -> Ptr GLdouble -> IO ()
-
-ffienumuintPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ()) -> GLenum -> GLuint -> Ptr GLdouble -> m ()
-ffienumuintPtrdoubleIOV fp v0 v1 v2 = liftIO (dynenumuintPtrdoubleIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintsizeiPtrsizeiPtrcharIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-ffiuintsizeiPtrsizeiPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
-ffiuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynPtrintsizeiPtruintIOV :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()) -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()
-
-ffiPtrintsizeiPtruintIOV :: MonadIO m => FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()) -> Ptr GLint -> GLsizei -> Ptr GLuint -> m ()
-ffiPtrintsizeiPtruintIOV fp v0 v1 v2 = liftIO (dynPtrintsizeiPtruintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynIOenum :: FunPtr (IO GLenum) -> IO GLenum
-
-ffiIOenum :: MonadIO m => FunPtr (IO GLenum) -> m GLenum
-ffiIOenum fp  = liftIO (dynIOenum fp )
-
-foreign import ccall "dynamic" dynuintenumPtrintIOV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> Ptr GLint -> IO ()
-
-ffiuintenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> Ptr GLint -> m ()
-ffiuintenumPtrintIOV fp v0 v1 v2 = liftIO (dynuintenumPtrintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumbooleanenumenumPtrVIOV :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLboolean -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumbooleanenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLboolean -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumbooleanenumenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumbooleanenumenumPtrVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintintbooleanintenumIOuint64 :: FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64) -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64
-
-ffiuintintbooleanintenumIOuint64 :: MonadIO m => FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64) -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> m GLuint64
-ffiuintintbooleanintenumIOuint64 fp v0 v1 v2 v3 v4 = liftIO (dynuintintbooleanintenumIOuint64 fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynhandleARBsizeiPtrsizeiPtrcharARBIOV :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ()) -> GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ()
-
-ffihandleARBsizeiPtrsizeiPtrcharARBIOV :: MonadIO m => FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ()) -> GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m ()
-ffihandleARBsizeiPtrsizeiPtrcharARBIOV fp v0 v1 v2 v3 = liftIO (dynhandleARBsizeiPtrsizeiPtrcharARBIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynIOint :: FunPtr (IO GLint) -> IO GLint
-
-ffiIOint :: MonadIO m => FunPtr (IO GLint) -> m GLint
-ffiIOint fp  = liftIO (dynIOint fp )
-
-foreign import ccall "dynamic" dynenumuintPtrint64IOV :: FunPtr (GLenum -> GLuint -> Ptr GLint64 -> IO ()) -> GLenum -> GLuint -> Ptr GLint64 -> IO ()
-
-ffienumuintPtrint64IOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLint64 -> IO ()) -> GLenum -> GLuint -> Ptr GLint64 -> m ()
-ffienumuintPtrint64IOV fp v0 v1 v2 = liftIO (dynenumuintPtrint64IOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumPtrint64IOV :: FunPtr (GLenum -> Ptr GLint64 -> IO ()) -> GLenum -> Ptr GLint64 -> IO ()
-
-ffienumPtrint64IOV :: MonadIO m => FunPtr (GLenum -> Ptr GLint64 -> IO ()) -> GLenum -> Ptr GLint64 -> m ()
-ffienumPtrint64IOV fp v0 v1 = liftIO (dynenumPtrint64IOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumuintPtrintIOV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> Ptr GLint -> IO ()
-
-ffienumuintPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> Ptr GLint -> m ()
-ffienumuintPtrintIOV fp v0 v1 v2 = liftIO (dynenumuintPtrintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumuintPtruint64EXTIOV :: FunPtr (GLenum -> GLuint -> Ptr GLuint64EXT -> IO ()) -> GLenum -> GLuint -> Ptr GLuint64EXT -> IO ()
-
-ffienumuintPtruint64EXTIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLuint64EXT -> IO ()) -> GLenum -> GLuint -> Ptr GLuint64EXT -> m ()
-ffienumuintPtruint64EXTIOV fp v0 v1 v2 = liftIO (dynenumuintPtruint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumPtruint64EXTIOV :: FunPtr (GLenum -> Ptr GLuint64EXT -> IO ()) -> GLenum -> Ptr GLuint64EXT -> IO ()
-
-ffienumPtruint64EXTIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLuint64EXT -> IO ()) -> GLenum -> Ptr GLuint64EXT -> m ()
-ffienumPtruint64EXTIOV fp v0 v1 = liftIO (dynenumPtruint64EXTIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumenumsizeienumsizeiPtrintIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ()
-
-ffienumenumsizeienumsizeiPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> m ()
-ffienumenumsizeienumsizeiPtrintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumsizeienumsizeiPtrintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumenumsizeiPtrint64IOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ()
-
-ffienumenumenumsizeiPtrint64IOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()
-ffienumenumenumsizeiPtrint64IOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumsizeiPtrint64IOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumenumsizeiPtrintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()
-
-ffienumenumenumsizeiPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()
-ffienumenumenumsizeiPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumsizeiPtrintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumPtrbooleanIOV :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ()) -> GLuint -> GLenum -> Ptr GLboolean -> IO ()
-
-ffiuintenumPtrbooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ()) -> GLuint -> GLenum -> Ptr GLboolean -> m ()
-ffiuintenumPtrbooleanIOV fp v0 v1 v2 = liftIO (dynuintenumPtrbooleanIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintenumPtrfloatIOV :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-ffiuintenumPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> Ptr GLfloat -> m ()
-ffiuintenumPtrfloatIOV fp v0 v1 v2 = liftIO (dynuintenumPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumuintenumPtrfloatIOV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-ffienumuintenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()
-ffienumuintenumPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumuintenumPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumuintenumPtrintIOV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()
-
-ffienumuintenumPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()
-ffienumuintenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynenumuintenumPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumuintenumsizeisizeibooleanPtrVIOV :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr () -> IO ()) -> GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr () -> IO ()
-
-ffienumuintenumsizeisizeibooleanPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr () -> IO ()) -> GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr () -> m ()
-ffienumuintenumsizeisizeibooleanPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumuintenumsizeisizeibooleanPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumenumPtrdoubleIOV :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
-
-ffienumenumPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> GLenum -> Ptr GLdouble -> m ()
-ffienumenumPtrdoubleIOV fp v0 v1 v2 = liftIO (dynenumenumPtrdoubleIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumenumPtrdoubleIOV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
-
-ffienumenumenumPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLdouble -> m ()
-ffienumenumenumPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumPtrdoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumintenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumenumintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumenumintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumintenumPtrfloatIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
-
-ffienumenumintenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
-ffienumenumintenumPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumintenumPtrfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumintenumPtrintIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
-
-ffienumenumintenumPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
-ffienumenumintenumPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumintenumPtrintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumenumPtruintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ()
-
-ffienumenumenumPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLuint -> m ()
-ffienumenumenumPtruintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumPtruintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumPtrint64IOV :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ()) -> GLuint -> GLenum -> Ptr GLint64 -> IO ()
-
-ffiuintenumPtrint64IOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ()) -> GLuint -> GLenum -> Ptr GLint64 -> m ()
-ffiuintenumPtrint64IOV fp v0 v1 v2 = liftIO (dynuintenumPtrint64IOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintenumPtruint64EXTIOV :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ()) -> GLuint -> GLenum -> Ptr GLuint64EXT -> IO ()
-
-ffiuintenumPtruint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ()) -> GLuint -> GLenum -> Ptr GLuint64EXT -> m ()
-ffiuintenumPtruint64EXTIOV fp v0 v1 v2 = liftIO (dynuintenumPtruint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintenumPtrPtrVIOV :: FunPtr (GLuint -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLuint -> GLenum -> Ptr (Ptr ()) -> IO ()
-
-ffiuintenumPtrPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLuint -> GLenum -> Ptr (Ptr ()) -> m ()
-ffiuintenumPtrPtrVIOV fp v0 v1 v2 = liftIO (dynuintenumPtrPtrVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintptrsizeiptrPtrVIOV :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> IO ()) -> GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> IO ()
-
-ffiuintintptrsizeiptrPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> IO ()) -> GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> m ()
-ffiuintintptrsizeiptrPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintintptrsizeiptrPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumenumPtrintIOV :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ()
-
-ffiuintenumenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
-ffiuintenumenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumuintPtrintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ()
-
-ffiuintenumuintPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()
-ffiuintenumuintPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumuintPtruintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ()
-
-ffiuintenumuintPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLuint -> m ()
-ffiuintenumuintPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintPtruintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumuintPtrdoubleIOV :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ()
-
-ffiuintenumuintPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLdouble -> m ()
-ffiuintenumuintPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintPtrdoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumuintPtrfloatIOV :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ()
-
-ffiuintenumuintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLfloat -> m ()
-ffiuintenumuintPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintenumenumPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynintPtrcharsizeiPtrintPtrcharIOV :: FunPtr (GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ()) -> GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ()
-
-ffiintPtrcharsizeiPtrintPtrcharIOV :: MonadIO m => FunPtr (GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ()) -> GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> m ()
-ffiintPtrcharsizeiPtrintPtrcharIOV fp v0 v1 v2 v3 v4 = liftIO (dynintPtrcharsizeiPtrintPtrcharIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynintPtrcharenumPtrintIOV :: FunPtr (GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ()) -> GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ()
-
-ffiintPtrcharenumPtrintIOV :: MonadIO m => FunPtr (GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ()) -> GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> m ()
-ffiintPtrcharenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynintPtrcharenumPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumuintsizeiPtrsizeiPtrcharIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-ffienumuintsizeiPtrsizeiPtrcharIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
-ffienumuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynhandleARBenumPtrfloatIOV :: FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ()) -> GLhandleARB -> GLenum -> Ptr GLfloat -> IO ()
-
-ffihandleARBenumPtrfloatIOV :: MonadIO m => FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ()) -> GLhandleARB -> GLenum -> Ptr GLfloat -> m ()
-ffihandleARBenumPtrfloatIOV fp v0 v1 v2 = liftIO (dynhandleARBenumPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynhandleARBenumPtrintIOV :: FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ()) -> GLhandleARB -> GLenum -> Ptr GLint -> IO ()
-
-ffihandleARBenumPtrintIOV :: MonadIO m => FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ()) -> GLhandleARB -> GLenum -> Ptr GLint -> m ()
-ffihandleARBenumPtrintIOV fp v0 v1 v2 = liftIO (dynhandleARBenumPtrintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtrVsizeiPtrsizeiPtrcharIOV :: FunPtr (Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-ffiPtrVsizeiPtrsizeiPtrcharIOV :: MonadIO m => FunPtr (Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
-ffiPtrVsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 = liftIO (dynPtrVsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumPtruintIOV :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> Ptr GLuint -> IO ()
-
-ffiuintenumPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> Ptr GLuint -> m ()
-ffiuintenumPtruintIOV fp v0 v1 v2 = liftIO (dynuintenumPtruintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintPtrubyteIOV :: FunPtr (GLuint -> Ptr GLubyte -> IO ()) -> GLuint -> Ptr GLubyte -> IO ()
-
-ffiuintPtrubyteIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLubyte -> IO ()) -> GLuint -> Ptr GLubyte -> m ()
-ffiuintPtrubyteIOV fp v0 v1 = liftIO (dynuintPtrubyteIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintPtrfloatIOV :: FunPtr (GLuint -> Ptr GLfloat -> IO ()) -> GLuint -> Ptr GLfloat -> IO ()
-
-ffiuintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLfloat -> IO ()) -> GLuint -> Ptr GLfloat -> m ()
-ffiuintPtrfloatIOV fp v0 v1 = liftIO (dynuintPtrfloatIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintsizeisizeiIOfloat :: FunPtr (GLuint -> GLsizei -> GLsizei -> IO GLfloat) -> GLuint -> GLsizei -> GLsizei -> IO GLfloat
-
-ffiuintsizeisizeiIOfloat :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLsizei -> IO GLfloat) -> GLuint -> GLsizei -> GLsizei -> m GLfloat
-ffiuintsizeisizeiIOfloat fp v0 v1 v2 = liftIO (dynuintsizeisizeiIOfloat fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynbitfielduintsizeisizeiPtrfloatIOV :: FunPtr (GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()) -> GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()
-
-ffibitfielduintsizeisizeiPtrfloatIOV :: MonadIO m => FunPtr (GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()) -> GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
-ffibitfielduintsizeisizeiPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynbitfielduintsizeisizeiPtrfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynbitfieldsizeienumPtrVuintsizeiPtrfloatIOV :: FunPtr (GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-ffibitfieldsizeienumPtrVuintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
-ffibitfieldsizeienumPtrVuintsizeiPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynbitfieldsizeienumPtrVuintsizeiPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumsizeienumPtrVuintfloatfloatenumPtrfloatIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ()
-
-ffienumsizeienumPtrVuintfloatfloatenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> m ()
-ffienumsizeienumPtrVuintfloatfloatenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumsizeienumPtrVuintfloatfloatenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintuintuintPtrcharuintPtrcharPtruintPtruintPtruintPtruintPtruint64IOV :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ()) -> GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ()
-
-ffiuintuintuintPtrcharuintPtrcharPtruintPtruintPtruintPtruintPtruint64IOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ()) -> GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> m ()
-ffiuintuintuintPtrcharuintPtrcharPtruintPtruintPtruintPtruintPtruint64IOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintuintuintPtrcharuintPtrcharPtruintPtruintPtruintPtruintPtruint64IOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
-
-foreign import ccall "dynamic" dynuintenumsizeiPtruintPtrintIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ()
-
-ffiuintenumsizeiPtruintPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> m ()
-ffiuintenumsizeiPtruintPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumsizeiPtruintPtrintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintuintenumPtrVIOV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr () -> IO ()
-
-ffiuintuintenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr () -> m ()
-ffiuintuintenumPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintPtrintPtrintsizeiPtruintIOV :: FunPtr (GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()
-
-ffiuintPtrintPtrintsizeiPtruintIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> m ()
-ffiuintPtrintPtrintsizeiPtruintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintPtrintPtrintsizeiPtruintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintuintsizeiPtrVPtruintIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ()
-
-ffiuintuintsizeiPtrVPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> m ()
-ffiuintuintsizeiPtrVPtruintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintsizeiPtrVPtruintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynPtrcharPtruintIOV :: FunPtr (Ptr GLchar -> Ptr GLuint -> IO ()) -> Ptr GLchar -> Ptr GLuint -> IO ()
-
-ffiPtrcharPtruintIOV :: MonadIO m => FunPtr (Ptr GLchar -> Ptr GLuint -> IO ()) -> Ptr GLchar -> Ptr GLuint -> m ()
-ffiPtrcharPtruintIOV fp v0 v1 = liftIO (dynPtrcharPtruintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintuintPtrcharPtruintPtruintPtruintPtruintIOV :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ()) -> GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ()
-
-ffiuintuintPtrcharPtruintPtruintPtruintPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ()) -> GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> m ()
-ffiuintuintPtrcharPtruintPtruintPtruintPtruintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintPtrcharPtruintPtruintPtruintPtruintIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumPtrushortIOV :: FunPtr (GLenum -> Ptr GLushort -> IO ()) -> GLenum -> Ptr GLushort -> IO ()
-
-ffienumPtrushortIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLushort -> IO ()) -> GLenum -> Ptr GLushort -> m ()
-ffienumPtrushortIOV fp v0 v1 = liftIO (dynenumPtrushortIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumintPtrfixedIOV :: FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ()) -> GLenum -> GLint -> Ptr GLfixed -> IO ()
-
-ffienumintPtrfixedIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ()) -> GLenum -> GLint -> Ptr GLfixed -> m ()
-ffienumintPtrfixedIOV fp v0 v1 v2 = liftIO (dynenumintPtrfixedIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumuintPtrPtrVIOV :: FunPtr (GLenum -> GLuint -> Ptr (Ptr ()) -> IO ()) -> GLenum -> GLuint -> Ptr (Ptr ()) -> IO ()
-
-ffienumuintPtrPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr (Ptr ()) -> IO ()) -> GLenum -> GLuint -> Ptr (Ptr ()) -> m ()
-ffienumuintPtrPtrVIOV fp v0 v1 v2 = liftIO (dynenumuintPtrPtrVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintsizeiPtrsizeiPtrenumPtrVIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ()
-
-ffiuintsizeiPtrsizeiPtrenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> m ()
-ffiuintsizeiPtrsizeiPtrenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintsizeiPtrsizeiPtrenumPtrVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintsizeiPtrubytePtrdoubleIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ()
-
-ffiuintsizeiPtrubytePtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> m ()
-ffiuintsizeiPtrubytePtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrubytePtrdoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintsizeiPtrubytePtrfloatIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ()
-
-ffiuintsizeiPtrubytePtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> m ()
-ffiuintsizeiPtrubytePtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrubytePtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumuintenumPtrdoubleIOV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
-
-ffienumuintenumPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> GLuint -> GLenum -> Ptr GLdouble -> m ()
-ffienumuintenumPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynenumuintenumPtrdoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumPtrcharIOuint :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint) -> GLuint -> GLenum -> Ptr GLchar -> IO GLuint
-
-ffiuintenumPtrcharIOuint :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint) -> GLuint -> GLenum -> Ptr GLchar -> m GLuint
-ffiuintenumPtrcharIOuint fp v0 v1 v2 = liftIO (dynuintenumPtrcharIOuint fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintenumPtrcharIOint :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint) -> GLuint -> GLenum -> Ptr GLchar -> IO GLint
-
-ffiuintenumPtrcharIOint :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint) -> GLuint -> GLenum -> Ptr GLchar -> m GLint
-ffiuintenumPtrcharIOint fp v0 v1 v2 = liftIO (dynuintenumPtrcharIOint fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintenumuintsizeiPtrenumsizeiPtrsizeiPtrfloatIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ()
-
-ffiuintenumuintsizeiPtrenumsizeiPtrsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> m ()
-ffiuintenumuintsizeiPtrenumsizeiPtrsizeiPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumuintsizeiPtrenumsizeiPtrsizeiPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintenumuintsizeiPtrenumsizeiPtrsizeiPtrintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
-
-ffiuintenumuintsizeiPtrenumsizeiPtrsizeiPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()
-ffiuintenumuintsizeiPtrenumsizeiPtrsizeiPtrintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumuintsizeiPtrenumsizeiPtrsizeiPtrintIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintenumPtrubyteIOV :: FunPtr (GLuint -> GLenum -> Ptr GLubyte -> IO ()) -> GLuint -> GLenum -> Ptr GLubyte -> IO ()
-
-ffiuintenumPtrubyteIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLubyte -> IO ()) -> GLuint -> GLenum -> Ptr GLubyte -> m ()
-ffiuintenumPtrubyteIOV fp v0 v1 v2 = liftIO (dynuintenumPtrubyteIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintuintenumintptrIOV :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLenum -> GLintptr -> IO ()
-
-ffiuintuintenumintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLenum -> GLintptr -> m ()
-ffiuintuintenumintptrIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumintptrIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumPtruint64IOV :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ()) -> GLuint -> GLenum -> Ptr GLuint64 -> IO ()
-
-ffiuintenumPtruint64IOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ()) -> GLuint -> GLenum -> Ptr GLuint64 -> m ()
-ffiuintenumPtruint64IOV fp v0 v1 v2 = liftIO (dynuintenumPtruint64IOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumenumPtrVPtrVPtrVIOV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> Ptr () -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr () -> Ptr () -> Ptr () -> IO ()
-
-ffienumenumenumPtrVPtrVPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> Ptr () -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr () -> Ptr () -> Ptr () -> m ()
-ffienumenumenumPtrVPtrVPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumenumPtrVPtrVPtrVIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumPtrintPtrintIOV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ()
-
-ffienumenumPtrintPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()
-ffienumenumPtrintPtrintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumPtrintPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumIOPtrubyte :: FunPtr (GLenum -> IO (Ptr GLubyte)) -> GLenum -> IO (Ptr GLubyte)
-
-ffienumIOPtrubyte :: MonadIO m => FunPtr (GLenum -> IO (Ptr GLubyte)) -> GLenum -> m (Ptr GLubyte)
-ffienumIOPtrubyte fp v0 = liftIO (dynenumIOPtrubyte fp v0)
-
-foreign import ccall "dynamic" dynenumuintIOPtrubyte :: FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte)) -> GLenum -> GLuint -> IO (Ptr GLubyte)
-
-ffienumuintIOPtrubyte :: MonadIO m => FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte)) -> GLenum -> GLuint -> m (Ptr GLubyte)
-ffienumuintIOPtrubyte fp v0 v1 = liftIO (dynenumuintIOPtrubyte fp v0 v1)
-
-foreign import ccall "dynamic" dynsyncenumsizeiPtrsizeiPtrintIOV :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()) -> GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
-
-ffisyncenumsizeiPtrsizeiPtrintIOV :: MonadIO m => FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()) -> GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()
-ffisyncenumsizeiPtrsizeiPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynsyncenumsizeiPtrsizeiPtrintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumintenumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumintenumenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumintenumenumPtrVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumintenumPtrfloatIOV :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
-
-ffienumintenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
-ffienumintenumPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumintenumPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumintenumPtrintIOV :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
-
-ffienumintenumPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
-ffienumintenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynenumintenumPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumintenumPtrfixedIOV :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ()) -> GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ()
-
-ffienumintenumPtrfixedIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ()) -> GLenum -> GLint -> GLenum -> Ptr GLfixed -> m ()
-ffienumintenumPtrfixedIOV fp v0 v1 v2 v3 = liftIO (dynenumintenumPtrfixedIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumPtruintIOV :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ()) -> GLenum -> GLenum -> Ptr GLuint -> IO ()
-
-ffienumenumPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ()) -> GLenum -> GLenum -> Ptr GLuint -> m ()
-ffienumenumPtruintIOV fp v0 v1 v2 = liftIO (dynenumenumPtruintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintIOuint64 :: FunPtr (GLuint -> IO GLuint64) -> GLuint -> IO GLuint64
-
-ffiuintIOuint64 :: MonadIO m => FunPtr (GLuint -> IO GLuint64) -> GLuint -> m GLuint64
-ffiuintIOuint64 fp v0 = liftIO (dynuintIOuint64 fp v0)
-
-foreign import ccall "dynamic" dynuintintenumenumsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffiuintintenumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
-ffiuintintenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintenumintenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintenumintenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintenumintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintenumintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintintenumPtrfloatIOV :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ()
-
-ffiuintintenumPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()
-ffiuintintenumPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintintenumPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumintenumPtrfloatIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
-
-ffiuintenumintenumPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
-ffiuintenumintenumPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumintenumPtrfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintintenumPtrintIOV :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLint -> GLenum -> Ptr GLint -> IO ()
-
-ffiuintintenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLint -> GLenum -> Ptr GLint -> m ()
-ffiuintintenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintintenumPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumenumPtruintIOV :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ()
-
-ffiuintenumenumPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr GLuint -> m ()
-ffiuintenumenumPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumPtruintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumenumPtrfloatIOV :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-ffiuintenumenumPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
-ffiuintenumenumPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuintIOuint64 :: FunPtr (GLuint -> GLuint -> IO GLuint64) -> GLuint -> GLuint -> IO GLuint64
-
-ffiuintuintIOuint64 :: MonadIO m => FunPtr (GLuint -> GLuint -> IO GLuint64) -> GLuint -> GLuint -> m GLuint64
-ffiuintuintIOuint64 fp v0 v1 = liftIO (dynuintuintIOuint64 fp v0 v1)
-
-foreign import ccall "dynamic" dynuintintintintintsizeisizeisizeienumenumsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffiuintintintintintsizeisizeisizeienumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
-ffiuintintintintintsizeisizeisizeienumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynuintintintintintsizeisizeisizeienumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
-
-foreign import ccall "dynamic" dynuintuintPtrintIOV :: FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()) -> GLuint -> GLuint -> Ptr GLint -> IO ()
-
-ffiuintuintPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()) -> GLuint -> GLuint -> Ptr GLint -> m ()
-ffiuintuintPtrintIOV fp v0 v1 v2 = liftIO (dynuintuintPtrintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintenumuintPtrint64IOV :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ()
-
-ffiuintenumuintPtrint64IOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLint64 -> m ()
-ffiuintenumuintPtrint64IOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintPtrint64IOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintPtrcharIOuint :: FunPtr (GLuint -> Ptr GLchar -> IO GLuint) -> GLuint -> Ptr GLchar -> IO GLuint
-
-ffiuintPtrcharIOuint :: MonadIO m => FunPtr (GLuint -> Ptr GLchar -> IO GLuint) -> GLuint -> Ptr GLchar -> m GLuint
-ffiuintPtrcharIOuint fp v0 v1 = liftIO (dynuintPtrcharIOuint fp v0 v1)
-
-foreign import ccall "dynamic" dynuintintIOint :: FunPtr (GLuint -> GLint -> IO GLint) -> GLuint -> GLint -> IO GLint
-
-ffiuintintIOint :: MonadIO m => FunPtr (GLuint -> GLint -> IO GLint) -> GLuint -> GLint -> m GLint
-ffiuintintIOint fp v0 v1 = liftIO (dynuintintIOint fp v0 v1)
-
-foreign import ccall "dynamic" dynuintsizeiPtrPtrcharPtruintIOV :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ()) -> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ()
-
-ffiuintsizeiPtrPtrcharPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ()) -> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()
-ffiuintsizeiPtrPtrcharPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrPtrcharPtruintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintIOintptr :: FunPtr (GLuint -> GLint -> IO GLintptr) -> GLuint -> GLint -> IO GLintptr
-
-ffiuintintIOintptr :: MonadIO m => FunPtr (GLuint -> GLint -> IO GLintptr) -> GLuint -> GLint -> m GLintptr
-ffiuintintIOintptr fp v0 v1 = liftIO (dynuintintIOintptr fp v0 v1)
-
-foreign import ccall "dynamic" dynuintintPtrdoubleIOV :: FunPtr (GLuint -> GLint -> Ptr GLdouble -> IO ()) -> GLuint -> GLint -> Ptr GLdouble -> IO ()
-
-ffiuintintPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> Ptr GLdouble -> IO ()) -> GLuint -> GLint -> Ptr GLdouble -> m ()
-ffiuintintPtrdoubleIOV fp v0 v1 v2 = liftIO (dynuintintPtrdoubleIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintPtrfloatIOV :: FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> Ptr GLfloat -> IO ()
-
-ffiuintintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> Ptr GLfloat -> m ()
-ffiuintintPtrfloatIOV fp v0 v1 v2 = liftIO (dynuintintPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynhandleARBintPtrfloatIOV :: FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ()) -> GLhandleARB -> GLint -> Ptr GLfloat -> IO ()
-
-ffihandleARBintPtrfloatIOV :: MonadIO m => FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ()) -> GLhandleARB -> GLint -> Ptr GLfloat -> m ()
-ffihandleARBintPtrfloatIOV fp v0 v1 v2 = liftIO (dynhandleARBintPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintPtrint64EXTIOV :: FunPtr (GLuint -> GLint -> Ptr GLint64EXT -> IO ()) -> GLuint -> GLint -> Ptr GLint64EXT -> IO ()
-
-ffiuintintPtrint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> Ptr GLint64EXT -> IO ()) -> GLuint -> GLint -> Ptr GLint64EXT -> m ()
-ffiuintintPtrint64EXTIOV fp v0 v1 v2 = liftIO (dynuintintPtrint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintPtrintIOV :: FunPtr (GLuint -> GLint -> Ptr GLint -> IO ()) -> GLuint -> GLint -> Ptr GLint -> IO ()
-
-ffiuintintPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> Ptr GLint -> IO ()) -> GLuint -> GLint -> Ptr GLint -> m ()
-ffiuintintPtrintIOV fp v0 v1 v2 = liftIO (dynuintintPtrintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynhandleARBintPtrintIOV :: FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ()) -> GLhandleARB -> GLint -> Ptr GLint -> IO ()
-
-ffihandleARBintPtrintIOV :: MonadIO m => FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ()) -> GLhandleARB -> GLint -> Ptr GLint -> m ()
-ffihandleARBintPtrintIOV fp v0 v1 v2 = liftIO (dynhandleARBintPtrintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintPtruint64EXTIOV :: FunPtr (GLuint -> GLint -> Ptr GLuint64EXT -> IO ()) -> GLuint -> GLint -> Ptr GLuint64EXT -> IO ()
-
-ffiuintintPtruint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> Ptr GLuint64EXT -> IO ()) -> GLuint -> GLint -> Ptr GLuint64EXT -> m ()
-ffiuintintPtruint64EXTIOV fp v0 v1 v2 = liftIO (dynuintintPtruint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintPtruintIOV :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ()) -> GLuint -> GLint -> Ptr GLuint -> IO ()
-
-ffiuintintPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ()) -> GLuint -> GLint -> Ptr GLuint -> m ()
-ffiuintintPtruintIOV fp v0 v1 v2 = liftIO (dynuintintPtruintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintuintenumPtrint64IOV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ()
-
-ffiuintuintenumPtrint64IOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()
-ffiuintuintenumPtrint64IOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumPtrint64IOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuintenumPtrPtrVIOV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr (Ptr ()) -> IO ()
-
-ffiuintuintenumPtrPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr (Ptr ()) -> m ()
-ffiuintuintenumPtrPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumPtrPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumPtrdoubleIOV :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ()) -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
-
-ffiuintenumPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ()) -> GLuint -> GLenum -> Ptr GLdouble -> m ()
-ffiuintenumPtrdoubleIOV fp v0 v1 v2 = liftIO (dynuintenumPtrdoubleIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintenumPtrint64EXTIOV :: FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ()) -> GLuint -> GLenum -> Ptr GLint64EXT -> IO ()
-
-ffiuintenumPtrint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ()) -> GLuint -> GLenum -> Ptr GLint64EXT -> m ()
-ffiuintenumPtrint64EXTIOV fp v0 v1 v2 = liftIO (dynuintenumPtrint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintuintenumPtrdoubleIOV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
-
-ffiuintuintenumPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLdouble -> m ()
-ffiuintuintenumPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumPtrdoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuintenumPtrfloatIOV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-ffiuintuintenumPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
-ffiuintuintenumPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumenumsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffienumenumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
-ffienumenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumintsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLsizei -> Ptr () -> IO ()
-
-ffienumintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLsizei -> Ptr () -> m ()
-ffienumintsizeiPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumintsizeiPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumbooleanenumenumsizeiPtrVIOV :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffienumbooleanenumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
-ffienumbooleanenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumbooleanenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumsizeiPtrdoubleIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ()
-
-ffienumenumsizeiPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> m ()
-ffienumenumsizeiPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynenumenumsizeiPtrdoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumsizeiPtrfloatIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()
-
-ffienumenumsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
-ffienumenumsizeiPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumenumsizeiPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumsizeiPtrintIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()
-
-ffienumenumsizeiPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()
-ffienumenumsizeiPtrintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumsizeiPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumsizeiPtrushortIOV :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ()) -> GLenum -> GLsizei -> Ptr GLushort -> IO ()
-
-ffienumsizeiPtrushortIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ()) -> GLenum -> GLsizei -> Ptr GLushort -> m ()
-ffienumsizeiPtrushortIOV fp v0 v1 v2 = liftIO (dynenumsizeiPtrushortIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynsizeiPtrubyteIOV :: FunPtr (GLsizei -> Ptr GLubyte -> IO ()) -> GLsizei -> Ptr GLubyte -> IO ()
-
-ffisizeiPtrubyteIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLubyte -> IO ()) -> GLsizei -> Ptr GLubyte -> m ()
-ffisizeiPtrubyteIOV fp v0 v1 = liftIO (dynsizeiPtrubyteIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumenumenumsizeiPtrVsizeiPtrVPtrVIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> GLsizei -> Ptr () -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> GLsizei -> Ptr () -> Ptr () -> IO ()
-
-ffienumenumenumsizeiPtrVsizeiPtrVPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> GLsizei -> Ptr () -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> GLsizei -> Ptr () -> Ptr () -> m ()
-ffienumenumenumsizeiPtrVsizeiPtrVPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumenumenumsizeiPtrVsizeiPtrVPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynenumintenumenumsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffienumintenumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
-ffienumintenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumintenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintintsizeiPtrdoubleIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ()
-
-ffiuintintsizeiPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
-ffiuintintsizeiPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtrdoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintsizeiPtrfloatIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ()
-
-ffiuintintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
-ffiuintintsizeiPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintsizeiPtrintIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ()
-
-ffiuintintsizeiPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
-ffiuintintsizeiPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintsizeiPtruintIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ()
-
-ffiuintintsizeiPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
-ffiuintintsizeiPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtruintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynbyteIOV :: FunPtr (GLbyte -> IO ()) -> GLbyte -> IO ()
-
-ffibyteIOV :: MonadIO m => FunPtr (GLbyte -> IO ()) -> GLbyte -> m ()
-ffibyteIOV fp v0 = liftIO (dynbyteIOV fp v0)
-
-foreign import ccall "dynamic" dynshortIOV :: FunPtr (GLshort -> IO ()) -> GLshort -> IO ()
-
-ffishortIOV :: MonadIO m => FunPtr (GLshort -> IO ()) -> GLshort -> m ()
-ffishortIOV fp v0 = liftIO (dynshortIOV fp v0)
-
-foreign import ccall "dynamic" dynubyteIOV :: FunPtr (GLubyte -> IO ()) -> GLubyte -> IO ()
-
-ffiubyteIOV :: MonadIO m => FunPtr (GLubyte -> IO ()) -> GLubyte -> m ()
-ffiubyteIOV fp v0 = liftIO (dynubyteIOV fp v0)
-
-foreign import ccall "dynamic" dynushortIOV :: FunPtr (GLushort -> IO ()) -> GLushort -> IO ()
-
-ffiushortIOV :: MonadIO m => FunPtr (GLushort -> IO ()) -> GLushort -> m ()
-ffiushortIOV fp v0 = liftIO (dynushortIOV fp v0)
-
-foreign import ccall "dynamic" dynenumsizeienumbooleanIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLboolean -> IO ()
-
-ffienumsizeienumbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLboolean -> m ()
-ffienumsizeienumbooleanIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeienumbooleanIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumintptrbitfieldIOsync :: FunPtr (GLenum -> GLintptr -> GLbitfield -> IO GLsync) -> GLenum -> GLintptr -> GLbitfield -> IO GLsync
-
-ffienumintptrbitfieldIOsync :: MonadIO m => FunPtr (GLenum -> GLintptr -> GLbitfield -> IO GLsync) -> GLenum -> GLintptr -> GLbitfield -> m GLsync
-ffienumintptrbitfieldIOsync fp v0 v1 v2 = liftIO (dynenumintptrbitfieldIOsync fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumsizeisizeiPtrVIOV :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()
-
-ffienumsizeisizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLsizei -> GLsizei -> Ptr () -> m ()
-ffienumsizeisizeiPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeisizeiPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynsizeiPtrcharIOV :: FunPtr (GLsizei -> Ptr GLchar -> IO ()) -> GLsizei -> Ptr GLchar -> IO ()
-
-ffisizeiPtrcharIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLchar -> IO ()) -> GLsizei -> Ptr GLchar -> m ()
-ffisizeiPtrcharIOV fp v0 v1 = liftIO (dynsizeiPtrcharIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynsizeiPtrintIOV :: FunPtr (GLsizei -> Ptr GLint -> IO ()) -> GLsizei -> Ptr GLint -> IO ()
-
-ffisizeiPtrintIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLint -> IO ()) -> GLsizei -> Ptr GLint -> m ()
-ffisizeiPtrintIOV fp v0 v1 = liftIO (dynsizeiPtrintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintuintuintfloatIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ()) -> GLuint -> GLuint -> GLuint -> GLfloat -> IO ()
-
-ffiuintuintuintfloatIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ()) -> GLuint -> GLuint -> GLuint -> GLfloat -> m ()
-ffiuintuintuintfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintuintuintfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintsizeiPtrenumintintsizeisizeiIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffiuintsizeiPtrenumintintsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
-ffiuintsizeiPtrenumintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintsizeiPtrenumintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumsizeiPtrenumintintsizeisizeiIOV :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffienumsizeiPtrenumintintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
-ffienumsizeiPtrenumintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumsizeiPtrenumintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintintIOV :: FunPtr (GLuint -> GLint -> IO ()) -> GLuint -> GLint -> IO ()
-
-ffiuintintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> IO ()) -> GLuint -> GLint -> m ()
-ffiuintintIOV fp v0 v1 = liftIO (dynuintintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintintintintintsizeisizeisizeiIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-ffiuintintintintintsizeisizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()
-ffiuintintintintintsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintintintintintsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynenumIOboolean :: FunPtr (GLenum -> IO GLboolean) -> GLenum -> IO GLboolean
-
-ffienumIOboolean :: MonadIO m => FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
-ffienumIOboolean fp v0 = liftIO (dynenumIOboolean fp v0)
-
-foreign import ccall "dynamic" dynenumuintIOboolean :: FunPtr (GLenum -> GLuint -> IO GLboolean) -> GLenum -> GLuint -> IO GLboolean
-
-ffienumuintIOboolean :: MonadIO m => FunPtr (GLenum -> GLuint -> IO GLboolean) -> GLenum -> GLuint -> m GLboolean
-ffienumuintIOboolean fp v0 v1 = liftIO (dynenumuintIOboolean fp v0 v1)
-
-foreign import ccall "dynamic" dynuint64IOboolean :: FunPtr (GLuint64 -> IO GLboolean) -> GLuint64 -> IO GLboolean
-
-ffiuint64IOboolean :: MonadIO m => FunPtr (GLuint64 -> IO GLboolean) -> GLuint64 -> m GLboolean
-ffiuint64IOboolean fp v0 = liftIO (dynuint64IOboolean fp v0)
-
-foreign import ccall "dynamic" dynintPtrcharIOboolean :: FunPtr (GLint -> Ptr GLchar -> IO GLboolean) -> GLint -> Ptr GLchar -> IO GLboolean
-
-ffiintPtrcharIOboolean :: MonadIO m => FunPtr (GLint -> Ptr GLchar -> IO GLboolean) -> GLint -> Ptr GLchar -> m GLboolean
-ffiintPtrcharIOboolean fp v0 v1 = liftIO (dynintPtrcharIOboolean fp v0 v1)
-
-foreign import ccall "dynamic" dynuintuintfloatfloatIOboolean :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean) -> GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean
-
-ffiuintuintfloatfloatIOboolean :: MonadIO m => FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean) -> GLuint -> GLuint -> GLfloat -> GLfloat -> m GLboolean
-ffiuintuintfloatfloatIOboolean fp v0 v1 v2 v3 = liftIO (dynuintuintfloatfloatIOboolean fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintfloatfloatIOboolean :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO GLboolean) -> GLuint -> GLfloat -> GLfloat -> IO GLboolean
-
-ffiuintfloatfloatIOboolean :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> IO GLboolean) -> GLuint -> GLfloat -> GLfloat -> m GLboolean
-ffiuintfloatfloatIOboolean fp v0 v1 v2 = liftIO (dynuintfloatfloatIOboolean fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynsyncIOboolean :: FunPtr (GLsync -> IO GLboolean) -> GLsync -> IO GLboolean
-
-ffisyncIOboolean :: MonadIO m => FunPtr (GLsync -> IO GLboolean) -> GLsync -> m GLboolean
-ffisyncIOboolean fp v0 = liftIO (dynsyncIOboolean fp v0)
-
-foreign import ccall "dynamic" dynuintenumIOboolean :: FunPtr (GLuint -> GLenum -> IO GLboolean) -> GLuint -> GLenum -> IO GLboolean
-
-ffiuintenumIOboolean :: MonadIO m => FunPtr (GLuint -> GLenum -> IO GLboolean) -> GLuint -> GLenum -> m GLboolean
-ffiuintenumIOboolean fp v0 v1 = liftIO (dynuintenumIOboolean fp v0 v1)
-
-foreign import ccall "dynamic" dynenumuintsizeiPtrcharIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()
-
-ffienumuintsizeiPtrcharIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()
-ffienumuintsizeiPtrcharIOV fp v0 v1 v2 v3 = liftIO (dynenumuintsizeiPtrcharIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynintushortIOV :: FunPtr (GLint -> GLushort -> IO ()) -> GLint -> GLushort -> IO ()
-
-ffiintushortIOV :: MonadIO m => FunPtr (GLint -> GLushort -> IO ()) -> GLint -> GLushort -> m ()
-ffiintushortIOV fp v0 v1 = liftIO (dynintushortIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintenumfloatIOV :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ()) -> GLuint -> GLenum -> GLfloat -> IO ()
-
-ffiuintenumfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLfloat -> IO ()) -> GLuint -> GLenum -> GLfloat -> m ()
-ffiuintenumfloatIOV fp v0 v1 v2 = liftIO (dynuintenumfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintenumintIOV :: FunPtr (GLuint -> GLenum -> GLint -> IO ()) -> GLuint -> GLenum -> GLint -> IO ()
-
-ffiuintenumintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> IO ()) -> GLuint -> GLenum -> GLint -> m ()
-ffiuintenumintIOV fp v0 v1 v2 = liftIO (dynuintenumintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumuintsizeiPtrubyteIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ()
-
-ffienumuintsizeiPtrubyteIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> m ()
-ffienumuintsizeiPtrubyteIOV fp v0 v1 v2 v3 = liftIO (dynenumuintsizeiPtrubyteIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynintsizeiIOV :: FunPtr (GLint -> GLsizei -> IO ()) -> GLint -> GLsizei -> IO ()
-
-ffiintsizeiIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> IO ()) -> GLint -> GLsizei -> m ()
-ffiintsizeiIOV fp v0 v1 = liftIO (dynintsizeiIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuint64IOV :: FunPtr (GLuint64 -> IO ()) -> GLuint64 -> IO ()
-
-ffiuint64IOV :: MonadIO m => FunPtr (GLuint64 -> IO ()) -> GLuint64 -> m ()
-ffiuint64IOV fp v0 = liftIO (dynuint64IOV fp v0)
-
-foreign import ccall "dynamic" dynuint64enumIOV :: FunPtr (GLuint64 -> GLenum -> IO ()) -> GLuint64 -> GLenum -> IO ()
-
-ffiuint64enumIOV :: MonadIO m => FunPtr (GLuint64 -> GLenum -> IO ()) -> GLuint64 -> GLenum -> m ()
-ffiuint64enumIOV fp v0 v1 = liftIO (dynuint64enumIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumdoubledoubleintintPtrdoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-ffienumdoubledoubleintintPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
-ffienumdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumfloatfloatintintPtrfloatIOV :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-ffienumfloatfloatintintPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
-ffienumfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumfixedfixedintintfixedIOV :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()
-
-ffienumfixedfixedintintfixedIOV :: MonadIO m => FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> m ()
-ffienumfixedfixedintintfixedIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumfixedfixedintintfixedIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumdoubledoubleintintdoubledoubleintintPtrdoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-ffienumdoubledoubleintintdoubledoubleintintPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
-ffienumdoubledoubleintintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumdoubledoubleintintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynenumfloatfloatintintfloatfloatintintPtrfloatIOV :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-ffienumfloatfloatintintfloatfloatintintPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
-ffienumfloatfloatintintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumfloatfloatintintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynenumfixedfixedintintfixedfixedintintfixedIOV :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()
-
-ffienumfixedfixedintintfixedfixedintintfixedIOV :: MonadIO m => FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> m ()
-ffienumfixedfixedintintfixedfixedintintfixedIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumfixedfixedintintfixedfixedintintfixedIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynenumenumIOPtrV :: FunPtr (GLenum -> GLenum -> IO (Ptr ())) -> GLenum -> GLenum -> IO (Ptr ())
-
-ffienumenumIOPtrV :: MonadIO m => FunPtr (GLenum -> GLenum -> IO (Ptr ())) -> GLenum -> GLenum -> m (Ptr ())
-ffienumenumIOPtrV fp v0 v1 = liftIO (dynenumenumIOPtrV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumintptrsizeiptrbitfieldIOPtrV :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ())) -> GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ())
-
-ffienumintptrsizeiptrbitfieldIOPtrV :: MonadIO m => FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ())) -> GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr ())
-ffienumintptrsizeiptrbitfieldIOPtrV fp v0 v1 v2 v3 = liftIO (dynenumintptrsizeiptrbitfieldIOPtrV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumuintenumsizeisizeiintintbooleanPtrVIOV :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr () -> IO ()) -> GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr () -> IO ()
-
-ffienumuintenumsizeisizeiintintbooleanPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr () -> IO ()) -> GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr () -> m ()
-ffienumuintenumsizeisizeiintintbooleanPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumuintenumsizeisizeiintintbooleanPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynintdoubledoubleIOV :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> IO ()
-
-ffiintdoubledoubleIOV :: MonadIO m => FunPtr (GLint -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> m ()
-ffiintdoubledoubleIOV fp v0 v1 v2 = liftIO (dynintdoubledoubleIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintfloatfloatIOV :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> IO ()
-
-ffiintfloatfloatIOV :: MonadIO m => FunPtr (GLint -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> m ()
-ffiintfloatfloatIOV fp v0 v1 v2 = liftIO (dynintfloatfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintfixedfixedIOV :: FunPtr (GLint -> GLfixed -> GLfixed -> IO ()) -> GLint -> GLfixed -> GLfixed -> IO ()
-
-ffiintfixedfixedIOV :: MonadIO m => FunPtr (GLint -> GLfixed -> GLfixed -> IO ()) -> GLint -> GLfixed -> GLfixed -> m ()
-ffiintfixedfixedIOV fp v0 v1 v2 = liftIO (dynintfixedfixedIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintdoubledoubleintdoubledoubleIOV :: FunPtr (GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ()
-
-ffiintdoubledoubleintdoubledoubleIOV :: MonadIO m => FunPtr (GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()
-ffiintdoubledoubleintdoubledoubleIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynintdoubledoubleintdoubledoubleIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynintfloatfloatintfloatfloatIOV :: FunPtr (GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ()
-
-ffiintfloatfloatintfloatfloatIOV :: MonadIO m => FunPtr (GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()
-ffiintfloatfloatintfloatfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynintfloatfloatintfloatfloatIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynintfixedfixedfixedfixedIOV :: FunPtr (GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-ffiintfixedfixedfixedfixedIOV :: MonadIO m => FunPtr (GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
-ffiintfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4 = liftIO (dynintfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumIOPtrV :: FunPtr (GLuint -> GLenum -> IO (Ptr ())) -> GLuint -> GLenum -> IO (Ptr ())
-
-ffiuintenumIOPtrV :: MonadIO m => FunPtr (GLuint -> GLenum -> IO (Ptr ())) -> GLuint -> GLenum -> m (Ptr ())
-ffiuintenumIOPtrV fp v0 v1 = liftIO (dynuintenumIOPtrV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintintptrsizeiptrbitfieldIOPtrV :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ())) -> GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ())
-
-ffiuintintptrsizeiptrbitfieldIOPtrV :: MonadIO m => FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ())) -> GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr ())
-ffiuintintptrsizeiptrbitfieldIOPtrV fp v0 v1 v2 v3 = liftIO (dynuintintptrsizeiptrbitfieldIOPtrV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintIOPtrV :: FunPtr (GLuint -> IO (Ptr ())) -> GLuint -> IO (Ptr ())
-
-ffiuintIOPtrV :: MonadIO m => FunPtr (GLuint -> IO (Ptr ())) -> GLuint -> m (Ptr ())
-ffiuintIOPtrV fp v0 = liftIO (dynuintIOPtrV fp v0)
-
-foreign import ccall "dynamic" dynuintintbitfieldPtrintPtrenumIOPtrV :: FunPtr (GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr ())) -> GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr ())
-
-ffiuintintbitfieldPtrintPtrenumIOPtrV :: MonadIO m => FunPtr (GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr ())) -> GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> m (Ptr ())
-ffiuintintbitfieldPtrintPtrenumIOPtrV fp v0 v1 v2 v3 v4 = liftIO (dynuintintbitfieldPtrintPtrenumIOPtrV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintuintdoubledoubleintintPtrdoubleIOV :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-ffiuintuintdoubledoubleintintPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
-ffiuintuintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintuintfloatfloatintintPtrfloatIOV :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-ffiuintuintfloatfloatintintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
-ffiuintuintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintuintdoubledoubleintintdoubledoubleintintPtrdoubleIOV :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-ffiuintuintdoubledoubleintintdoubledoubleintintPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
-ffiuintuintdoubledoubleintintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintuintdoubledoubleintintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
-
-foreign import ccall "dynamic" dynuintuintfloatfloatintintfloatfloatintintPtrfloatIOV :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-ffiuintuintfloatfloatintintfloatfloatintintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
-ffiuintuintfloatfloatintintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintuintfloatfloatintintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
-
-foreign import ccall "dynamic" dynenumdoubledoubledoubledoubledoubledoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffienumdoubledoubledoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffienumdoubledoubledoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumdoubledoubledoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynintPtrubyteIOV :: FunPtr (GLint -> Ptr GLubyte -> IO ()) -> GLint -> Ptr GLubyte -> IO ()
-
-ffiintPtrubyteIOV :: MonadIO m => FunPtr (GLint -> Ptr GLubyte -> IO ()) -> GLint -> Ptr GLubyte -> m ()
-ffiintPtrubyteIOV fp v0 v1 = liftIO (dynintPtrubyteIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintPtruintIOV :: FunPtr (GLint -> Ptr GLuint -> IO ()) -> GLint -> Ptr GLuint -> IO ()
-
-ffiintPtruintIOV :: MonadIO m => FunPtr (GLint -> Ptr GLuint -> IO ()) -> GLint -> Ptr GLuint -> m ()
-ffiintPtruintIOV fp v0 v1 = liftIO (dynintPtruintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintPtrushortIOV :: FunPtr (GLint -> Ptr GLushort -> IO ()) -> GLint -> Ptr GLushort -> IO ()
-
-ffiintPtrushortIOV :: MonadIO m => FunPtr (GLint -> Ptr GLushort -> IO ()) -> GLint -> Ptr GLushort -> m ()
-ffiintPtrushortIOV fp v0 v1 = liftIO (dynintPtrushortIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumdoubledoubledoubledoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffienumdoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffienumdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumfloatfloatfloatfloatIOV :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffienumfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffienumfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumdoubledoubledoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffienumdoubledoubledoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffienumdoubledoubledoubleIOV fp v0 v1 v2 v3 = liftIO (dynenumdoubledoubledoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumfloatfloatfloatIOV :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffienumfloatfloatfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffienumfloatfloatfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumfloatfloatfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumbooleanIOV :: FunPtr (GLenum -> GLenum -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLboolean -> IO ()
-
-ffienumenumbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLboolean -> m ()
-ffienumenumbooleanIOV fp v0 v1 v2 = liftIO (dynenumenumbooleanIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumPtrintPtrsizeisizeiIOV :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()) -> GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
-
-ffienumPtrintPtrsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()) -> GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()
-ffienumPtrintPtrsizeisizeiIOV fp v0 v1 v2 v3 = liftIO (dynenumPtrintPtrsizeisizeiIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumPtrVsizeisizeiIOV :: FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()) -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()
-
-ffienumPtrVsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()) -> GLenum -> Ptr () -> GLsizei -> GLsizei -> m ()
-ffienumPtrVsizeisizeiIOV fp v0 v1 v2 v3 = liftIO (dynenumPtrVsizeisizeiIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumPtrVsizeisizeisizeiintIOV :: FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()
-
-ffienumPtrVsizeisizeisizeiintIOV :: MonadIO m => FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> m ()
-ffienumPtrVsizeisizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumPtrVsizeisizeisizeiintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumPtrVsizeisizeiintIOV :: FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> IO ()
-
-ffienumPtrVsizeisizeiintIOV :: MonadIO m => FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> m ()
-ffienumPtrVsizeisizeiintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumPtrVsizeisizeiintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumintptrintptrsizeisizeiIOV :: FunPtr (GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()
-
-ffienumintptrintptrsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> m ()
-ffienumintptrintptrsizeisizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumintptrintptrsizeisizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumPtrsizeienumPtrPtrVsizeiIOV :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ()) -> GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ()
-
-ffienumPtrsizeienumPtrPtrVsizeiIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ()) -> GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> m ()
-ffienumPtrsizeienumPtrPtrVsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumPtrsizeienumPtrPtrVsizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumPtrsizeienumPtrPtrVsizeiPtrintIOV :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> Ptr GLint -> IO ()
-
-ffienumPtrsizeienumPtrPtrVsizeiPtrintIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> Ptr GLint -> m ()
-ffienumPtrsizeienumPtrPtrVsizeiPtrintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumPtrsizeienumPtrPtrVsizeiPtrintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumPtrVsizeisizeiIOV :: FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()
-
-ffienumenumPtrVsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> m ()
-ffienumenumPtrVsizeisizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumPtrVsizeisizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumPtrVsizeisizeisizeiintIOV :: FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()
-
-ffienumenumPtrVsizeisizeisizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> m ()
-ffienumenumPtrVsizeisizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumenumPtrVsizeisizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumenumPtrVsizeisizeiintIOV :: FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> IO ()
-
-ffienumenumPtrVsizeisizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> m ()
-ffienumenumPtrVsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumPtrVsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumintptrintptrsizeisizeiIOV :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()
-
-ffienumenumintptrintptrsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> m ()
-ffienumenumintptrintptrsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumintptrintptrsizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumuintuintPtrintPtrsizeisizeiIOV :: FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
-
-ffienumuintuintPtrintPtrsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()
-ffienumuintuintPtrintPtrsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintuintPtrintPtrsizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynPtrenumPtrintPtrsizeisizeiintIOV :: FunPtr (Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ()) -> Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ()
-
-ffiPtrenumPtrintPtrsizeisizeiintIOV :: MonadIO m => FunPtr (Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ()) -> Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> m ()
-ffiPtrenumPtrintPtrsizeisizeiintIOV fp v0 v1 v2 v3 v4 = liftIO (dynPtrenumPtrintPtrsizeisizeiintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynPtrenumPtrsizeienumPtrPtrVsizeiintIOV :: FunPtr (Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> GLint -> IO ()) -> Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> GLint -> IO ()
-
-ffiPtrenumPtrsizeienumPtrPtrVsizeiintIOV :: MonadIO m => FunPtr (Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> GLint -> IO ()) -> Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> GLint -> m ()
-ffiPtrenumPtrsizeienumPtrPtrVsizeiintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynPtrenumPtrsizeienumPtrPtrVsizeiintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumbyteIOV :: FunPtr (GLenum -> GLbyte -> IO ()) -> GLenum -> GLbyte -> IO ()
-
-ffienumbyteIOV :: MonadIO m => FunPtr (GLenum -> GLbyte -> IO ()) -> GLenum -> GLbyte -> m ()
-ffienumbyteIOV fp v0 v1 = liftIO (dynenumbyteIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumPtrbyteIOV :: FunPtr (GLenum -> Ptr GLbyte -> IO ()) -> GLenum -> Ptr GLbyte -> IO ()
-
-ffienumPtrbyteIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLbyte -> IO ()) -> GLenum -> Ptr GLbyte -> m ()
-ffienumPtrbyteIOV fp v0 v1 = liftIO (dynenumPtrbyteIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumdoubleIOV :: FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> IO ()
-
-ffienumdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> m ()
-ffienumdoubleIOV fp v0 v1 = liftIO (dynenumdoubleIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumhalfNVIOV :: FunPtr (GLenum -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> IO ()
-
-ffienumhalfNVIOV :: MonadIO m => FunPtr (GLenum -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> m ()
-ffienumhalfNVIOV fp v0 v1 = liftIO (dynenumhalfNVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumPtrhalfNVIOV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ()) -> GLenum -> Ptr GLhalfNV -> IO ()
-
-ffienumPtrhalfNVIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLhalfNV -> IO ()) -> GLenum -> Ptr GLhalfNV -> m ()
-ffienumPtrhalfNVIOV fp v0 v1 = liftIO (dynenumPtrhalfNVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumshortIOV :: FunPtr (GLenum -> GLshort -> IO ()) -> GLenum -> GLshort -> IO ()
-
-ffienumshortIOV :: MonadIO m => FunPtr (GLenum -> GLshort -> IO ()) -> GLenum -> GLshort -> m ()
-ffienumshortIOV fp v0 v1 = liftIO (dynenumshortIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumPtrshortIOV :: FunPtr (GLenum -> Ptr GLshort -> IO ()) -> GLenum -> Ptr GLshort -> IO ()
-
-ffienumPtrshortIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLshort -> IO ()) -> GLenum -> Ptr GLshort -> m ()
-ffienumPtrshortIOV fp v0 v1 = liftIO (dynenumPtrshortIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumbytebyteIOV :: FunPtr (GLenum -> GLbyte -> GLbyte -> IO ()) -> GLenum -> GLbyte -> GLbyte -> IO ()
-
-ffienumbytebyteIOV :: MonadIO m => FunPtr (GLenum -> GLbyte -> GLbyte -> IO ()) -> GLenum -> GLbyte -> GLbyte -> m ()
-ffienumbytebyteIOV fp v0 v1 v2 = liftIO (dynenumbytebyteIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumdoubledoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> IO ()
-
-ffienumdoubledoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> m ()
-ffienumdoubledoubleIOV fp v0 v1 v2 = liftIO (dynenumdoubledoubleIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumfloatfloatIOV :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> IO ()
-
-ffienumfloatfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> m ()
-ffienumfloatfloatIOV fp v0 v1 v2 = liftIO (dynenumfloatfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumhalfNVhalfNVIOV :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> GLhalfNV -> IO ()
-
-ffienumhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> GLhalfNV -> m ()
-ffienumhalfNVhalfNVIOV fp v0 v1 v2 = liftIO (dynenumhalfNVhalfNVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumshortshortIOV :: FunPtr (GLenum -> GLshort -> GLshort -> IO ()) -> GLenum -> GLshort -> GLshort -> IO ()
-
-ffienumshortshortIOV :: MonadIO m => FunPtr (GLenum -> GLshort -> GLshort -> IO ()) -> GLenum -> GLshort -> GLshort -> m ()
-ffienumshortshortIOV fp v0 v1 v2 = liftIO (dynenumshortshortIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumfixedfixedIOV :: FunPtr (GLenum -> GLfixed -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> IO ()
-
-ffienumfixedfixedIOV :: MonadIO m => FunPtr (GLenum -> GLfixed -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> m ()
-ffienumfixedfixedIOV fp v0 v1 v2 = liftIO (dynenumfixedfixedIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumbytebytebyteIOV :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ()
-
-ffienumbytebytebyteIOV :: MonadIO m => FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLenum -> GLbyte -> GLbyte -> GLbyte -> m ()
-ffienumbytebytebyteIOV fp v0 v1 v2 v3 = liftIO (dynenumbytebytebyteIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumhalfNVhalfNVhalfNVIOV :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-ffienumhalfNVhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
-ffienumhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 = liftIO (dynenumhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumintintintIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> IO ()
-
-ffienumintintintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> m ()
-ffienumintintintIOV fp v0 v1 v2 v3 = liftIO (dynenumintintintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumshortshortshortIOV :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ()) -> GLenum -> GLshort -> GLshort -> GLshort -> IO ()
-
-ffienumshortshortshortIOV :: MonadIO m => FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ()) -> GLenum -> GLshort -> GLshort -> GLshort -> m ()
-ffienumshortshortshortIOV fp v0 v1 v2 v3 = liftIO (dynenumshortshortshortIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumfixedfixedfixedIOV :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-ffienumfixedfixedfixedIOV :: MonadIO m => FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLfixed -> m ()
-ffienumfixedfixedfixedIOV fp v0 v1 v2 v3 = liftIO (dynenumfixedfixedfixedIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumbytebytebytebyteIOV :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()
-
-ffienumbytebytebytebyteIOV :: MonadIO m => FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
-ffienumbytebytebytebyteIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumbytebytebytebyteIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumhalfNVhalfNVhalfNVhalfNVIOV :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-ffienumhalfNVhalfNVhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
-ffienumhalfNVhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumhalfNVhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumshortshortshortshortIOV :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
-
-ffienumshortshortshortshortIOV :: MonadIO m => FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
-ffienumshortshortshortshortIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumshortshortshortshortIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumfixedfixedfixedfixedIOV :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-ffienumfixedfixedfixedfixedIOV :: MonadIO m => FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
-ffienumfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumintenumsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffienumintenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> Ptr () -> m ()
-ffienumintenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumintenumsizeiPtrVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumenumfloatIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ()) -> GLenum -> GLenum -> GLenum -> GLfloat -> IO ()
-
-ffienumenumenumfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ()) -> GLenum -> GLenum -> GLenum -> GLfloat -> m ()
-ffienumenumenumfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumenumintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLint -> IO ()
-
-ffienumenumenumintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLint -> m ()
-ffienumenumenumintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumenumdoubleIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLdouble -> IO ()) -> GLenum -> GLenum -> GLenum -> GLdouble -> IO ()
-
-ffienumenumenumdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLdouble -> IO ()) -> GLenum -> GLenum -> GLenum -> GLdouble -> m ()
-ffienumenumenumdoubleIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumdoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumintintsizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumenumintintsizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumenumintintsizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumenumintintsizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynenumenumintintsizeisizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumenumintintsizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumenumintintsizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumenumintintsizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynenumenumintintsizeisizeisizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumenumintintsizeisizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumenumintintsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynenumenumintintsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
-
-foreign import ccall "dynamic" dynenumenumintintsizeienumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumenumintintsizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumenumintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumenumintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynenumenumintintintsizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumenumintintintsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumenumintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumenumintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynenumenumintintintintsizeisizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumenumintintintintsizeisizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumenumintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynenumenumintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
-
-foreign import ccall "dynamic" dynuintsizeiptrPtrVenumIOV :: FunPtr (GLuint -> GLsizeiptr -> Ptr () -> GLenum -> IO ()) -> GLuint -> GLsizeiptr -> Ptr () -> GLenum -> IO ()
-
-ffiuintsizeiptrPtrVenumIOV :: MonadIO m => FunPtr (GLuint -> GLsizeiptr -> Ptr () -> GLenum -> IO ()) -> GLuint -> GLsizeiptr -> Ptr () -> GLenum -> m ()
-ffiuintsizeiptrPtrVenumIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiptrPtrVenumIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintptrsizeiptrbooleanIOV :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()) -> GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()
-
-ffiuintintptrsizeiptrbooleanIOV :: MonadIO m => FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()) -> GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> m ()
-ffiuintintptrsizeiptrbooleanIOV fp v0 v1 v2 v3 = liftIO (dynuintintptrsizeiptrbooleanIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintsizeiptrPtrVbitfieldIOV :: FunPtr (GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ()) -> GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ()
-
-ffiuintsizeiptrPtrVbitfieldIOV :: MonadIO m => FunPtr (GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ()) -> GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> m ()
-ffiuintsizeiptrPtrVbitfieldIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiptrPtrVbitfieldIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumenumuintIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> IO ()
-
-ffiuintenumenumuintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> m ()
-ffiuintenumenumuintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumuintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuintsizeiPtrfloatIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-ffiuintuintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
-ffiuintuintsizeiPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintuintsizeiPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumuintintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> IO ()
-
-ffiuintenumuintintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> m ()
-ffiuintenumuintintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumenumuintintIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
-
-ffiuintenumenumuintintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> GLint -> m ()
-ffiuintenumenumuintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumenumuintintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumenumuintintintIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
-
-ffiuintenumenumuintintintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
-ffiuintenumenumuintintintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintenumenumuintintintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintenumuintintenumIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ()
-
-ffiuintenumuintintenumIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> GLenum -> m ()
-ffiuintenumuintintenumIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintintenumIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumuintintintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ()
-
-ffiuintenumuintintintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()
-ffiuintenumuintintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintintintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumuintdoubledoubledoubledoubleIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffiuintenumuintdoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffiuintenumuintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumuintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintenumuintfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiuintenumuintfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiuintenumuintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumuintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintenumuintintintintintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-ffiuintenumuintintintintintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
-ffiuintenumuintintintintintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumuintintintintintIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintenumuintuintuintuintuintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffiuintenumuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffiuintenumuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintenumuintsizeiPtrfloatIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-ffiuintenumuintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
-ffiuintenumuintsizeiPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintsizeiPtrfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumuintsizeiPtrintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()
-
-ffiuintenumuintsizeiPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> m ()
-ffiuintenumuintsizeiPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintsizeiPtrintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumuintsizeiPtruintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
-
-ffiuintenumuintsizeiPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()
-ffiuintenumuintsizeiPtruintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintsizeiPtruintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumenumsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffiuintenumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
-ffiuintenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumsizeisizeiIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-ffiuintenumsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLsizei -> m ()
-ffiuintenumsizeisizeiIOV fp v0 v1 v2 v3 = liftIO (dynuintenumsizeisizeiIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintsizeienumsizeisizeiIOV :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-ffiuintsizeienumsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
-ffiuintsizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintsizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintsizeisizeienumsizeisizeiIOV :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-ffiuintsizeisizeienumsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
-ffiuintsizeisizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintsizeisizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumintPtrcharintPtrcharIOV :: FunPtr (GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ()) -> GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ()
-
-ffienumintPtrcharintPtrcharIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ()) -> GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> m ()
-ffienumintPtrcharintPtrcharIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumintPtrcharintPtrcharIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynsizeiPtrVenumIOuint :: FunPtr (GLsizei -> Ptr () -> GLenum -> IO GLuint) -> GLsizei -> Ptr () -> GLenum -> IO GLuint
-
-ffisizeiPtrVenumIOuint :: MonadIO m => FunPtr (GLsizei -> Ptr () -> GLenum -> IO GLuint) -> GLsizei -> Ptr () -> GLenum -> m GLuint
-ffisizeiPtrVenumIOuint fp v0 v1 v2 = liftIO (dynsizeiPtrVenumIOuint fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynPtrVsizeiPtrcharIOV :: FunPtr (Ptr () -> GLsizei -> Ptr GLchar -> IO ()) -> Ptr () -> GLsizei -> Ptr GLchar -> IO ()
-
-ffiPtrVsizeiPtrcharIOV :: MonadIO m => FunPtr (Ptr () -> GLsizei -> Ptr GLchar -> IO ()) -> Ptr () -> GLsizei -> Ptr GLchar -> m ()
-ffiPtrVsizeiPtrcharIOV fp v0 v1 v2 = liftIO (dynPtrVsizeiPtrcharIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumuintenumIOenum :: FunPtr (GLenum -> GLuint -> GLenum -> IO GLenum) -> GLenum -> GLuint -> GLenum -> IO GLenum
-
-ffienumuintenumIOenum :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> IO GLenum) -> GLenum -> GLuint -> GLenum -> m GLenum
-ffienumuintenumIOenum fp v0 v1 v2 = liftIO (dynenumuintenumIOenum fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintuintenumIOV :: FunPtr (GLuint -> GLuint -> GLenum -> IO ()) -> GLuint -> GLuint -> GLenum -> IO ()
-
-ffiuintuintenumIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> IO ()) -> GLuint -> GLuint -> GLenum -> m ()
-ffiuintuintenumIOV fp v0 v1 v2 = liftIO (dynuintuintenumIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintsizeiPtrubytesizeienumPtrVIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> IO ()
-
-ffiuintsizeiPtrubytesizeienumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> m ()
-ffiuintsizeiPtrubytesizeienumPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintsizeiPtrubytesizeienumPtrVIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintsizeienumPtrVIOV :: FunPtr (GLuint -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> GLenum -> Ptr () -> IO ()
-
-ffiuintsizeienumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> GLenum -> Ptr () -> m ()
-ffiuintsizeienumPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeienumPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumPtrVbitfielduintsizeiuintfloatIOenum :: FunPtr (GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum) -> GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum
-
-ffiuintenumPtrVbitfielduintsizeiuintfloatIOenum :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum) -> GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> m GLenum
-ffiuintenumPtrVbitfielduintsizeiuintfloatIOenum fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumPtrVbitfielduintsizeiuintfloatIOenum fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynenumPtrVbitfielduintfloatPtruintIOenum :: FunPtr (GLenum -> Ptr () -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum) -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum
-
-ffienumPtrVbitfielduintfloatPtruintIOenum :: MonadIO m => FunPtr (GLenum -> Ptr () -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum) -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> m GLenum
-ffienumPtrVbitfielduintfloatPtruintIOenum fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumPtrVbitfielduintfloatPtruintIOenum fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintenumPtrVbitfielduintsizeienumuintfloatIOV :: FunPtr (GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ()
-
-ffiuintenumPtrVbitfielduintsizeienumuintfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> m ()
-ffiuintenumPtrVbitfielduintsizeienumuintfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumPtrVbitfielduintsizeienumuintfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintenumPtrVbitfieldsizeienumPtrVenumuintfloatIOV :: FunPtr (GLuint -> GLenum -> Ptr () -> GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLenum -> GLuint -> GLfloat -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLenum -> GLuint -> GLfloat -> IO ()
-
-ffiuintenumPtrVbitfieldsizeienumPtrVenumuintfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr () -> GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLenum -> GLuint -> GLfloat -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLenum -> GLuint -> GLfloat -> m ()
-ffiuintenumPtrVbitfieldsizeienumPtrVenumuintfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintenumPtrVbitfieldsizeienumPtrVenumuintfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynuintenumsizeiptrPtrVsizeiuintsizeiuintfloatIOenum :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> Ptr () -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum) -> GLuint -> GLenum -> GLsizeiptr -> Ptr () -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum
-
-ffiuintenumsizeiptrPtrVsizeiuintsizeiuintfloatIOenum :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizeiptr -> Ptr () -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum) -> GLuint -> GLenum -> GLsizeiptr -> Ptr () -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> m GLenum
-ffiuintenumsizeiptrPtrVsizeiuintsizeiuintfloatIOenum fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumsizeiptrPtrVsizeiuintsizeiuintfloatIOenum fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynenumintuintIOV :: FunPtr (GLenum -> GLint -> GLuint -> IO ()) -> GLenum -> GLint -> GLuint -> IO ()
-
-ffienumintuintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLuint -> IO ()) -> GLenum -> GLint -> GLuint -> m ()
-ffienumintuintIOV fp v0 v1 v2 = liftIO (dynenumintuintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintenumsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffiuintenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLsizei -> Ptr () -> m ()
-ffiuintenumsizeiPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintenumsizeiPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintsizeisizeisizeiPtrubytesizeienumPtrVIOV :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> IO ()
-
-ffiuintsizeisizeisizeiPtrubytesizeienumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> m ()
-ffiuintsizeisizeisizeiPtrubytesizeienumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintsizeisizeisizeiPtrubytesizeienumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintsizeisizeienumPtrVIOV :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr () -> IO ()
-
-ffiuintsizeisizeienumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr () -> m ()
-ffiuintsizeisizeienumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintsizeisizeienumPtrVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumintPtrfloatIOV :: FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()
-
-ffienumenumintPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> m ()
-ffienumenumintPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumenumintPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintsizeisizeifloatPtrfloatPtrfloatPtrfloatPtrfloatIOboolean :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean) -> GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean
-
-ffiuintsizeisizeifloatPtrfloatPtrfloatPtrfloatPtrfloatIOboolean :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean) -> GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m GLboolean
-ffiuintsizeisizeifloatPtrfloatPtrfloatPtrfloatPtrfloatIOboolean fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintsizeisizeifloatPtrfloatPtrfloatPtrfloatPtrfloatIOboolean fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynPtrintIOint :: FunPtr (Ptr GLint -> IO GLint) -> Ptr GLint -> IO GLint
-
-ffiPtrintIOint :: MonadIO m => FunPtr (Ptr GLint -> IO GLint) -> Ptr GLint -> m GLint
-ffiPtrintIOint fp v0 = liftIO (dynPtrintIOint fp v0)
-
-foreign import ccall "dynamic" dynuintuint64EXTuintuintenumenumuintenumuintenumuintenumuintIOV :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ()
-
-ffiuintuint64EXTuintuintenumenumuintenumuintenumuintenumuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> m ()
-ffiuintuint64EXTuintuintenumenumuintenumuintenumuintenumuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO (dynuintuint64EXTuintuintenumenumuintenumuintenumuintenumuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12)
-
-foreign import ccall "dynamic" dynuintuint64EXTuintuintenumenumuintuintenumuintuintIOV :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ()
-
-ffiuintuint64EXTuintuintenumenumuintuintenumuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> m ()
-ffiuintuint64EXTuintuintenumenumuintuintenumuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintuint64EXTuintuintenumenumuintuintenumuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
-
-foreign import ccall "dynamic" dynfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffifloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffifloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynsizeiPtruintPtrfloatIOV :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()) -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()
-
-ffisizeiPtruintPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()) -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()
-ffisizeiPtruintPtrfloatIOV fp v0 v1 v2 = liftIO (dynsizeiPtruintPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynsizeiPtruintPtrclampfIOV :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ()) -> GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ()
-
-ffisizeiPtruintPtrclampfIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ()) -> GLsizei -> Ptr GLuint -> Ptr GLclampf -> m ()
-ffisizeiPtruintPtrclampfIOV fp v0 v1 v2 = liftIO (dynsizeiPtruintPtrclampfIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynsizeiPtruintPtrfixedIOV :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ()) -> GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ()
-
-ffisizeiPtruintPtrfixedIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ()) -> GLsizei -> Ptr GLuint -> Ptr GLfixed -> m ()
-ffisizeiPtruintPtrfixedIOV fp v0 v1 v2 = liftIO (dynsizeiPtruintPtrfixedIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintenumPtrVsizeiIOV :: FunPtr (GLuint -> GLenum -> Ptr () -> GLsizei -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLsizei -> IO ()
-
-ffiuintenumPtrVsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr () -> GLsizei -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLsizei -> m ()
-ffiuintenumPtrVsizeiIOV fp v0 v1 v2 v3 = liftIO (dynuintenumPtrVsizeiIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumPtrVintIOV :: FunPtr (GLuint -> GLenum -> Ptr () -> GLint -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLint -> IO ()
-
-ffiuintenumPtrVintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr () -> GLint -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLint -> m ()
-ffiuintenumPtrVintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumPtrVintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumuintuintsizeiPtrintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ()
-
-ffienumuintuintsizeiPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> m ()
-ffienumuintuintsizeiPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintuintsizeiPtrintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumuintuintsizeiPtruintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
-
-ffienumuintuintsizeiPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> m ()
-ffienumuintuintsizeiPtruintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintuintsizeiPtruintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumuintuintsizeiPtrfloatIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-ffienumuintuintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
-ffienumuintuintsizeiPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintuintsizeiPtrfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumuintdoubledoubledoubledoubleIOV :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffienumuintdoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffienumuintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumuintfloatfloatfloatfloatIOV :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffienumuintfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffienumuintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumuintintintintintIOV :: FunPtr (GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-ffienumuintintintintintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
-ffienumuintintintintintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintintintintintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumuintsizeiPtrintIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()
-
-ffienumuintsizeiPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> m ()
-ffienumuintsizeiPtrintIOV fp v0 v1 v2 v3 = liftIO (dynenumuintsizeiPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintsizeiPtrubytedoubledoubledoubledoubleIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffiuintsizeiPtrubytedoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffiuintsizeiPtrubytedoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintsizeiPtrubytedoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintsizeiPtrubytefloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiuintsizeiPtrubytefloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiuintsizeiPtrubytefloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintsizeiPtrubytefloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumuintsizeiPtrdoubleIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()
-
-ffienumuintsizeiPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> m ()
-ffienumuintsizeiPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynenumuintsizeiPtrdoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintenumintPtrfloatIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ()
-
-ffiuintintenumintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> m ()
-ffiuintintenumintPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintenumintPtrfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffienumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
-ffienumenumsizeiPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumenumsizeiPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintdoubleIOV :: FunPtr (GLuint -> GLint -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> IO ()
-
-ffiuintintdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> m ()
-ffiuintintdoubleIOV fp v0 v1 v2 = liftIO (dynuintintdoubleIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintfloatIOV :: FunPtr (GLuint -> GLint -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> IO ()
-
-ffiuintintfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> m ()
-ffiuintintfloatIOV fp v0 v1 v2 = liftIO (dynuintintfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintintIOV :: FunPtr (GLuint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> IO ()
-
-ffiuintintintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> m ()
-ffiuintintintIOV fp v0 v1 v2 = liftIO (dynuintintintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintint64EXTIOV :: FunPtr (GLuint -> GLint -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> IO ()
-
-ffiuintintint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> m ()
-ffiuintintint64EXTIOV fp v0 v1 v2 = liftIO (dynuintintint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintsizeiPtrint64EXTIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ()
-
-ffiuintintsizeiPtrint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
-ffiuintintsizeiPtrint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtrint64EXTIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintuintIOV :: FunPtr (GLuint -> GLint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> IO ()
-
-ffiuintintuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> m ()
-ffiuintintuintIOV fp v0 v1 v2 = liftIO (dynuintintuintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintuint64EXTIOV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> IO ()
-
-ffiuintintuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> m ()
-ffiuintintuint64EXTIOV fp v0 v1 v2 = liftIO (dynuintintuint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintsizeiPtruint64EXTIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()
-
-ffiuintintsizeiPtruint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
-ffiuintintsizeiPtruint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtruint64EXTIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintdoubledoubleIOV :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> GLdouble -> IO ()
-
-ffiuintintdoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> GLdouble -> m ()
-ffiuintintdoubledoubleIOV fp v0 v1 v2 v3 = liftIO (dynuintintdoubledoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintfloatfloatIOV :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> GLfloat -> IO ()
-
-ffiuintintfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> GLfloat -> m ()
-ffiuintintfloatfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintintfloatfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintintintIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> IO ()
-
-ffiuintintintintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> m ()
-ffiuintintintintIOV fp v0 v1 v2 v3 = liftIO (dynuintintintintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintint64EXTint64EXTIOV :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ()
-
-ffiuintintint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> GLint64EXT -> m ()
-ffiuintintint64EXTint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynuintintint64EXTint64EXTIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintuintuintIOV :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> GLuint -> IO ()
-
-ffiuintintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> GLuint -> m ()
-ffiuintintuintuintIOV fp v0 v1 v2 v3 = liftIO (dynuintintuintuintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintuint64EXTuint64EXTIOV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-ffiuintintuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> m ()
-ffiuintintuint64EXTuint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynuintintuint64EXTuint64EXTIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintdoubledoubledoubleIOV :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffiuintintdoubledoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffiuintintdoubledoubledoubleIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintdoubledoubledoubleIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintintfloatfloatfloatIOV :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiuintintfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiuintintfloatfloatfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintfloatfloatfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintintintintintIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-ffiuintintintintintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
-ffiuintintintintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintintintintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintintint64EXTint64EXTint64EXTIOV :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-ffiuintintint64EXTint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
-ffiuintintint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintintuintuintuintIOV :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffiuintintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()
-ffiuintintuintuintuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintuintuintuintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintintuint64EXTuint64EXTuint64EXTIOV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-ffiuintintuint64EXTuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
-ffiuintintuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintintdoubledoubledoubledoubleIOV :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffiuintintdoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffiuintintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintintfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiuintintfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiuintintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintintintintintintIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-ffiuintintintintintintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()
-ffiuintintintintintintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintintintintintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintintint64EXTint64EXTint64EXTint64EXTIOV :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-ffiuintintint64EXTint64EXTint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
-ffiuintintint64EXTint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintint64EXTint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintintuintuintuintuintIOV :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffiuintintuintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffiuintintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintintuint64EXTuint64EXTuint64EXTuint64EXTIOV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-ffiuintintuint64EXTuint64EXTuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
-ffiuintintuint64EXTuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintuint64EXTuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintintuint64IOV :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ()) -> GLuint -> GLint -> GLuint64 -> IO ()
-
-ffiuintintuint64IOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint64 -> IO ()) -> GLuint -> GLint -> GLuint64 -> m ()
-ffiuintintuint64IOV fp v0 v1 v2 = liftIO (dynuintintuint64IOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintsizeiPtruint64IOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ()
-
-ffiuintintsizeiPtruint64IOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
-ffiuintintsizeiPtruint64IOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtruint64IOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintsizeibooleanPtrdoubleIOV :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()) -> GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()
-
-ffiuintintsizeibooleanPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()) -> GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
-ffiuintintsizeibooleanPtrdoubleIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintsizeibooleanPtrdoubleIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintintsizeibooleanPtrfloatIOV :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
-
-ffiuintintsizeibooleanPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
-ffiuintintsizeibooleanPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintsizeibooleanPtrfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynPtrfixedPtrintIObitfield :: FunPtr (Ptr GLfixed -> Ptr GLint -> IO GLbitfield) -> Ptr GLfixed -> Ptr GLint -> IO GLbitfield
-
-ffiPtrfixedPtrintIObitfield :: MonadIO m => FunPtr (Ptr GLfixed -> Ptr GLint -> IO GLbitfield) -> Ptr GLfixed -> Ptr GLint -> m GLbitfield
-ffiPtrfixedPtrintIObitfield fp v0 v1 = liftIO (dynPtrfixedPtrintIObitfield fp v0 v1)
-
-foreign import ccall "dynamic" dynenumuintenumuintIOV :: FunPtr (GLenum -> GLuint -> GLenum -> GLuint -> IO ()) -> GLenum -> GLuint -> GLenum -> GLuint -> IO ()
-
-ffienumuintenumuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> GLuint -> IO ()) -> GLenum -> GLuint -> GLenum -> GLuint -> m ()
-ffienumuintenumuintIOV fp v0 v1 v2 v3 = liftIO (dynenumuintenumuintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynshortshortIOV :: FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> IO ()
-
-ffishortshortIOV :: MonadIO m => FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> m ()
-ffishortshortIOV fp v0 v1 = liftIO (dynshortshortIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintbooleanIOV :: FunPtr (GLuint -> GLboolean -> IO ()) -> GLuint -> GLboolean -> IO ()
-
-ffiuintbooleanIOV :: MonadIO m => FunPtr (GLuint -> GLboolean -> IO ()) -> GLuint -> GLboolean -> m ()
-ffiuintbooleanIOV fp v0 v1 = liftIO (dynuintbooleanIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintintsizeisizeienumenumPtrVIOV :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiintintsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffiintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynintintsizeisizeienumenumsizeiPtrVIOV :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffiintintsizeisizeienumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
-ffiintintsizeisizeienumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynintintsizeisizeienumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynPtrdoublePtrdoubleIOV :: FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ()) -> Ptr GLdouble -> Ptr GLdouble -> IO ()
-
-ffiPtrdoublePtrdoubleIOV :: MonadIO m => FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ()) -> Ptr GLdouble -> Ptr GLdouble -> m ()
-ffiPtrdoublePtrdoubleIOV fp v0 v1 = liftIO (dynPtrdoublePtrdoubleIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynPtrintPtrintIOV :: FunPtr (Ptr GLint -> Ptr GLint -> IO ()) -> Ptr GLint -> Ptr GLint -> IO ()
-
-ffiPtrintPtrintIOV :: MonadIO m => FunPtr (Ptr GLint -> Ptr GLint -> IO ()) -> Ptr GLint -> Ptr GLint -> m ()
-ffiPtrintPtrintIOV fp v0 v1 = liftIO (dynPtrintPtrintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynPtrshortPtrshortIOV :: FunPtr (Ptr GLshort -> Ptr GLshort -> IO ()) -> Ptr GLshort -> Ptr GLshort -> IO ()
-
-ffiPtrshortPtrshortIOV :: MonadIO m => FunPtr (Ptr GLshort -> Ptr GLshort -> IO ()) -> Ptr GLshort -> Ptr GLshort -> m ()
-ffiPtrshortPtrshortIOV fp v0 v1 = liftIO (dynPtrshortPtrshortIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynPtrfixedPtrfixedIOV :: FunPtr (Ptr GLfixed -> Ptr GLfixed -> IO ()) -> Ptr GLfixed -> Ptr GLfixed -> IO ()
-
-ffiPtrfixedPtrfixedIOV :: MonadIO m => FunPtr (Ptr GLfixed -> Ptr GLfixed -> IO ()) -> Ptr GLfixed -> Ptr GLfixed -> m ()
-ffiPtrfixedPtrfixedIOV fp v0 v1 = liftIO (dynPtrfixedPtrfixedIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynenumIOint :: FunPtr (GLenum -> IO GLint) -> GLenum -> IO GLint
-
-ffienumIOint :: MonadIO m => FunPtr (GLenum -> IO GLint) -> GLenum -> m GLint
-ffienumIOint fp v0 = liftIO (dynenumIOint fp v0)
-
-foreign import ccall "dynamic" dynenumenumsizeisizeiIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-ffienumenumsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
-ffienumenumsizeisizeiIOV fp v0 v1 v2 v3 = liftIO (dynenumenumsizeisizeiIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumsizeienumsizeisizeiIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-ffienumsizeienumsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
-ffienumsizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumsizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumsizeisizeienumsizeisizeiIOV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-ffienumsizeisizeienumsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
-ffienumsizeisizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumsizeisizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumsizeiPtrPtrVIOV :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr ()) -> IO ()) -> GLenum -> GLsizei -> Ptr (Ptr ()) -> IO ()
-
-ffienumsizeiPtrPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr (Ptr ()) -> IO ()) -> GLenum -> GLsizei -> Ptr (Ptr ()) -> m ()
-ffienumsizeiPtrPtrVIOV fp v0 v1 v2 = liftIO (dynenumsizeiPtrPtrVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiuintfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiuintfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynPtruintPtrfloatPtrfloatIOV :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-ffiPtruintPtrfloatPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> m ()
-ffiPtruintPtrfloatPtrfloatIOV fp v0 v1 v2 = liftIO (dynPtruintPtrfloatPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
-
-foreign import ccall "dynamic" dynPtruintPtrfloatPtrfloatPtrfloatIOV :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-ffiPtruintPtrfloatPtrfloatPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
-ffiPtruintPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynPtruintPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintubyteubyteubyteubytefloatfloatfloatIOV :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiuintubyteubyteubyteubytefloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiuintubyteubyteubyteubytefloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintubyteubyteubyteubytefloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynPtruintPtrubytePtrfloatIOV :: FunPtr (Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ()
-
-ffiPtruintPtrubytePtrfloatIOV :: MonadIO m => FunPtr (Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> m ()
-ffiPtruintPtrubytePtrfloatIOV fp v0 v1 v2 = liftIO (dynPtruintPtrubytePtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO (dynuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12)
-
-foreign import ccall "dynamic" dynPtruintPtrfloatPtrfloatPtrfloatPtrfloatIOV :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-ffiPtruintPtrfloatPtrfloatPtrfloatPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
-ffiPtruintPtrfloatPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynPtruintPtrfloatPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiuintfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiuintfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintfloatfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiuintfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiuintfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiuintfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiuintfloatfloatfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintfloatfloatfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynPtruintPtrfloatIOV :: FunPtr (Ptr GLuint -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> IO ()
-
-ffiPtruintPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLuint -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> m ()
-ffiPtruintPtrfloatIOV fp v0 v1 = liftIO (dynPtruintPtrfloatIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynfloatbooleanIOV :: FunPtr (GLfloat -> GLboolean -> IO ()) -> GLfloat -> GLboolean -> IO ()
-
-ffifloatbooleanIOV :: MonadIO m => FunPtr (GLfloat -> GLboolean -> IO ()) -> GLfloat -> GLboolean -> m ()
-ffifloatbooleanIOV fp v0 v1 = liftIO (dynfloatbooleanIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynfixedbooleanIOV :: FunPtr (GLfixed -> GLboolean -> IO ()) -> GLfixed -> GLboolean -> IO ()
-
-ffifixedbooleanIOV :: MonadIO m => FunPtr (GLfixed -> GLboolean -> IO ()) -> GLfixed -> GLboolean -> m ()
-ffifixedbooleanIOV fp v0 v1 = liftIO (dynfixedbooleanIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynclampxbooleanIOV :: FunPtr (GLclampx -> GLboolean -> IO ()) -> GLclampx -> GLboolean -> IO ()
-
-fficlampxbooleanIOV :: MonadIO m => FunPtr (GLclampx -> GLboolean -> IO ()) -> GLclampx -> GLboolean -> m ()
-fficlampxbooleanIOV fp v0 v1 = liftIO (dynclampxbooleanIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynclampfbooleanIOV :: FunPtr (GLclampf -> GLboolean -> IO ()) -> GLclampf -> GLboolean -> IO ()
-
-fficlampfbooleanIOV :: MonadIO m => FunPtr (GLclampf -> GLboolean -> IO ()) -> GLclampf -> GLboolean -> m ()
-fficlampfbooleanIOV fp v0 v1 = liftIO (dynclampfbooleanIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintbitfieldIOV :: FunPtr (GLuint -> GLbitfield -> IO ()) -> GLuint -> GLbitfield -> IO ()
-
-ffiuintbitfieldIOV :: MonadIO m => FunPtr (GLuint -> GLbitfield -> IO ()) -> GLuint -> GLbitfield -> m ()
-ffiuintbitfieldIOV fp v0 v1 = liftIO (dynuintbitfieldIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintintsizeisizeiIOV :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffiintintsizeisizeiIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
-ffiintintsizeisizeiIOV fp v0 v1 v2 v3 = liftIO (dynintintsizeisizeiIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintsizeiPtrintIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLsizei -> Ptr GLint -> IO ()
-
-ffiuintsizeiPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLsizei -> Ptr GLint -> m ()
-ffiuintsizeiPtrintIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintintintsizeisizeiIOV :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-ffiuintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
-ffiuintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintintsizeisizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintPtrintIOV :: FunPtr (GLuint -> Ptr GLint -> IO ()) -> GLuint -> Ptr GLint -> IO ()
-
-ffiuintPtrintIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLint -> IO ()) -> GLuint -> Ptr GLint -> m ()
-ffiuintPtrintIOV fp v0 v1 = liftIO (dynuintPtrintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintbooleanuintintPtruintIOV :: FunPtr (GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ()) -> GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ()
-
-ffiuintbooleanuintintPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ()) -> GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> m ()
-ffiuintbooleanuintintPtruintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintbooleanuintintPtruintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumenumsizeisizeienumenumPtrVPtrVIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> Ptr () -> IO ()
-
-ffienumenumsizeisizeienumenumPtrVPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> Ptr () -> m ()
-ffienumenumsizeisizeienumenumPtrVPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumenumsizeisizeienumenumPtrVPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintenumPtrVIOV :: FunPtr (GLuint -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> Ptr () -> IO ()
-
-ffiuintenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> Ptr () -> m ()
-ffiuintenumPtrVIOV fp v0 v1 v2 = liftIO (dynuintenumPtrVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynsizeiPtruintenumPtrVsizeiIOV :: FunPtr (GLsizei -> Ptr GLuint -> GLenum -> Ptr () -> GLsizei -> IO ()) -> GLsizei -> Ptr GLuint -> GLenum -> Ptr () -> GLsizei -> IO ()
-
-ffisizeiPtruintenumPtrVsizeiIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLuint -> GLenum -> Ptr () -> GLsizei -> IO ()) -> GLsizei -> Ptr GLuint -> GLenum -> Ptr () -> GLsizei -> m ()
-ffisizeiPtruintenumPtrVsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynsizeiPtruintenumPtrVsizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynenumuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffienumuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> m ()
-ffienumuintuintuintIOV fp v0 v1 v2 v3 = liftIO (dynenumuintuintuintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffienumuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffienumuintuintuintuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintuintuintuintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynhandleARBsizeiPtrPtrcharARBPtrintIOV :: FunPtr (GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ()) -> GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ()
-
-ffihandleARBsizeiPtrPtrcharARBPtrintIOV :: MonadIO m => FunPtr (GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ()) -> GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> m ()
-ffihandleARBsizeiPtrPtrcharARBPtrintIOV fp v0 v1 v2 v3 = liftIO (dynhandleARBsizeiPtrPtrcharARBPtrintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuintuintuintbitfieldIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ()
-
-ffiuintuintuintuintbitfieldIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> m ()
-ffiuintuintuintuintbitfieldIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintuintuintbitfieldIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynsizeiuintIOV :: FunPtr (GLsizei -> GLuint -> IO ()) -> GLsizei -> GLuint -> IO ()
-
-ffisizeiuintIOV :: MonadIO m => FunPtr (GLsizei -> GLuint -> IO ()) -> GLsizei -> GLuint -> m ()
-ffisizeiuintIOV fp v0 v1 = liftIO (dynsizeiuintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynsizeienumPtrVuintenumuintenumPtrfloatIOV :: FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-ffisizeienumPtrVuintenumuintenumPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()
-ffisizeienumPtrVuintenumuintenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynsizeienumPtrVuintenumuintenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintenumuintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> IO ()
-
-ffiuintenumuintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> m ()
-ffiuintenumuintIOV fp v0 v1 v2 = liftIO (dynuintenumuintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumenumintuintIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ()) -> GLenum -> GLenum -> GLint -> GLuint -> IO ()
-
-ffienumenumintuintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ()) -> GLenum -> GLenum -> GLint -> GLuint -> m ()
-ffienumenumintuintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumintuintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumenumenumIOV :: FunPtr (GLenum -> GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> GLenum -> IO ()
-
-ffienumenumenumIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> GLenum -> m ()
-ffienumenumenumIOV fp v0 v1 v2 = liftIO (dynenumenumenumIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynsizeienumPtrVuintintuintenumPtrfloatIOV :: FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-ffisizeienumPtrVuintintuintenumPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
-ffisizeienumPtrVuintintuintenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynsizeienumPtrVuintintuintenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynsizeienumPtrVuintenumuintenumenumPtrfloatIOV :: FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-ffisizeienumPtrVuintenumuintenumenumPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
-ffisizeienumPtrVuintenumuintenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynsizeienumPtrVuintenumuintenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintenumuintenumIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> IO ()) -> GLuint -> GLenum -> GLuint -> GLenum -> IO ()
-
-ffiuintenumuintenumIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> IO ()) -> GLuint -> GLenum -> GLuint -> GLenum -> m ()
-ffiuintenumuintenumIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintenumIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynsizeienumPtrVuintintuintenumenumPtrfloatIOV :: FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-ffisizeienumPtrVuintintuintenumenumPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
-ffisizeienumPtrVuintintuintenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynsizeienumPtrVuintintuintenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintintuintenumIOV :: FunPtr (GLuint -> GLint -> GLuint -> GLenum -> IO ()) -> GLuint -> GLint -> GLuint -> GLenum -> IO ()
-
-ffiuintintuintenumIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint -> GLenum -> IO ()) -> GLuint -> GLint -> GLuint -> GLenum -> m ()
-ffiuintintuintenumIOV fp v0 v1 v2 v3 = liftIO (dynuintintuintenumIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuintenumenumenumenumIOV :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
-
-ffiuintuintenumenumenumenumIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
-ffiuintuintenumenumenumenumIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintuintenumenumenumenumIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumuintintptrsizeiptrIOV :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-ffienumenumuintintptrsizeiptrIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
-ffienumenumuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynbytebyteIOV :: FunPtr (GLbyte -> GLbyte -> IO ()) -> GLbyte -> GLbyte -> IO ()
-
-ffibytebyteIOV :: MonadIO m => FunPtr (GLbyte -> GLbyte -> IO ()) -> GLbyte -> GLbyte -> m ()
-ffibytebyteIOV fp v0 v1 = liftIO (dynbytebyteIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
-
-foreign import ccall "dynamic" dynPtrfloatPtrfloatPtrfloatPtrfloatIOV :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-ffiPtrfloatPtrfloatPtrfloatPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
-ffiPtrfloatPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynPtrfloatPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynfloatfloatubyteubyteubyteubytefloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffifloatfloatubyteubyteubyteubytefloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffifloatfloatubyteubyteubyteubytefloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynfloatfloatubyteubyteubyteubytefloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynPtrfloatPtrubytePtrfloatIOV :: FunPtr (Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ()
-
-ffiPtrfloatPtrubytePtrfloatIOV :: MonadIO m => FunPtr (Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> m ()
-ffiPtrfloatPtrubytePtrfloatIOV fp v0 v1 v2 = liftIO (dynPtrfloatPtrubytePtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynhalfNVhalfNVIOV :: FunPtr (GLhalfNV -> GLhalfNV -> IO ()) -> GLhalfNV -> GLhalfNV -> IO ()
-
-ffihalfNVhalfNVIOV :: MonadIO m => FunPtr (GLhalfNV -> GLhalfNV -> IO ()) -> GLhalfNV -> GLhalfNV -> m ()
-ffihalfNVhalfNVIOV fp v0 v1 = liftIO (dynhalfNVhalfNVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 = liftIO (dynfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14)
-
-foreign import ccall "dynamic" dynenumenumdoubleIOV :: FunPtr (GLenum -> GLenum -> GLdouble -> IO ()) -> GLenum -> GLenum -> GLdouble -> IO ()
-
-ffienumenumdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLdouble -> IO ()) -> GLenum -> GLenum -> GLdouble -> m ()
-ffienumenumdoubleIOV fp v0 v1 v2 = liftIO (dynenumenumdoubleIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynenumintintsizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumintintsizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumintintsizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumintintsizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynenumintintsizeisizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumintintsizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumintintsizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumintintsizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynenumsizeienumsizeisizeibooleanIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffienumsizeienumsizeisizeibooleanIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffienumsizeienumsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumsizeienumsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumsizeisizeiintsizeisizeibooleanIOV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffienumsizeisizeiintsizeisizeibooleanIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffienumsizeisizeiintsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumsizeisizeiintsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumintintsizeisizeisizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumintintsizeisizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumintintsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumintintsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynenumintenumsizeisizeisizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumintenumsizeisizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumintenumsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumintenumsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynenumsizeienumsizeisizeisizeibooleanIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffienumsizeienumsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffienumsizeienumsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumsizeienumsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumsizeisizeiintsizeisizeisizeibooleanIOV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffienumsizeisizeiintsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffienumsizeisizeiintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumsizeisizeiintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynenumintenumsizeisizeisizeisizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumintenumsizeisizeisizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumintenumsizeisizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynenumintenumsizeisizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
-
-foreign import ccall "dynamic" dynenumintintintintsizeisizeisizeibooleanIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffienumintintintintsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffienumintintintintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumintintintintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynenumsizeienumsizeiIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()
-
-ffienumsizeienumsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
-ffienumsizeienumsizeiIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeienumsizeiIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynenumsizeienumsizeisizeisizeiIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-ffienumsizeienumsizeisizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
-ffienumsizeienumsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumsizeienumsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynenumenumsizeisizeisizeisizeibitfieldIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()
-
-ffienumenumsizeisizeisizeisizeibitfieldIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> m ()
-ffienumenumsizeisizeisizeisizeibitfieldIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumenumsizeisizeisizeisizeibitfieldIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumintintsizeienumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumintintsizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynenumintintintsizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumintintintsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynenumintintintintintsizeisizeisizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffienumintintintintintsizeisizeisizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffienumintintintintintsizeisizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO (dynenumintintintintintsizeisizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12)
-
-foreign import ccall "dynamic" dynuintenumuintintptrsizeiptrIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-ffiuintenumuintintptrsizeiptrIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
-ffiuintenumuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumenumuintintptrsizeiptrIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-ffiuintenumenumuintintptrsizeiptrIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
-ffiuintenumenumuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintenumenumuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintenumintintsizeiintenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintenumintintsizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintenumintintsizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumintintsizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintenumintintsizeisizeiintenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintenumintintsizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintenumintintsizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintenumintintsizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynuintenumsizeisizeiintsizeisizeibooleanIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffiuintenumsizeisizeiintsizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffiuintenumsizeisizeiintsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumsizeisizeiintsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintenumsizeiintsizeisizeibooleanIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffiuintenumsizeiintsizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffiuintenumsizeiintsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumsizeiintsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintenumintintsizeisizeisizeiintenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintenumintintsizeisizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintenumintintsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintenumintintsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
-
-foreign import ccall "dynamic" dynuintenumsizeisizeiintsizeisizeisizeibooleanIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffiuintenumsizeisizeiintsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffiuintenumsizeisizeiintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumsizeisizeiintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintenumsizeiintsizeisizeisizeibooleanIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffiuintenumsizeiintsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffiuintenumsizeiintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumsizeiintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintintintintintsizeisizeisizeibooleanIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffiuintintintintintsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffiuintintintintintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintintintintintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintenumenumfloatIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLfloat -> IO ()) -> GLuint -> GLenum -> GLenum -> GLfloat -> IO ()
-
-ffiuintenumenumfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLfloat -> IO ()) -> GLuint -> GLenum -> GLenum -> GLfloat -> m ()
-ffiuintenumenumfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumenumintIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLint -> IO ()
-
-ffiuintenumenumintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLint -> m ()
-ffiuintenumenumintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintsizeienumsizeiIOV :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> IO ()
-
-ffiuintsizeienumsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> m ()
-ffiuintsizeienumsizeiIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeienumsizeiIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumsizeienumsizeiIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()
-
-ffiuintenumsizeienumsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
-ffiuintenumsizeienumsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumsizeienumsizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumsizeienumsizeisizeiIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-ffiuintenumsizeienumsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
-ffiuintenumsizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintenumsizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintsizeienumsizeisizeibooleanIOV :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffiuintsizeienumsizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffiuintsizeienumsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintsizeienumsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintenumsizeienumsizeisizeibooleanIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffiuintenumsizeienumsizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffiuintenumsizeienumsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumsizeienumsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintsizeienumsizeisizeisizeiIOV :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-ffiuintsizeienumsizeisizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
-ffiuintsizeienumsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintsizeienumsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintenumsizeienumsizeisizeisizeiIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-ffiuintenumsizeienumsizeisizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
-ffiuintenumsizeienumsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumsizeienumsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintsizeienumsizeisizeisizeibooleanIOV :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffiuintsizeienumsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffiuintsizeienumsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintsizeienumsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintenumsizeienumsizeisizeisizeibooleanIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-ffiuintenumsizeienumsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
-ffiuintenumsizeienumsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumsizeienumsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintenumenumsizeisizeisizeisizeibitfieldIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()) -> GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()
-
-ffiuintenumenumsizeisizeisizeisizeibitfieldIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()) -> GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> m ()
-ffiuintenumenumsizeisizeisizeisizeibitfieldIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumenumsizeisizeisizeisizeibitfieldIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintintintsizeienumenumPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintintintsizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintenumintintsizeienumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintenumintintsizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintenumintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintintintintsizeisizeienumenumPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintintintintsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
-
-foreign import ccall "dynamic" dynuintenumintintintsizeisizeienumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintenumintintintsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintenumintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintenumintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
-
-foreign import ccall "dynamic" dynuintenumintintintintsizeisizeisizeienumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
-
-ffiuintenumintintintintsizeisizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
-ffiuintenumintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynuintenumintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
-
-foreign import ccall "dynamic" dynuintenumuintenumuintuintuintuintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffiuintenumuintenumuintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffiuintenumuintenumuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumuintenumuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynenumuintenumenumIOV :: FunPtr (GLenum -> GLuint -> GLenum -> GLenum -> IO ()) -> GLenum -> GLuint -> GLenum -> GLenum -> IO ()
-
-ffienumuintenumenumIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> GLenum -> IO ()) -> GLenum -> GLuint -> GLenum -> GLenum -> m ()
-ffienumuintenumenumIOV fp v0 v1 v2 v3 = liftIO (dynenumuintenumenumIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynsizeiPtrintenumIOV :: FunPtr (GLsizei -> Ptr GLint -> GLenum -> IO ()) -> GLsizei -> Ptr GLint -> GLenum -> IO ()
-
-ffisizeiPtrintenumIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLint -> GLenum -> IO ()) -> GLsizei -> Ptr GLint -> GLenum -> m ()
-ffisizeiPtrintenumIOV fp v0 v1 v2 = liftIO (dynsizeiPtrintenumIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintuintuintintptrsizeiptrIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-ffiuintuintuintintptrsizeiptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()
-ffiuintuintuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynsizeiPtrintsizeiPtrintenumIOV :: FunPtr (GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ()) -> GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ()
-
-ffisizeiPtrintsizeiPtrintenumIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ()) -> GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> m ()
-ffisizeiPtrintsizeiPtrintenumIOV fp v0 v1 v2 v3 v4 = liftIO (dynsizeiPtrintsizeiPtrintenumIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintsizeiPtrPtrcharenumIOV :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()) -> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()
-
-ffiuintsizeiPtrPtrcharenumIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()) -> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
-ffiuintsizeiPtrPtrcharenumIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrPtrcharenumIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintsizeiPtrintenumIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ()) -> GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ()
-
-ffiuintsizeiPtrintenumIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ()) -> GLuint -> GLsizei -> Ptr GLint -> GLenum -> m ()
-ffiuintsizeiPtrintenumIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrintenumIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynintdoubleIOV :: FunPtr (GLint -> GLdouble -> IO ()) -> GLint -> GLdouble -> IO ()
-
-ffiintdoubleIOV :: MonadIO m => FunPtr (GLint -> GLdouble -> IO ()) -> GLint -> GLdouble -> m ()
-ffiintdoubleIOV fp v0 v1 = liftIO (dynintdoubleIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintsizeiPtrdoubleIOV :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLint -> GLsizei -> Ptr GLdouble -> IO ()
-
-ffiintsizeiPtrdoubleIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLint -> GLsizei -> Ptr GLdouble -> m ()
-ffiintsizeiPtrdoubleIOV fp v0 v1 v2 = liftIO (dynintsizeiPtrdoubleIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintfloatIOV :: FunPtr (GLint -> GLfloat -> IO ()) -> GLint -> GLfloat -> IO ()
-
-ffiintfloatIOV :: MonadIO m => FunPtr (GLint -> GLfloat -> IO ()) -> GLint -> GLfloat -> m ()
-ffiintfloatIOV fp v0 v1 = liftIO (dynintfloatIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintsizeiPtrfloatIOV :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLint -> GLsizei -> Ptr GLfloat -> IO ()
-
-ffiintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLint -> GLsizei -> Ptr GLfloat -> m ()
-ffiintsizeiPtrfloatIOV fp v0 v1 v2 = liftIO (dynintsizeiPtrfloatIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintint64EXTIOV :: FunPtr (GLint -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> IO ()
-
-ffiintint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> m ()
-ffiintint64EXTIOV fp v0 v1 = liftIO (dynintint64EXTIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintsizeiPtrint64EXTIOV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ()) -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ()
-
-ffiintsizeiPtrint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ()) -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
-ffiintsizeiPtrint64EXTIOV fp v0 v1 v2 = liftIO (dynintsizeiPtrint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintsizeiPtrintIOV :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ()) -> GLint -> GLsizei -> Ptr GLint -> IO ()
-
-ffiintsizeiPtrintIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ()) -> GLint -> GLsizei -> Ptr GLint -> m ()
-ffiintsizeiPtrintIOV fp v0 v1 v2 = liftIO (dynintsizeiPtrintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintuintIOV :: FunPtr (GLint -> GLuint -> IO ()) -> GLint -> GLuint -> IO ()
-
-ffiintuintIOV :: MonadIO m => FunPtr (GLint -> GLuint -> IO ()) -> GLint -> GLuint -> m ()
-ffiintuintIOV fp v0 v1 = liftIO (dynintuintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintuint64EXTIOV :: FunPtr (GLint -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> IO ()
-
-ffiintuint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> m ()
-ffiintuint64EXTIOV fp v0 v1 = liftIO (dynintuint64EXTIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintsizeiPtruint64EXTIOV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()) -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()
-
-ffiintsizeiPtruint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()) -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
-ffiintsizeiPtruint64EXTIOV fp v0 v1 v2 = liftIO (dynintsizeiPtruint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintsizeiPtruintIOV :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ()) -> GLint -> GLsizei -> Ptr GLuint -> IO ()
-
-ffiintsizeiPtruintIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ()) -> GLint -> GLsizei -> Ptr GLuint -> m ()
-ffiintsizeiPtruintIOV fp v0 v1 v2 = liftIO (dynintsizeiPtruintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintint64EXTint64EXTIOV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> GLint64EXT -> IO ()
-
-ffiintint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLint64EXT -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> GLint64EXT -> m ()
-ffiintint64EXTint64EXTIOV fp v0 v1 v2 = liftIO (dynintint64EXTint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintuintuintIOV :: FunPtr (GLint -> GLuint -> GLuint -> IO ()) -> GLint -> GLuint -> GLuint -> IO ()
-
-ffiintuintuintIOV :: MonadIO m => FunPtr (GLint -> GLuint -> GLuint -> IO ()) -> GLint -> GLuint -> GLuint -> m ()
-ffiintuintuintIOV fp v0 v1 v2 = liftIO (dynintuintuintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintuint64EXTuint64EXTIOV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-ffiintuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> GLuint64EXT -> m ()
-ffiintuint64EXTuint64EXTIOV fp v0 v1 v2 = liftIO (dynintuint64EXTuint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintdoubledoubledoubleIOV :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffiintdoubledoubledoubleIOV :: MonadIO m => FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffiintdoubledoubledoubleIOV fp v0 v1 v2 v3 = liftIO (dynintdoubledoubledoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynintfloatfloatfloatIOV :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiintfloatfloatfloatIOV :: MonadIO m => FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiintfloatfloatfloatIOV fp v0 v1 v2 v3 = liftIO (dynintfloatfloatfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynintint64EXTint64EXTint64EXTIOV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-ffiintint64EXTint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
-ffiintint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynintint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynintuintuintuintIOV :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffiintuintuintuintIOV :: MonadIO m => FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLint -> GLuint -> GLuint -> GLuint -> m ()
-ffiintuintuintuintIOV fp v0 v1 v2 v3 = liftIO (dynintuintuintuintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynintuint64EXTuint64EXTuint64EXTIOV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-ffiintuint64EXTuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
-ffiintuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynintuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynintdoubledoubledoubledoubleIOV :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffiintdoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffiintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 = liftIO (dynintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynintfloatfloatfloatfloatIOV :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiintfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynintint64EXTint64EXTint64EXTint64EXTIOV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-ffiintint64EXTint64EXTint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
-ffiintint64EXTint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4 = liftIO (dynintint64EXTint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynintuintuintuintuintIOV :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffiintuintuintuintuintIOV :: MonadIO m => FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffiintuintuintuintuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynintuintuintuintuintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynintuint64EXTuint64EXTuint64EXTuint64EXTIOV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-ffiintuint64EXTuint64EXTuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
-ffiintuint64EXTuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4 = liftIO (dynintuint64EXTuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynintuint64IOV :: FunPtr (GLint -> GLuint64 -> IO ()) -> GLint -> GLuint64 -> IO ()
-
-ffiintuint64IOV :: MonadIO m => FunPtr (GLint -> GLuint64 -> IO ()) -> GLint -> GLuint64 -> m ()
-ffiintuint64IOV fp v0 v1 = liftIO (dynintuint64IOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintsizeiPtruint64IOV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ()) -> GLint -> GLsizei -> Ptr GLuint64 -> IO ()
-
-ffiintsizeiPtruint64IOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ()) -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
-ffiintsizeiPtruint64IOV fp v0 v1 v2 = liftIO (dynintsizeiPtruint64IOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynintsizeibooleanPtrdoubleIOV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()) -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()
-
-ffiintsizeibooleanPtrdoubleIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()) -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
-ffiintsizeibooleanPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynintsizeibooleanPtrdoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynintsizeibooleanPtrfloatIOV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()) -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
-
-ffiintsizeibooleanPtrfloatIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()) -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
-ffiintsizeibooleanPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynintsizeibooleanPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuintsizeiPtrVenumIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr () -> GLenum -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr () -> GLenum -> IO ()
-
-ffiuintuintsizeiPtrVenumIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr () -> GLenum -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr () -> GLenum -> m ()
-ffiuintuintsizeiPtrVenumIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintsizeiPtrVenumIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintbitfielduintIOV :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ()) -> GLuint -> GLbitfield -> GLuint -> IO ()
-
-ffiuintbitfielduintIOV :: MonadIO m => FunPtr (GLuint -> GLbitfield -> GLuint -> IO ()) -> GLuint -> GLbitfield -> GLuint -> m ()
-ffiuintbitfielduintIOV fp v0 v1 v2 = liftIO (dynuintbitfielduintIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynvdpauSurfaceNVenumsizeiPtrsizeiPtrintIOV :: FunPtr (GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()) -> GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
-
-ffivdpauSurfaceNVenumsizeiPtrsizeiPtrintIOV :: MonadIO m => FunPtr (GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()) -> GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()
-ffivdpauSurfaceNVenumsizeiPtrsizeiPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynvdpauSurfaceNVenumsizeiPtrsizeiPtrintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynPtrVPtrVIOV :: FunPtr (Ptr () -> Ptr () -> IO ()) -> Ptr () -> Ptr () -> IO ()
-
-ffiPtrVPtrVIOV :: MonadIO m => FunPtr (Ptr () -> Ptr () -> IO ()) -> Ptr () -> Ptr () -> m ()
-ffiPtrVPtrVIOV fp v0 v1 = liftIO (dynPtrVPtrVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynvdpauSurfaceNVIOboolean :: FunPtr (GLvdpauSurfaceNV -> IO GLboolean) -> GLvdpauSurfaceNV -> IO GLboolean
-
-ffivdpauSurfaceNVIOboolean :: MonadIO m => FunPtr (GLvdpauSurfaceNV -> IO GLboolean) -> GLvdpauSurfaceNV -> m GLboolean
-ffivdpauSurfaceNVIOboolean fp v0 = liftIO (dynvdpauSurfaceNVIOboolean fp v0)
-
-foreign import ccall "dynamic" dynsizeiPtrvdpauSurfaceNVIOV :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ()) -> GLsizei -> Ptr GLvdpauSurfaceNV -> IO ()
-
-ffisizeiPtrvdpauSurfaceNVIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ()) -> GLsizei -> Ptr GLvdpauSurfaceNV -> m ()
-ffisizeiPtrvdpauSurfaceNVIOV fp v0 v1 = liftIO (dynsizeiPtrvdpauSurfaceNVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynPtrVenumsizeiPtruintIOvdpauSurfaceNV :: FunPtr (Ptr () -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV) -> Ptr () -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV
-
-ffiPtrVenumsizeiPtruintIOvdpauSurfaceNV :: MonadIO m => FunPtr (Ptr () -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV) -> Ptr () -> GLenum -> GLsizei -> Ptr GLuint -> m GLvdpauSurfaceNV
-ffiPtrVenumsizeiPtruintIOvdpauSurfaceNV fp v0 v1 v2 v3 = liftIO (dynPtrVenumsizeiPtruintIOvdpauSurfaceNV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynvdpauSurfaceNVenumIOV :: FunPtr (GLvdpauSurfaceNV -> GLenum -> IO ()) -> GLvdpauSurfaceNV -> GLenum -> IO ()
-
-ffivdpauSurfaceNVenumIOV :: MonadIO m => FunPtr (GLvdpauSurfaceNV -> GLenum -> IO ()) -> GLvdpauSurfaceNV -> GLenum -> m ()
-ffivdpauSurfaceNVenumIOV fp v0 v1 = liftIO (dynvdpauSurfaceNVenumIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynvdpauSurfaceNVIOV :: FunPtr (GLvdpauSurfaceNV -> IO ()) -> GLvdpauSurfaceNV -> IO ()
-
-ffivdpauSurfaceNVIOV :: MonadIO m => FunPtr (GLvdpauSurfaceNV -> IO ()) -> GLvdpauSurfaceNV -> m ()
-ffivdpauSurfaceNVIOV fp v0 = liftIO (dynvdpauSurfaceNVIOV fp v0)
-
-foreign import ccall "dynamic" dynuintenumsizeiuintuintIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()
-
-ffiuintenumsizeiuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> m ()
-ffiuintenumsizeiuintuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumsizeiuintuintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumuintPtrVIOV :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr () -> IO ()
-
-ffiuintenumuintPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr () -> m ()
-ffiuintenumuintPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintPtrVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintPtrbyteIOV :: FunPtr (GLuint -> Ptr GLbyte -> IO ()) -> GLuint -> Ptr GLbyte -> IO ()
-
-ffiuintPtrbyteIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLbyte -> IO ()) -> GLuint -> Ptr GLbyte -> m ()
-ffiuintPtrbyteIOV fp v0 v1 = liftIO (dynuintPtrbyteIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintPtrdoubleIOV :: FunPtr (GLuint -> Ptr GLdouble -> IO ()) -> GLuint -> Ptr GLdouble -> IO ()
-
-ffiuintPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLdouble -> IO ()) -> GLuint -> Ptr GLdouble -> m ()
-ffiuintPtrdoubleIOV fp v0 v1 = liftIO (dynuintPtrdoubleIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintPtrshortIOV :: FunPtr (GLuint -> Ptr GLshort -> IO ()) -> GLuint -> Ptr GLshort -> IO ()
-
-ffiuintPtrshortIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLshort -> IO ()) -> GLuint -> Ptr GLshort -> m ()
-ffiuintPtrshortIOV fp v0 v1 = liftIO (dynuintPtrshortIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintPtrushortIOV :: FunPtr (GLuint -> Ptr GLushort -> IO ()) -> GLuint -> Ptr GLushort -> IO ()
-
-ffiuintPtrushortIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLushort -> IO ()) -> GLuint -> Ptr GLushort -> m ()
-ffiuintPtrushortIOV fp v0 v1 = liftIO (dynuintPtrushortIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintuintintenumbooleanuintIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()) -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()
-
-ffiuintuintintenumbooleanuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()) -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()
-ffiuintuintintenumbooleanuintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintuintintenumbooleanuintIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintuintintenumuintIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ()
-
-ffiuintuintintenumuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()
-ffiuintuintintenumuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintintenumuintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintuintuintintptrsizeiIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()) -> GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()
-
-ffiuintuintuintintptrsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()) -> GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()
-ffiuintuintuintintptrsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintuintintptrsizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintuintintenumsizeiintptrIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
-
-ffiuintuintintenumsizeiintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
-ffiuintuintintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintuintintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintuintsizeiintptrIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLsizei -> GLintptr -> IO ()
-
-ffiuintuintsizeiintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLsizei -> GLintptr -> m ()
-ffiuintuintsizeiintptrIOV fp v0 v1 v2 v3 = liftIO (dynuintuintsizeiintptrIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuintenumsizeiintptrIOV :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ()
-
-ffiuintuintenumsizeiintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> m ()
-ffiuintuintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintenumsizeiintptrIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintuintenumintenumsizeiintptrIOV :: FunPtr (GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
-
-ffiuintuintenumintenumsizeiintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
-ffiuintuintenumintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintenumintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintuintuintintenumsizeiintptrIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
-
-ffiuintuintuintintenumsizeiintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
-ffiuintuintuintintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintuintintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintuintuintintenumbooleansizeiintptrIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ()
-
-ffiuintuintuintintenumbooleansizeiintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> m ()
-ffiuintuintuintintenumbooleansizeiintptrIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintuintuintintenumbooleansizeiintptrIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
-
-foreign import ccall "dynamic" dynuintuintsizeiPtruintPtrintptrPtrsizeiIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()
-
-ffiuintuintsizeiPtruintPtrintptrPtrsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()
-ffiuintuintsizeiPtruintPtrintptrPtrsizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintuintsizeiPtruintPtrintptrPtrsizeiIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintdoubleIOV :: FunPtr (GLuint -> GLdouble -> IO ()) -> GLuint -> GLdouble -> IO ()
-
-ffiuintdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLdouble -> IO ()) -> GLuint -> GLdouble -> m ()
-ffiuintdoubleIOV fp v0 v1 = liftIO (dynuintdoubleIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintfloatIOV :: FunPtr (GLuint -> GLfloat -> IO ()) -> GLuint -> GLfloat -> IO ()
-
-ffiuintfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> IO ()) -> GLuint -> GLfloat -> m ()
-ffiuintfloatIOV fp v0 v1 = liftIO (dynuintfloatIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuinthalfNVIOV :: FunPtr (GLuint -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> IO ()
-
-ffiuinthalfNVIOV :: MonadIO m => FunPtr (GLuint -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> m ()
-ffiuinthalfNVIOV fp v0 v1 = liftIO (dynuinthalfNVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintPtrhalfNVIOV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ()) -> GLuint -> Ptr GLhalfNV -> IO ()
-
-ffiuintPtrhalfNVIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLhalfNV -> IO ()) -> GLuint -> Ptr GLhalfNV -> m ()
-ffiuintPtrhalfNVIOV fp v0 v1 = liftIO (dynuintPtrhalfNVIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintshortIOV :: FunPtr (GLuint -> GLshort -> IO ()) -> GLuint -> GLshort -> IO ()
-
-ffiuintshortIOV :: MonadIO m => FunPtr (GLuint -> GLshort -> IO ()) -> GLuint -> GLshort -> m ()
-ffiuintshortIOV fp v0 v1 = liftIO (dynuintshortIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuinthalfNVhalfNVIOV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> GLhalfNV -> IO ()
-
-ffiuinthalfNVhalfNVIOV :: MonadIO m => FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> GLhalfNV -> m ()
-ffiuinthalfNVhalfNVIOV fp v0 v1 v2 = liftIO (dynuinthalfNVhalfNVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintshortshortIOV :: FunPtr (GLuint -> GLshort -> GLshort -> IO ()) -> GLuint -> GLshort -> GLshort -> IO ()
-
-ffiuintshortshortIOV :: MonadIO m => FunPtr (GLuint -> GLshort -> GLshort -> IO ()) -> GLuint -> GLshort -> GLshort -> m ()
-ffiuintshortshortIOV fp v0 v1 v2 = liftIO (dynuintshortshortIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintdoubledoubledoubleIOV :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffiuintdoubledoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffiuintdoubledoubledoubleIOV fp v0 v1 v2 v3 = liftIO (dynuintdoubledoubledoubleIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuinthalfNVhalfNVhalfNVIOV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-ffiuinthalfNVhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
-ffiuinthalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 = liftIO (dynuinthalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintshortshortshortIOV :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ()) -> GLuint -> GLshort -> GLshort -> GLshort -> IO ()
-
-ffiuintshortshortshortIOV :: MonadIO m => FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ()) -> GLuint -> GLshort -> GLshort -> GLshort -> m ()
-ffiuintshortshortshortIOV fp v0 v1 v2 v3 = liftIO (dynuintshortshortshortIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintubyteubyteubyteubyteIOV :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()) -> GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()
-
-ffiuintubyteubyteubyteubyteIOV :: MonadIO m => FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()) -> GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()
-ffiuintubyteubyteubyteubyteIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintubyteubyteubyteubyteIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintdoubledoubledoubledoubleIOV :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-ffiuintdoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
-ffiuintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-ffiuintfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
-ffiuintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuinthalfNVhalfNVhalfNVhalfNVIOV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-ffiuinthalfNVhalfNVhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
-ffiuinthalfNVhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuinthalfNVhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintshortshortshortshortIOV :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
-
-ffiuintshortshortshortshortIOV :: MonadIO m => FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
-ffiuintshortshortshortshortIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintshortshortshortshortIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintintenumbooleansizeiuintuintIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ()
-
-ffiuintintenumbooleansizeiuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> m ()
-ffiuintintenumbooleansizeiuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintintenumbooleansizeiuintuintIOV fp v0 v1 v2 v3 v4 v5 v6)
-
-foreign import ccall "dynamic" dynuintintenumbooleanuintIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()
-
-ffiuintintenumbooleanuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()
-ffiuintintenumbooleanuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintenumbooleanuintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintintenumbooleansizeiIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ()
-
-ffiuintintenumbooleansizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> m ()
-ffiuintintenumbooleansizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintenumbooleansizeiIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintuintuintuintuintIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-ffiuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
-ffiuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintuintuintuintIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintintenumuintIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLint -> GLenum -> GLuint -> IO ()
-
-ffiuintintenumuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLint -> GLenum -> GLuint -> m ()
-ffiuintintenumuintIOV fp v0 v1 v2 v3 = liftIO (dynuintintenumuintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintenumsizeiIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ()) -> GLuint -> GLint -> GLenum -> GLsizei -> IO ()
-
-ffiuintintenumsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ()) -> GLuint -> GLint -> GLenum -> GLsizei -> m ()
-ffiuintintenumsizeiIOV fp v0 v1 v2 v3 = liftIO (dynuintintenumsizeiIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintenumsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()
-
-ffiuintintenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLsizei -> Ptr () -> m ()
-ffiuintintenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintenumsizeiPtrVIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintint64EXTIOV :: FunPtr (GLuint -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> IO ()
-
-ffiuintint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> m ()
-ffiuintint64EXTIOV fp v0 v1 = liftIO (dynuintint64EXTIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintPtrint64EXTIOV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ()) -> GLuint -> Ptr GLint64EXT -> IO ()
-
-ffiuintPtrint64EXTIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLint64EXT -> IO ()) -> GLuint -> Ptr GLint64EXT -> m ()
-ffiuintPtrint64EXTIOV fp v0 v1 = liftIO (dynuintPtrint64EXTIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintuint64EXTIOV :: FunPtr (GLuint -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> IO ()
-
-ffiuintuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> m ()
-ffiuintuint64EXTIOV fp v0 v1 = liftIO (dynuintuint64EXTIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintPtruint64EXTIOV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ()) -> GLuint -> Ptr GLuint64EXT -> IO ()
-
-ffiuintPtruint64EXTIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLuint64EXT -> IO ()) -> GLuint -> Ptr GLuint64EXT -> m ()
-ffiuintPtruint64EXTIOV fp v0 v1 = liftIO (dynuintPtruint64EXTIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynuintint64EXTint64EXTIOV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> GLint64EXT -> IO ()
-
-ffiuintint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> GLint64EXT -> m ()
-ffiuintint64EXTint64EXTIOV fp v0 v1 v2 = liftIO (dynuintint64EXTint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintuint64EXTuint64EXTIOV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-ffiuintuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> GLuint64EXT -> m ()
-ffiuintuint64EXTuint64EXTIOV fp v0 v1 v2 = liftIO (dynuintuint64EXTuint64EXTIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintint64EXTint64EXTint64EXTIOV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-ffiuintint64EXTint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
-ffiuintint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynuintint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintuint64EXTuint64EXTuint64EXTIOV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-ffiuintuint64EXTuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
-ffiuintuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynuintuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintint64EXTint64EXTint64EXTint64EXTIOV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-ffiuintint64EXTint64EXTint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
-ffiuintint64EXTint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintint64EXTint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintuint64EXTuint64EXTuint64EXTuint64EXTIOV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-ffiuintuint64EXTuint64EXTuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
-ffiuintuint64EXTuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuint64EXTuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4)
-
-foreign import ccall "dynamic" dynuintenumbooleanuintIOV :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ()) -> GLuint -> GLenum -> GLboolean -> GLuint -> IO ()
-
-ffiuintenumbooleanuintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ()) -> GLuint -> GLenum -> GLboolean -> GLuint -> m ()
-ffiuintenumbooleanuintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumbooleanuintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintenumbooleanPtruintIOV :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ()
-
-ffiuintenumbooleanPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()
-ffiuintenumbooleanPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumbooleanPtruintIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynuintintenumbooleansizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ()
-
-ffiuintintenumbooleansizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr () -> m ()
-ffiuintintenumbooleansizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintenumbooleansizeiPtrVIOV fp v0 v1 v2 v3 v4 v5)
-
-foreign import ccall "dynamic" dynuintsizeiPtrhalfNVIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ()) -> GLuint -> GLsizei -> Ptr GLhalfNV -> IO ()
-
-ffiuintsizeiPtrhalfNVIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ()) -> GLuint -> GLsizei -> Ptr GLhalfNV -> m ()
-ffiuintsizeiPtrhalfNVIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrhalfNVIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintsizeiPtrshortIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ()) -> GLuint -> GLsizei -> Ptr GLshort -> IO ()
-
-ffiuintsizeiPtrshortIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ()) -> GLuint -> GLsizei -> Ptr GLshort -> m ()
-ffiuintsizeiPtrshortIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrshortIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintsizeiPtrubyteIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> IO ()
-
-ffiuintsizeiPtrubyteIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> m ()
-ffiuintsizeiPtrubyteIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrubyteIOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintPtruintPtruint64EXTIOenum :: FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum) -> GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum
-
-ffiuintPtruintPtruint64EXTIOenum :: MonadIO m => FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum) -> GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> m GLenum
-ffiuintPtruintPtruint64EXTIOenum fp v0 v1 v2 = liftIO (dynuintPtruintPtruint64EXTIOenum fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynsyncbitfielduint64IOV :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()) -> GLsync -> GLbitfield -> GLuint64 -> IO ()
-
-ffisyncbitfielduint64IOV :: MonadIO m => FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()) -> GLsync -> GLbitfield -> GLuint64 -> m ()
-ffisyncbitfielduint64IOV fp v0 v1 v2 = liftIO (dynsyncbitfielduint64IOV fp v0 v1 v2)
-
-foreign import ccall "dynamic" dynuintsizeiPtruintPtrfloatIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()
-
-ffiuintsizeiPtruintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()
-ffiuintsizeiPtruintPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtruintPtrfloatIOV fp v0 v1 v2 v3)
-
-foreign import ccall "dynamic" dynintPtrbyteIOV :: FunPtr (GLint -> Ptr GLbyte -> IO ()) -> GLint -> Ptr GLbyte -> IO ()
-
-ffiintPtrbyteIOV :: MonadIO m => FunPtr (GLint -> Ptr GLbyte -> IO ()) -> GLint -> Ptr GLbyte -> m ()
-ffiintPtrbyteIOV fp v0 v1 = liftIO (dynintPtrbyteIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintPtrdoubleIOV :: FunPtr (GLint -> Ptr GLdouble -> IO ()) -> GLint -> Ptr GLdouble -> IO ()
-
-ffiintPtrdoubleIOV :: MonadIO m => FunPtr (GLint -> Ptr GLdouble -> IO ()) -> GLint -> Ptr GLdouble -> m ()
-ffiintPtrdoubleIOV fp v0 v1 = liftIO (dynintPtrdoubleIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintPtrfloatIOV :: FunPtr (GLint -> Ptr GLfloat -> IO ()) -> GLint -> Ptr GLfloat -> IO ()
-
-ffiintPtrfloatIOV :: MonadIO m => FunPtr (GLint -> Ptr GLfloat -> IO ()) -> GLint -> Ptr GLfloat -> m ()
-ffiintPtrfloatIOV fp v0 v1 = liftIO (dynintPtrfloatIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintPtrintIOV :: FunPtr (GLint -> Ptr GLint -> IO ()) -> GLint -> Ptr GLint -> IO ()
-
-ffiintPtrintIOV :: MonadIO m => FunPtr (GLint -> Ptr GLint -> IO ()) -> GLint -> Ptr GLint -> m ()
-ffiintPtrintIOV fp v0 v1 = liftIO (dynintPtrintIOV fp v0 v1)
-
-foreign import ccall "dynamic" dynintPtrshortIOV :: FunPtr (GLint -> Ptr GLshort -> IO ()) -> GLint -> Ptr GLshort -> IO ()
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
+module Graphics.GL.Internal.FFI (
+  -- * Invokers
+    ffienumfloatIOV
+  , ffienumfixedIOV
+  , ffiuintIOV
+  , ffiuintuintIOV
+  , ffienumIOV
+  , ffiuintPtrcharIOV
+  , ffienumuintuintuintuintuintIOV
+  , ffienumuintuintuintuintuintuintuintuintIOV
+  , ffienumuintuintuintuintuintuintuintuintuintuintuintIOV
+  , ffienumclampfIOV
+  , ffisizeiPtruintPtrbooleanIOboolean
+  , ffiintIOV
+  , ffienumintenumsizeiuintuintIOV
+  , ffihandleARBhandleARBIOV
+  , ffiuintenumIOV
+  , ffiIOV
+  , ffienumuintIOV
+  , ffienumuintuintIOV
+  , ffiuintuintPtrcharIOV
+  , ffihandleARBuintPtrcharARBIOV
+  , ffienumuintuintintptrIOV
+  , ffienumuintuintintptrsizeiptrIOV
+  , ffienumuintsizeiPtruintIOV
+  , ffienumuintsizeiPtruintPtrintptrPtrsizeiptrIOV
+  , ffiuintuintuintPtrcharIOV
+  , ffiuintuintintbooleanintenumenumIOV
+  , ffiuintuintintbooleanintenumintIOV
+  , ffiuintsizeiPtruintIOV
+  , ffienumenumIOuint
+  , ffienumenumuintIOV
+  , ffienumIOuint
+  , ffienumenumenumIOuint
+  , ffiuintuintintptrsizeiIOV
+  , ffiuintsizeiPtruintPtrintptrPtrsizeiIOV
+  , ffiuintuintenumintptrARBIOV
+  , ffiuintuintenumenumuintIOV
+  , ffibytebytebyteIOV
+  , ffiPtrbyteIOV
+  , ffidoubledoubledoubleIOV
+  , ffiPtrdoubleIOV
+  , ffifloatfloatfloatIOV
+  , ffiPtrfloatIOV
+  , ffiintintintIOV
+  , ffiPtrintIOV
+  , ffishortshortshortIOV
+  , ffiPtrshortIOV
+  , ffienumsizeiPtrVIOV
+  , ffisizeisizeifloatfloatfloatfloatPtrubyteIOV
+  , ffisizeisizeifixedfixedfixedfixedPtrubyteIOV
+  , ffifloatfloatfloatfloatIOV
+  , ffifixedfixedfixedfixedIOV
+  , ffienumenumIOV
+  , ffiuintenumenumIOV
+  , ffienumenumenumenumIOV
+  , ffiuintenumenumenumenumIOV
+  , ffienumintIOV
+  , ffiintintintintintintintintbitfieldenumIOV
+  , ffiuintuintintintintintintintintintbitfieldenumIOV
+  , ffienumuintuint64EXTsizeiptrIOV
+  , ffienumsizeiptrPtrVenumIOV
+  , ffienumsizeiptrARBPtrVenumIOV
+  , ffienumintptrsizeiptrbooleanIOV
+  , ffienumenumintIOV
+  , ffienumsizeiptrPtrVbitfieldIOV
+  , ffienumintptrsizeiptrPtrVIOV
+  , ffienumintptrARBsizeiptrARBPtrVIOV
+  , ffisizeienumPtrVIOV
+  , ffienumIOenum
+  , ffiuintenumIOenum
+  , ffibitfieldIOV
+  , ffienumenumenumenumPtrVIOV
+  , ffienumenumintptrsizeiptrenumenumPtrVIOV
+  , ffienumintfloatintIOV
+  , ffienumintPtrfloatIOV
+  , ffienumintPtrintIOV
+  , ffienumintPtruintIOV
+  , ffiintintintintIOV
+  , ffiuintuintuintuintIOV
+  , ffidoubleIOV
+  , ffifloatIOV
+  , fficlampfIOV
+  , ffifixedIOV
+  , ffiuintenumenumenumPtrVIOV
+  , ffiuintenumintptrsizeiptrenumenumPtrVIOV
+  , ffiuintenumsizeiptrsizeiptrenumenumPtrVIOV
+  , ffiuintenumfloatintIOV
+  , ffiuintenumintPtrfloatIOV
+  , ffiuintenumintPtrintIOV
+  , ffiuintenumintPtruintIOV
+  , ffiuintintenumenumPtrVIOV
+  , ffiuintintintintintsizeisizeisizeienumenumPtrVIOV
+  , ffisyncbitfielduint64IOenum
+  , ffienumPtrdoubleIOV
+  , ffienumPtrfloatIOV
+  , ffienumPtrfixedIOV
+  , ffifloatfloatfloatfloatfloatfloatIOV
+  , ffiPtrfloatPtrfloatIOV
+  , ffihalfNVhalfNVhalfNVIOV
+  , ffiPtrhalfNVIOV
+  , ffiubyteubyteubyteIOV
+  , ffiPtrubyteIOV
+  , ffiuintuintuintIOV
+  , ffiPtruintIOV
+  , ffiushortushortushortIOV
+  , ffiPtrushortIOV
+  , ffifixedfixedfixedIOV
+  , ffiPtrfixedIOV
+  , ffibytebytebytebyteIOV
+  , ffidoubledoubledoubledoubleIOV
+  , ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV
+  , ffiPtrfloatPtrfloatPtrfloatIOV
+  , ffihalfNVhalfNVhalfNVhalfNVIOV
+  , ffishortshortshortshortIOV
+  , ffiubyteubyteubyteubyteIOV
+  , ffiubyteubyteubyteubytefloatfloatIOV
+  , ffiPtrubytePtrfloatIOV
+  , ffiubyteubyteubyteubytefloatfloatfloatIOV
+  , ffiushortushortushortushortIOV
+  , ffiintenumsizeiIOV
+  , ffienumuintuintuintuintuintuintIOV
+  , ffienumuintuintuintuintuintuintuintuintuintIOV
+  , ffienumuintuintuintuintuintuintuintuintuintuintuintuintIOV
+  , ffibooleanbooleanbooleanbooleanIOV
+  , ffiuintbooleanbooleanbooleanbooleanIOV
+  , ffienumPtruintIOV
+  , ffiintenumsizeiPtrVIOV
+  , ffiintenumsizeisizeiPtrVIOV
+  , ffiintenumintPtrPtrVintIOV
+  , ffiintenumPtrPtrVIOV
+  , ffienumsizeisizeienumenumPtrVIOV
+  , ffienumenumsizeienumenumPtrVIOV
+  , ffienumenumPtrfloatIOV
+  , ffienumenumPtrintIOV
+  , ffienumenumenumenumenumenumIOV
+  , ffienumenumenumenumenumenumenumbooleanbooleanbooleanIOV
+  , ffienumPtrintIOV
+  , ffihandleARBIOV
+  , ffiuintsizeiPtrPtrcharPtrintIOV
+  , ffienumenumintenumsizeiintsizeiPtrVIOV
+  , ffienumenumintenumsizeisizeiintsizeiPtrVIOV
+  , ffienumenumintenumsizeisizeisizeiintsizeiPtrVIOV
+  , ffienumenumintintsizeienumsizeiPtrVIOV
+  , ffienumenumintintintsizeisizeienumsizeiPtrVIOV
+  , ffienumenumintintintintsizeisizeisizeienumsizeiPtrVIOV
+  , ffienumintenumsizeiintsizeiPtrVIOV
+  , ffienumintenumsizeisizeiintsizeiPtrVIOV
+  , ffienumintenumsizeisizeisizeiintsizeiPtrVIOV
+  , ffienumintintsizeienumsizeiPtrVIOV
+  , ffienumintintintsizeisizeienumsizeiPtrVIOV
+  , ffienumintintintintsizeisizeisizeienumsizeiPtrVIOV
+  , ffiuintenumintenumsizeiintsizeiPtrVIOV
+  , ffiuintenumintenumsizeisizeiintsizeiPtrVIOV
+  , ffiuintenumintenumsizeisizeisizeiintsizeiPtrVIOV
+  , ffiuintintintsizeienumsizeiPtrVIOV
+  , ffiuintenumintintsizeienumsizeiPtrVIOV
+  , ffiuintintintintsizeisizeienumsizeiPtrVIOV
+  , ffiuintenumintintintsizeisizeienumsizeiPtrVIOV
+  , ffiuintintintintintsizeisizeisizeienumsizeiPtrVIOV
+  , ffiuintenumintintintintsizeisizeisizeienumsizeiPtrVIOV
+  , ffienumenumsizeisizeienumenumPtrVIOV
+  , ffienumenumfloatIOV
+  , ffienumenumfixedIOV
+  , ffienumenumPtrfixedIOV
+  , ffienumenumintptrintptrsizeiptrIOV
+  , ffienumsizeiintintsizeiIOV
+  , ffienumenumintintsizeiIOV
+  , ffienumenumintintsizeisizeiIOV
+  , ffiuintenumintintintintuintenumintintintintsizeisizeisizeiIOV
+  , ffienumenumintenumintintsizeiintIOV
+  , ffienumenumintenumintintsizeisizeiintIOV
+  , ffienumenumintintintintsizeiIOV
+  , ffienumenumintintintintintsizeisizeiIOV
+  , ffienumenumintintintintintintsizeisizeiIOV
+  , ffiuintuintintptrintptrsizeiptrIOV
+  , ffiintintsizeisizeienumIOV
+  , ffienumintenumintintsizeiintIOV
+  , ffienumintenumintintsizeisizeiintIOV
+  , ffienumintintintintsizeiIOV
+  , ffienumintintintintintsizeisizeiIOV
+  , ffienumintintintintintintsizeisizeiIOV
+  , ffiuintenumintenumintintsizeiintIOV
+  , ffiuintenumintenumintintsizeisizeiintIOV
+  , ffiuintuintintsizeiIOV
+  , ffiuintintintintintsizeiIOV
+  , ffiuintenumintintintintsizeiIOV
+  , ffiuintintintintintintsizeisizeiIOV
+  , ffiuintenumintintintintintsizeisizeiIOV
+  , ffiuintintintintintintintsizeisizeiIOV
+  , ffiuintenumintintintintintintsizeisizeiIOV
+  , ffisizeienumPtrVuintenumenumPtrfloatIOV
+  , ffibooleanIOV
+  , ffisizeiPtrfloatIOV
+  , ffisizeiPtruintIOV
+  , ffiuintPtruintIOV
+  , ffiIOuint
+  , ffiIOhandleARB
+  , ffienumsizeiPtruintIOV
+  , ffienumIOhandleARB
+  , ffienumPtrcharIOuint
+  , ffienumsizeiPtrPtrcharIOuint
+  , ffiPtrVPtrVbitfieldIOsync
+  , ffiDEBUGPROCPtrVIOV
+  , ffiDEBUGPROCAMDPtrVIOV
+  , ffiDEBUGPROCARBPtrVIOV
+  , ffiDEBUGPROCKHRPtrVIOV
+  , ffienumenumenumsizeiPtruintbooleanIOV
+  , ffienumenumsizeiPtruintbooleanIOV
+  , ffienumenumuintenumsizeiPtrcharIOV
+  , ffienumenumuintsizeiPtrcharIOV
+  , ffienumdoubledoubleintintdoubledoubleintintdoubledoubleintintPtrdoubleIOV
+  , ffienumfloatfloatintintfloatfloatintintfloatfloatintintPtrfloatIOV
+  , ffiuintsizeiIOV
+  , ffiintPtrcharIOV
+  , ffienumuintPtruintIOV
+  , ffisyncIOV
+  , fficlampdclampdIOV
+  , ffidoubledoubleIOV
+  , ffiuintsizeiPtrfloatIOV
+  , ffiuintsizeiPtrdoubleIOV
+  , ffiuintdoubledoubleIOV
+  , ffiuintfloatfloatIOV
+  , ffifloatfloatIOV
+  , fficlampfclampfIOV
+  , ffifixedfixedIOV
+  , ffienumsizeiPtrfloatIOV
+  , ffienumsizeiPtrenumIOV
+  , ffiuintuintuintuintuintuintIOV
+  , ffiintptrIOV
+  , ffienumintsizeiIOV
+  , ffienumPtrVIOV
+  , ffienumintsizeisizeiIOV
+  , ffienumintsizeisizeiuintIOV
+  , ffisizeiPtrenumIOV
+  , ffiintPtrenumPtrintIOV
+  , ffienumsizeiIOV
+  , ffienumsizeienumPtrVIOV
+  , ffienumsizeienumPtrVintIOV
+  , ffienumenumPtrVIOV
+  , ffienumsizeienumPtrVsizeiIOV
+  , ffienumsizeienumPtrVsizeiuintIOV
+  , ffienumsizeienumPtrVsizeiintIOV
+  , ffienumsizeienumPtrVsizeiintuintIOV
+  , ffisizeisizeienumenumPtrVIOV
+  , ffienumuintuintintsizeiIOV
+  , ffienumuintuintsizeiIOV
+  , ffienumuintuintsizeienumPtrVIOV
+  , ffienumuintuintsizeienumPtrVintIOV
+  , ffifloatfloatfloatfloatfloatIOV
+  , ffiintintintintintIOV
+  , ffishortshortshortshortshortIOV
+  , ffiuintuintfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV
+  , ffifixedfixedfixedfixedfixedIOV
+  , ffienumuintsizeiIOV
+  , ffienumeglImageOESIOV
+  , ffisizeiIOV
+  , ffisizeiPtrVIOV
+  , ffisizeisizeiPtrbooleanIOV
+  , ffiintPtrPtrbooleanintIOV
+  , ffiPtrbooleanIOV
+  , ffienumintintIOV
+  , ffienumintintintintIOV
+  , ffiintintIOV
+  , ffienumuintPtrfloatIOV
+  , ffienumPtrPtrVIOV
+  , ffiPtruintintPtrintIOV
+  , ffiuintenumPtrcharPtrintIOV
+  , ffiuintenumintenumPtrintIOV
+  , ffienumintintintintsizeisizeisizeienumenumPtrVIOV
+  , ffiuintIOboolean
+  , ffisizeienumPtrfloatIOV
+  , ffisizeienumPtrfixedIOV
+  , ffienumbitfieldIOsync
+  , ffiPtruintIOint
+  , ffienumintptrsizeiptrIOV
+  , ffiuintintptrsizeiptrIOV
+  , ffienumintPtrPtrVintIOV
+  , ffihalfNVIOV
+  , ffiuintsizeiPtrenumIOV
+  , ffienumenumenumuintIOV
+  , ffienumuintsizeiPtrfloatIOV
+  , ffienumenumuintintIOV
+  , ffienumenumenumuintintIOV
+  , ffienumenumenumuintintsizeiIOV
+  , ffienumenumenumuintintintIOV
+  , ffienumenumuintintenumIOV
+  , ffienumenumuintintintIOV
+  , ffidoubledoubledoubledoubledoubledoubleIOV
+  , ffifixedfixedfixedfixedfixedfixedIOV
+  , ffisizeiIOuint
+  , ffiuintIOuint
+  , ffienumenumenumuintIOuint
+  , ffiuintuintenumPtrintIOV
+  , ffiuintuintsizeiPtrsizeiPtrintPtrenumPtrcharIOV
+  , ffihandleARBuintsizeiPtrsizeiPtrintPtrenumPtrcharARBIOV
+  , ffiuintenumuintsizeiPtrsizeiPtrcharIOV
+  , ffiuintenumuintenumPtrintIOV
+  , ffiuintuintsizeiPtrsizeiPtrcharIOV
+  , ffiuintsizeiPtruintenumPtrintIOV
+  , ffiuintuintsizeiPtrsizeiPtrsizeiPtrenumPtrcharIOV
+  , ffihandleARBsizeiPtrsizeiPtrhandleARBIOV
+  , ffiuintsizeiPtrsizeiPtruintIOV
+  , ffiuintPtrcharIOint
+  , ffihandleARBPtrcharARBIOint
+  , ffienumuintPtrbooleanIOV
+  , ffienumPtrbooleanIOV
+  , ffienumenumPtrint64IOV
+  , ffienumenumPtruint64EXTIOV
+  , ffienumenumPtrPtrVIOV
+  , ffienumenumenumPtrVIOV
+  , ffienumenumenumenumPtrfloatIOV
+  , ffienumenumenumenumPtrintIOV
+  , ffienumenumenumPtrfloatIOV
+  , ffienumenumenumPtrintIOV
+  , ffienumenumintPtrVIOV
+  , ffienumintPtrVIOV
+  , ffiuintintsizeiPtrVIOV
+  , ffiuintenumintPtrVIOV
+  , ffiuintintintintintsizeisizeisizeisizeiPtrVIOV
+  , ffiuintsizeiPtrenumPtrenumPtruintPtrenumPtrsizeiPtrcharIOuint
+  , ffiuintsizeiPtrenumPtruintPtruintPtrsizeiPtrcharIOuint
+  , ffienumuintPtrdoubleIOV
+  , ffiuintsizeiPtrsizeiPtrcharIOV
+  , ffiPtrintsizeiPtruintIOV
+  , ffiIOenum
+  , ffiuintenumPtrintIOV
+  , ffienumbooleanenumenumPtrVIOV
+  , ffiuintintbooleanintenumIOuint64
+  , ffihandleARBsizeiPtrsizeiPtrcharARBIOV
+  , ffiIOint
+  , ffienumuintPtrint64IOV
+  , ffienumPtrint64IOV
+  , ffienumuintPtrintIOV
+  , ffienumuintPtruint64EXTIOV
+  , ffienumPtruint64EXTIOV
+  , ffienumenumsizeienumsizeiPtrintIOV
+  , ffienumenumenumsizeiPtrint64IOV
+  , ffienumenumenumsizeiPtrintIOV
+  , ffiuintenumPtrbooleanIOV
+  , ffiuintenumPtrfloatIOV
+  , ffienumuintenumPtrfloatIOV
+  , ffienumuintenumPtrintIOV
+  , ffienumuintenumsizeisizeibooleanPtrVIOV
+  , ffienumenumPtrdoubleIOV
+  , ffienumenumenumPtrdoubleIOV
+  , ffienumenumintenumenumPtrVIOV
+  , ffienumenumintenumPtrfloatIOV
+  , ffienumenumintenumPtrintIOV
+  , ffienumenumenumPtruintIOV
+  , ffiuintenumPtrint64IOV
+  , ffiuintenumPtruint64EXTIOV
+  , ffiuintenumPtrPtrVIOV
+  , ffiuintintptrsizeiptrPtrVIOV
+  , ffiuintenumenumPtrintIOV
+  , ffiuintenumuintPtrintIOV
+  , ffiuintenumuintPtruintIOV
+  , ffiuintenumuintPtrdoubleIOV
+  , ffiuintenumuintPtrfloatIOV
+  , ffiuintenumenumPtrVIOV
+  , ffiintPtrcharsizeiPtrintPtrcharIOV
+  , ffiintPtrcharenumPtrintIOV
+  , ffienumuintsizeiPtrsizeiPtrcharIOV
+  , ffihandleARBenumPtrfloatIOV
+  , ffihandleARBenumPtrintIOV
+  , ffiPtrVsizeiPtrsizeiPtrcharIOV
+  , ffiuintenumPtruintIOV
+  , ffiuintPtrubyteIOV
+  , ffiuintPtrfloatIOV
+  , ffiuintsizeisizeiIOfloat
+  , ffibitfielduintsizeisizeiPtrfloatIOV
+  , ffibitfieldsizeienumPtrVuintsizeiPtrfloatIOV
+  , ffienumsizeienumPtrVuintfloatfloatenumPtrfloatIOV
+  , ffiuintuintuintPtrcharuintPtrcharPtruintPtruintPtruintPtruintPtruint64IOV
+  , ffiuintenumsizeiPtruintPtrintIOV
+  , ffiuintuintenumPtrVIOV
+  , ffiuintPtrintPtrintsizeiPtruintIOV
+  , ffiuintuintsizeiPtrVPtruintIOV
+  , ffiPtrcharPtruintIOV
+  , ffiuintuintPtrcharPtruintPtruintPtruintPtruintIOV
+  , ffienumPtrushortIOV
+  , ffienumintPtrfixedIOV
+  , ffienumuintPtrPtrVIOV
+  , ffiuintsizeiPtrsizeiPtrenumPtrVIOV
+  , ffiuintsizeiPtrubytePtrdoubleIOV
+  , ffiuintsizeiPtrubytePtrfloatIOV
+  , ffienumuintenumPtrdoubleIOV
+  , ffiuintenumPtrcharIOuint
+  , ffiuintenumPtrcharIOint
+  , ffiuintenumuintsizeiPtrenumsizeiPtrsizeiPtrfloatIOV
+  , ffiuintenumuintsizeiPtrenumsizeiPtrsizeiPtrintIOV
+  , ffiuintenumPtrubyteIOV
+  , ffiuintuintenumintptrIOV
+  , ffiuintenumPtruint64IOV
+  , ffienumenumenumPtrVPtrVPtrVIOV
+  , ffienumenumPtrintPtrintIOV
+  , ffienumIOPtrubyte
+  , ffienumuintIOPtrubyte
+  , ffisyncenumsizeiPtrsizeiPtrintIOV
+  , ffienumintenumenumPtrVIOV
+  , ffienumintenumPtrfloatIOV
+  , ffienumintenumPtrintIOV
+  , ffienumintenumPtrfixedIOV
+  , ffienumenumPtruintIOV
+  , ffiuintIOuint64
+  , ffiuintintenumenumsizeiPtrVIOV
+  , ffiuintenumintenumenumPtrVIOV
+  , ffiuintintenumPtrfloatIOV
+  , ffiuintenumintenumPtrfloatIOV
+  , ffiuintintenumPtrintIOV
+  , ffiuintenumenumPtruintIOV
+  , ffiuintenumenumPtrfloatIOV
+  , ffiuintuintIOuint64
+  , ffiuintintintintintsizeisizeisizeienumenumsizeiPtrVIOV
+  , ffiuintuintPtrintIOV
+  , ffiuintenumuintPtrint64IOV
+  , ffiuintPtrcharIOuint
+  , ffiuintintIOint
+  , ffiuintsizeiPtrPtrcharPtruintIOV
+  , ffiuintintIOintptr
+  , ffiuintintPtrdoubleIOV
+  , ffiuintintPtrfloatIOV
+  , ffihandleARBintPtrfloatIOV
+  , ffiuintintPtrint64EXTIOV
+  , ffiuintintPtrintIOV
+  , ffihandleARBintPtrintIOV
+  , ffiuintintPtruint64EXTIOV
+  , ffiuintintPtruintIOV
+  , ffiuintuintenumPtrint64IOV
+  , ffiuintuintenumPtrPtrVIOV
+  , ffiuintenumPtrdoubleIOV
+  , ffiuintenumPtrint64EXTIOV
+  , ffiuintuintenumPtrdoubleIOV
+  , ffiuintuintenumPtrfloatIOV
+  , ffienumenumenumsizeiPtrVIOV
+  , ffienumintsizeiPtrVIOV
+  , ffienumbooleanenumenumsizeiPtrVIOV
+  , ffienumenumsizeiPtrdoubleIOV
+  , ffienumenumsizeiPtrfloatIOV
+  , ffienumenumsizeiPtrintIOV
+  , ffienumsizeiPtrushortIOV
+  , ffisizeiPtrubyteIOV
+  , ffienumenumenumsizeiPtrVsizeiPtrVPtrVIOV
+  , ffienumintenumenumsizeiPtrVIOV
+  , ffiuintintsizeiPtrdoubleIOV
+  , ffiuintintsizeiPtrfloatIOV
+  , ffiuintintsizeiPtrintIOV
+  , ffiuintintsizeiPtruintIOV
+  , ffibyteIOV
+  , ffishortIOV
+  , ffiubyteIOV
+  , ffiushortIOV
+  , ffienumsizeienumbooleanIOV
+  , ffienumintptrbitfieldIOsync
+  , ffienumsizeisizeiPtrVIOV
+  , ffisizeiPtrcharIOV
+  , ffisizeiPtrintIOV
+  , ffiuintuintuintfloatIOV
+  , ffiuintsizeiPtrenumintintsizeisizeiIOV
+  , ffienumsizeiPtrenumintintsizeisizeiIOV
+  , ffiuintintIOV
+  , ffiuintintintintintsizeisizeisizeiIOV
+  , ffienumIOboolean
+  , ffienumuintIOboolean
+  , ffiuint64IOboolean
+  , ffiintPtrcharIOboolean
+  , ffiuintuintfloatfloatIOboolean
+  , ffiuintfloatfloatIOboolean
+  , ffisyncIOboolean
+  , ffiuintenumIOboolean
+  , ffienumuintsizeiPtrcharIOV
+  , ffiintushortIOV
+  , ffiuintenumfloatIOV
+  , ffiuintenumintIOV
+  , ffienumuintsizeiPtrubyteIOV
+  , ffiintsizeiIOV
+  , ffiuint64IOV
+  , ffiuint64enumIOV
+  , ffienumdoubledoubleintintPtrdoubleIOV
+  , ffienumfloatfloatintintPtrfloatIOV
+  , ffienumfixedfixedintintfixedIOV
+  , ffienumdoubledoubleintintdoubledoubleintintPtrdoubleIOV
+  , ffienumfloatfloatintintfloatfloatintintPtrfloatIOV
+  , ffienumfixedfixedintintfixedfixedintintfixedIOV
+  , ffienumenumIOPtrV
+  , ffienumintptrsizeiptrbitfieldIOPtrV
+  , ffienumuintenumsizeisizeiintintbooleanPtrVIOV
+  , ffiintdoubledoubleIOV
+  , ffiintfloatfloatIOV
+  , ffiintfixedfixedIOV
+  , ffiintdoubledoubleintdoubledoubleIOV
+  , ffiintfloatfloatintfloatfloatIOV
+  , ffiintfixedfixedfixedfixedIOV
+  , ffiuintenumIOPtrV
+  , ffiuintintptrsizeiptrbitfieldIOPtrV
+  , ffiuintIOPtrV
+  , ffiuintintbitfieldPtrintPtrenumIOPtrV
+  , ffiuintuintdoubledoubleintintPtrdoubleIOV
+  , ffiuintuintfloatfloatintintPtrfloatIOV
+  , ffiuintuintdoubledoubleintintdoubledoubleintintPtrdoubleIOV
+  , ffiuintuintfloatfloatintintfloatfloatintintPtrfloatIOV
+  , ffienumdoubledoubledoubledoubledoubledoubleIOV
+  , ffiintPtrubyteIOV
+  , ffiintPtruintIOV
+  , ffiintPtrushortIOV
+  , ffienumdoubledoubledoubledoubleIOV
+  , ffienumfloatfloatfloatfloatIOV
+  , ffienumdoubledoubledoubleIOV
+  , ffienumfloatfloatfloatIOV
+  , ffienumenumbooleanIOV
+  , ffienumPtrintPtrsizeisizeiIOV
+  , ffienumPtrVsizeisizeiIOV
+  , ffienumPtrVsizeisizeisizeiintIOV
+  , ffienumPtrVsizeisizeiintIOV
+  , ffienumintptrintptrsizeisizeiIOV
+  , ffienumPtrsizeienumPtrPtrVsizeiIOV
+  , ffienumPtrsizeienumPtrPtrVsizeiPtrintIOV
+  , ffienumenumPtrVsizeisizeiIOV
+  , ffienumenumPtrVsizeisizeisizeiintIOV
+  , ffienumenumPtrVsizeisizeiintIOV
+  , ffienumenumintptrintptrsizeisizeiIOV
+  , ffienumuintuintPtrintPtrsizeisizeiIOV
+  , ffiPtrenumPtrintPtrsizeisizeiintIOV
+  , ffiPtrenumPtrsizeienumPtrPtrVsizeiintIOV
+  , ffienumbyteIOV
+  , ffienumPtrbyteIOV
+  , ffienumdoubleIOV
+  , ffienumhalfNVIOV
+  , ffienumPtrhalfNVIOV
+  , ffienumshortIOV
+  , ffienumPtrshortIOV
+  , ffienumbytebyteIOV
+  , ffienumdoubledoubleIOV
+  , ffienumfloatfloatIOV
+  , ffienumhalfNVhalfNVIOV
+  , ffienumshortshortIOV
+  , ffienumfixedfixedIOV
+  , ffienumbytebytebyteIOV
+  , ffienumhalfNVhalfNVhalfNVIOV
+  , ffienumintintintIOV
+  , ffienumshortshortshortIOV
+  , ffienumfixedfixedfixedIOV
+  , ffienumbytebytebytebyteIOV
+  , ffienumhalfNVhalfNVhalfNVhalfNVIOV
+  , ffienumshortshortshortshortIOV
+  , ffienumfixedfixedfixedfixedIOV
+  , ffienumintenumsizeiPtrVIOV
+  , ffienumenumenumfloatIOV
+  , ffienumenumenumintIOV
+  , ffienumenumenumdoubleIOV
+  , ffienumenumintintsizeiintenumenumPtrVIOV
+  , ffienumenumintintsizeisizeiintenumenumPtrVIOV
+  , ffienumenumintintsizeisizeisizeiintenumenumPtrVIOV
+  , ffienumenumintintsizeienumenumPtrVIOV
+  , ffienumenumintintintsizeisizeienumenumPtrVIOV
+  , ffienumenumintintintintsizeisizeisizeienumenumPtrVIOV
+  , ffiuintsizeiptrPtrVenumIOV
+  , ffiuintintptrsizeiptrbooleanIOV
+  , ffiuintsizeiptrPtrVbitfieldIOV
+  , ffiuintenumenumuintIOV
+  , ffiuintuintsizeiPtrfloatIOV
+  , ffiuintenumuintintIOV
+  , ffiuintenumenumuintintIOV
+  , ffiuintenumenumuintintintIOV
+  , ffiuintenumuintintenumIOV
+  , ffiuintenumuintintintIOV
+  , ffiuintenumuintdoubledoubledoubledoubleIOV
+  , ffiuintenumuintfloatfloatfloatfloatIOV
+  , ffiuintenumuintintintintintIOV
+  , ffiuintenumuintuintuintuintuintIOV
+  , ffiuintenumuintsizeiPtrfloatIOV
+  , ffiuintenumuintsizeiPtrintIOV
+  , ffiuintenumuintsizeiPtruintIOV
+  , ffiuintenumenumsizeiPtrVIOV
+  , ffiuintenumsizeisizeiIOV
+  , ffiuintsizeienumsizeisizeiIOV
+  , ffiuintsizeisizeienumsizeisizeiIOV
+  , ffienumintPtrcharintPtrcharIOV
+  , ffisizeiPtrVenumIOuint
+  , ffiPtrVsizeiPtrcharIOV
+  , ffienumuintenumIOenum
+  , ffiuintuintenumIOV
+  , ffiuintsizeiPtrubytesizeienumPtrVIOV
+  , ffiuintsizeienumPtrVIOV
+  , ffiuintenumPtrVbitfielduintsizeiuintfloatIOenum
+  , ffienumPtrVbitfielduintfloatPtruintIOenum
+  , ffiuintenumPtrVbitfielduintsizeienumuintfloatIOV
+  , ffiuintenumPtrVbitfieldsizeienumPtrVenumuintfloatIOV
+  , ffiuintenumsizeiptrPtrVsizeiuintsizeiuintfloatIOenum
+  , ffienumintuintIOV
+  , ffiuintenumsizeiPtrVIOV
+  , ffiuintsizeisizeisizeiPtrubytesizeienumPtrVIOV
+  , ffiuintsizeisizeienumPtrVIOV
+  , ffienumenumintPtrfloatIOV
+  , ffiuintsizeisizeifloatPtrfloatPtrfloatPtrfloatPtrfloatIOboolean
+  , ffiPtrintIOint
+  , ffiuintuint64EXTuintuintenumenumuintenumuintenumuintenumuintIOV
+  , ffiuintuint64EXTuintuintenumenumuintuintenumuintuintIOV
+  , ffifloatfloatfloatfloatfloatfloatfloatfloatIOV
+  , ffisizeiPtruintPtrfloatIOV
+  , ffisizeiPtruintPtrclampfIOV
+  , ffisizeiPtruintPtrfixedIOV
+  , ffiuintenumPtrVsizeiIOV
+  , ffiuintenumPtrVintIOV
+  , ffienumuintuintsizeiPtrintIOV
+  , ffienumuintuintsizeiPtruintIOV
+  , ffienumuintuintsizeiPtrfloatIOV
+  , ffienumuintdoubledoubledoubledoubleIOV
+  , ffienumuintfloatfloatfloatfloatIOV
+  , ffienumuintintintintintIOV
+  , ffienumuintsizeiPtrintIOV
+  , ffiuintsizeiPtrubytedoubledoubledoubledoubleIOV
+  , ffiuintsizeiPtrubytefloatfloatfloatfloatIOV
+  , ffienumuintsizeiPtrdoubleIOV
+  , ffiuintintenumintPtrfloatIOV
+  , ffienumenumsizeiPtrVIOV
+  , ffiuintintdoubleIOV
+  , ffiuintintfloatIOV
+  , ffiuintintintIOV
+  , ffiuintintint64EXTIOV
+  , ffiuintintsizeiPtrint64EXTIOV
+  , ffiuintintuintIOV
+  , ffiuintintuint64EXTIOV
+  , ffiuintintsizeiPtruint64EXTIOV
+  , ffiuintintdoubledoubleIOV
+  , ffiuintintfloatfloatIOV
+  , ffiuintintintintIOV
+  , ffiuintintint64EXTint64EXTIOV
+  , ffiuintintuintuintIOV
+  , ffiuintintuint64EXTuint64EXTIOV
+  , ffiuintintdoubledoubledoubleIOV
+  , ffiuintintfloatfloatfloatIOV
+  , ffiuintintintintintIOV
+  , ffiuintintint64EXTint64EXTint64EXTIOV
+  , ffiuintintuintuintuintIOV
+  , ffiuintintuint64EXTuint64EXTuint64EXTIOV
+  , ffiuintintdoubledoubledoubledoubleIOV
+  , ffiuintintfloatfloatfloatfloatIOV
+  , ffiuintintintintintintIOV
+  , ffiuintintint64EXTint64EXTint64EXTint64EXTIOV
+  , ffiuintintuintuintuintuintIOV
+  , ffiuintintuint64EXTuint64EXTuint64EXTuint64EXTIOV
+  , ffiuintintuint64IOV
+  , ffiuintintsizeiPtruint64IOV
+  , ffiuintintsizeibooleanPtrdoubleIOV
+  , ffiuintintsizeibooleanPtrfloatIOV
+  , ffiPtrfixedPtrintIObitfield
+  , ffienumuintenumuintIOV
+  , ffishortshortIOV
+  , ffiuintbooleanIOV
+  , ffiintintsizeisizeienumenumPtrVIOV
+  , ffiintintsizeisizeienumenumsizeiPtrVIOV
+  , ffiPtrdoublePtrdoubleIOV
+  , ffiPtrintPtrintIOV
+  , ffiPtrshortPtrshortIOV
+  , ffiPtrfixedPtrfixedIOV
+  , ffienumIOint
+  , ffienumenumsizeisizeiIOV
+  , ffienumsizeienumsizeisizeiIOV
+  , ffienumsizeisizeienumsizeisizeiIOV
+  , ffienumsizeiPtrPtrVIOV
+  , ffiuintfloatfloatfloatfloatfloatfloatIOV
+  , ffiPtruintPtrfloatPtrfloatIOV
+  , ffiuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV
+  , ffiPtruintPtrfloatPtrfloatPtrfloatIOV
+  , ffiuintubyteubyteubyteubytefloatfloatfloatIOV
+  , ffiPtruintPtrubytePtrfloatIOV
+  , ffiuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV
+  , ffiPtruintPtrfloatPtrfloatPtrfloatPtrfloatIOV
+  , ffiuintfloatfloatfloatfloatfloatfloatfloatfloatIOV
+  , ffiuintfloatfloatfloatfloatfloatIOV
+  , ffiuintfloatfloatfloatIOV
+  , ffiPtruintPtrfloatIOV
+  , ffifloatbooleanIOV
+  , ffifixedbooleanIOV
+  , fficlampxbooleanIOV
+  , fficlampfbooleanIOV
+  , ffiuintbitfieldIOV
+  , ffiintintsizeisizeiIOV
+  , ffiuintsizeiPtrintIOV
+  , ffiuintintintsizeisizeiIOV
+  , ffiuintPtrintIOV
+  , ffiuintbooleanuintintPtruintIOV
+  , ffienumenumsizeisizeienumenumPtrVPtrVIOV
+  , ffiuintenumPtrVIOV
+  , ffisizeiPtruintenumPtrVsizeiIOV
+  , ffienumuintuintuintIOV
+  , ffienumuintuintuintuintIOV
+  , ffihandleARBsizeiPtrPtrcharARBPtrintIOV
+  , ffiuintuintuintuintbitfieldIOV
+  , ffisizeiuintIOV
+  , ffisizeienumPtrVuintenumuintenumPtrfloatIOV
+  , ffiuintenumuintIOV
+  , ffienumenumintuintIOV
+  , ffienumenumenumIOV
+  , ffisizeienumPtrVuintintuintenumPtrfloatIOV
+  , ffisizeienumPtrVuintenumuintenumenumPtrfloatIOV
+  , ffiuintenumuintenumIOV
+  , ffisizeienumPtrVuintintuintenumenumPtrfloatIOV
+  , ffiuintintuintenumIOV
+  , ffiuintuintenumenumenumenumIOV
+  , ffienumenumuintintptrsizeiptrIOV
+  , ffibytebyteIOV
+  , ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV
+  , ffiPtrfloatPtrfloatPtrfloatPtrfloatIOV
+  , ffifloatfloatubyteubyteubyteubytefloatfloatfloatIOV
+  , ffiPtrfloatPtrubytePtrfloatIOV
+  , ffihalfNVhalfNVIOV
+  , ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV
+  , ffienumenumdoubleIOV
+  , ffienumintintsizeiintenumenumPtrVIOV
+  , ffienumintintsizeisizeiintenumenumPtrVIOV
+  , ffienumsizeienumsizeisizeibooleanIOV
+  , ffienumsizeisizeiintsizeisizeibooleanIOV
+  , ffienumintintsizeisizeisizeiintenumenumPtrVIOV
+  , ffienumintenumsizeisizeisizeiintenumenumPtrVIOV
+  , ffienumsizeienumsizeisizeisizeibooleanIOV
+  , ffienumsizeisizeiintsizeisizeisizeibooleanIOV
+  , ffienumintenumsizeisizeisizeisizeiintenumenumPtrVIOV
+  , ffienumintintintintsizeisizeisizeibooleanIOV
+  , ffienumsizeienumsizeiIOV
+  , ffienumsizeienumsizeisizeisizeiIOV
+  , ffienumenumsizeisizeisizeisizeibitfieldIOV
+  , ffienumintintsizeienumenumPtrVIOV
+  , ffienumintintintsizeisizeienumenumPtrVIOV
+  , ffienumintintintintintsizeisizeisizeisizeienumenumPtrVIOV
+  , ffiuintenumuintintptrsizeiptrIOV
+  , ffiuintenumenumuintintptrsizeiptrIOV
+  , ffiuintenumintintsizeiintenumenumPtrVIOV
+  , ffiuintenumintintsizeisizeiintenumenumPtrVIOV
+  , ffiuintenumsizeisizeiintsizeisizeibooleanIOV
+  , ffiuintenumsizeiintsizeisizeibooleanIOV
+  , ffiuintenumintintsizeisizeisizeiintenumenumPtrVIOV
+  , ffiuintenumsizeisizeiintsizeisizeisizeibooleanIOV
+  , ffiuintenumsizeiintsizeisizeisizeibooleanIOV
+  , ffiuintintintintintsizeisizeisizeibooleanIOV
+  , ffiuintenumenumfloatIOV
+  , ffiuintenumenumintIOV
+  , ffiuintsizeienumsizeiIOV
+  , ffiuintenumsizeienumsizeiIOV
+  , ffiuintenumsizeienumsizeisizeiIOV
+  , ffiuintsizeienumsizeisizeibooleanIOV
+  , ffiuintenumsizeienumsizeisizeibooleanIOV
+  , ffiuintsizeienumsizeisizeisizeiIOV
+  , ffiuintenumsizeienumsizeisizeisizeiIOV
+  , ffiuintsizeienumsizeisizeisizeibooleanIOV
+  , ffiuintenumsizeienumsizeisizeisizeibooleanIOV
+  , ffiuintenumenumsizeisizeisizeisizeibitfieldIOV
+  , ffiuintintintsizeienumenumPtrVIOV
+  , ffiuintenumintintsizeienumenumPtrVIOV
+  , ffiuintintintintsizeisizeienumenumPtrVIOV
+  , ffiuintenumintintintsizeisizeienumenumPtrVIOV
+  , ffiuintenumintintintintsizeisizeisizeienumenumPtrVIOV
+  , ffiuintenumuintenumuintuintuintuintIOV
+  , ffienumuintenumenumIOV
+  , ffisizeiPtrintenumIOV
+  , ffiuintuintuintintptrsizeiptrIOV
+  , ffisizeiPtrintsizeiPtrintenumIOV
+  , ffiuintsizeiPtrPtrcharenumIOV
+  , ffiuintsizeiPtrintenumIOV
+  , ffiintdoubleIOV
+  , ffiintsizeiPtrdoubleIOV
+  , ffiintfloatIOV
+  , ffiintsizeiPtrfloatIOV
+  , ffiintint64EXTIOV
+  , ffiintsizeiPtrint64EXTIOV
+  , ffiintsizeiPtrintIOV
+  , ffiintuintIOV
+  , ffiintuint64EXTIOV
+  , ffiintsizeiPtruint64EXTIOV
+  , ffiintsizeiPtruintIOV
+  , ffiintint64EXTint64EXTIOV
+  , ffiintuintuintIOV
+  , ffiintuint64EXTuint64EXTIOV
+  , ffiintdoubledoubledoubleIOV
+  , ffiintfloatfloatfloatIOV
+  , ffiintint64EXTint64EXTint64EXTIOV
+  , ffiintuintuintuintIOV
+  , ffiintuint64EXTuint64EXTuint64EXTIOV
+  , ffiintdoubledoubledoubledoubleIOV
+  , ffiintfloatfloatfloatfloatIOV
+  , ffiintint64EXTint64EXTint64EXTint64EXTIOV
+  , ffiintuintuintuintuintIOV
+  , ffiintuint64EXTuint64EXTuint64EXTuint64EXTIOV
+  , ffiintuint64IOV
+  , ffiintsizeiPtruint64IOV
+  , ffiintsizeibooleanPtrdoubleIOV
+  , ffiintsizeibooleanPtrfloatIOV
+  , ffiuintuintsizeiPtrVenumIOV
+  , ffiuintbitfielduintIOV
+  , ffivdpauSurfaceNVenumsizeiPtrsizeiPtrintIOV
+  , ffiPtrVPtrVIOV
+  , ffivdpauSurfaceNVIOboolean
+  , ffisizeiPtrvdpauSurfaceNVIOV
+  , ffiPtrVenumsizeiPtruintIOvdpauSurfaceNV
+  , ffivdpauSurfaceNVenumIOV
+  , ffivdpauSurfaceNVIOV
+  , ffiuintenumsizeiuintuintIOV
+  , ffiuintenumuintPtrVIOV
+  , ffiuintPtrbyteIOV
+  , ffiuintPtrdoubleIOV
+  , ffiuintPtrshortIOV
+  , ffiuintPtrushortIOV
+  , ffiuintuintintenumbooleanuintIOV
+  , ffiuintuintintenumuintIOV
+  , ffiuintuintuintintptrsizeiIOV
+  , ffiuintuintintenumsizeiintptrIOV
+  , ffiuintuintsizeiintptrIOV
+  , ffiuintuintenumsizeiintptrIOV
+  , ffiuintuintenumintenumsizeiintptrIOV
+  , ffiuintuintuintintenumsizeiintptrIOV
+  , ffiuintuintuintintenumbooleansizeiintptrIOV
+  , ffiuintuintsizeiPtruintPtrintptrPtrsizeiIOV
+  , ffiuintdoubleIOV
+  , ffiuintfloatIOV
+  , ffiuinthalfNVIOV
+  , ffiuintPtrhalfNVIOV
+  , ffiuintshortIOV
+  , ffiuinthalfNVhalfNVIOV
+  , ffiuintshortshortIOV
+  , ffiuintdoubledoubledoubleIOV
+  , ffiuinthalfNVhalfNVhalfNVIOV
+  , ffiuintshortshortshortIOV
+  , ffiuintubyteubyteubyteubyteIOV
+  , ffiuintdoubledoubledoubledoubleIOV
+  , ffiuintfloatfloatfloatfloatIOV
+  , ffiuinthalfNVhalfNVhalfNVhalfNVIOV
+  , ffiuintshortshortshortshortIOV
+  , ffiuintintenumbooleansizeiuintuintIOV
+  , ffiuintintenumbooleanuintIOV
+  , ffiuintintenumbooleansizeiIOV
+  , ffiuintuintuintuintuintIOV
+  , ffiuintintenumuintIOV
+  , ffiuintintenumsizeiIOV
+  , ffiuintintenumsizeiPtrVIOV
+  , ffiuintint64EXTIOV
+  , ffiuintPtrint64EXTIOV
+  , ffiuintuint64EXTIOV
+  , ffiuintPtruint64EXTIOV
+  , ffiuintint64EXTint64EXTIOV
+  , ffiuintuint64EXTuint64EXTIOV
+  , ffiuintint64EXTint64EXTint64EXTIOV
+  , ffiuintuint64EXTuint64EXTuint64EXTIOV
+  , ffiuintint64EXTint64EXTint64EXTint64EXTIOV
+  , ffiuintuint64EXTuint64EXTuint64EXTuint64EXTIOV
+  , ffiuintenumbooleanuintIOV
+  , ffiuintenumbooleanPtruintIOV
+  , ffiuintintenumbooleansizeiPtrVIOV
+  , ffiuintsizeiPtrhalfNVIOV
+  , ffiuintsizeiPtrshortIOV
+  , ffiuintsizeiPtrubyteIOV
+  , ffiuintPtruintPtruint64EXTIOenum
+  , ffisyncbitfielduint64IOV
+  , ffiuintsizeiPtruintPtrfloatIOV
+  , ffiintPtrbyteIOV
+  , ffiintPtrdoubleIOV
+  , ffiintPtrfloatIOV
+  , ffiintPtrintIOV
+  , ffiintPtrshortIOV
+) where
+
+import Control.Monad.IO.Class
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.GL.Types
+import Numeric.Fixed
+import Numeric.Half
+
+foreign import CALLCONV "dynamic" dynenumfloatIOV :: FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> IO ()
+
+ffienumfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
+ffienumfloatIOV fp v0 v1 = liftIO (dynenumfloatIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumfixedIOV :: FunPtr (GLenum -> GLfixed -> IO ()) -> GLenum -> GLfixed -> IO ()
+
+ffienumfixedIOV :: MonadIO m => FunPtr (GLenum -> GLfixed -> IO ()) -> GLenum -> GLfixed -> m ()
+ffienumfixedIOV fp v0 v1 = liftIO (dynenumfixedIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintIOV :: FunPtr (GLuint -> IO ()) -> GLuint -> IO ()
+
+ffiuintIOV :: MonadIO m => FunPtr (GLuint -> IO ()) -> GLuint -> m ()
+ffiuintIOV fp v0 = liftIO (dynuintIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynuintuintIOV :: FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> IO ()
+
+ffiuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> m ()
+ffiuintuintIOV fp v0 v1 = liftIO (dynuintuintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumIOV :: FunPtr (GLenum -> IO ()) -> GLenum -> IO ()
+
+ffienumIOV :: MonadIO m => FunPtr (GLenum -> IO ()) -> GLenum -> m ()
+ffienumIOV fp v0 = liftIO (dynenumIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynuintPtrcharIOV :: FunPtr (GLuint -> Ptr GLchar -> IO ()) -> GLuint -> Ptr GLchar -> IO ()
+
+ffiuintPtrcharIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLchar -> IO ()) -> GLuint -> Ptr GLchar -> m ()
+ffiuintPtrcharIOV fp v0 v1 = liftIO (dynuintPtrcharIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumuintuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffienumuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffienumuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumuintuintuintuintuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffienumuintuintuintuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffienumuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynenumuintuintuintuintuintuintuintuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffienumuintuintuintuintuintuintuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffienumuintuintuintuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynenumuintuintuintuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
+
+foreign import CALLCONV "dynamic" dynenumclampfIOV :: FunPtr (GLenum -> GLclampf -> IO ()) -> GLenum -> GLclampf -> IO ()
+
+ffienumclampfIOV :: MonadIO m => FunPtr (GLenum -> GLclampf -> IO ()) -> GLenum -> GLclampf -> m ()
+ffienumclampfIOV fp v0 v1 = liftIO (dynenumclampfIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynsizeiPtruintPtrbooleanIOboolean :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean) -> GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean
+
+ffisizeiPtruintPtrbooleanIOboolean :: MonadIO m => FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean) -> GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean
+ffisizeiPtruintPtrbooleanIOboolean fp v0 v1 v2 = liftIO (dynsizeiPtruintPtrbooleanIOboolean fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintIOV :: FunPtr (GLint -> IO ()) -> GLint -> IO ()
+
+ffiintIOV :: MonadIO m => FunPtr (GLint -> IO ()) -> GLint -> m ()
+ffiintIOV fp v0 = liftIO (dynintIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynenumintenumsizeiuintuintIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()
+
+ffienumintenumsizeiuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> m ()
+ffienumintenumsizeiuintuintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumintenumsizeiuintuintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynhandleARBhandleARBIOV :: FunPtr (GLhandleARB -> GLhandleARB -> IO ()) -> GLhandleARB -> GLhandleARB -> IO ()
+
+ffihandleARBhandleARBIOV :: MonadIO m => FunPtr (GLhandleARB -> GLhandleARB -> IO ()) -> GLhandleARB -> GLhandleARB -> m ()
+ffihandleARBhandleARBIOV fp v0 v1 = liftIO (dynhandleARBhandleARBIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintenumIOV :: FunPtr (GLuint -> GLenum -> IO ()) -> GLuint -> GLenum -> IO ()
+
+ffiuintenumIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> IO ()) -> GLuint -> GLenum -> m ()
+ffiuintenumIOV fp v0 v1 = liftIO (dynuintenumIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynIOV :: FunPtr (IO ()) -> IO ()
+
+ffiIOV :: MonadIO m => FunPtr (IO ()) -> m ()
+ffiIOV fp  = liftIO (dynIOV fp )
+
+foreign import CALLCONV "dynamic" dynenumuintIOV :: FunPtr (GLenum -> GLuint -> IO ()) -> GLenum -> GLuint -> IO ()
+
+ffienumuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> IO ()) -> GLenum -> GLuint -> m ()
+ffienumuintIOV fp v0 v1 = liftIO (dynenumuintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> IO ()
+
+ffienumuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> m ()
+ffienumuintuintIOV fp v0 v1 v2 = liftIO (dynenumuintuintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintuintPtrcharIOV :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> Ptr GLchar -> IO ()
+
+ffiuintuintPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> Ptr GLchar -> m ()
+ffiuintuintPtrcharIOV fp v0 v1 v2 = liftIO (dynuintuintPtrcharIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynhandleARBuintPtrcharARBIOV :: FunPtr (GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ()) -> GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ()
+
+ffihandleARBuintPtrcharARBIOV :: MonadIO m => FunPtr (GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ()) -> GLhandleARB -> GLuint -> Ptr GLcharARB -> m ()
+ffihandleARBuintPtrcharARBIOV fp v0 v1 v2 = liftIO (dynhandleARBuintPtrcharARBIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumuintuintintptrIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> IO ()) -> GLenum -> GLuint -> GLuint -> GLintptr -> IO ()
+
+ffienumuintuintintptrIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> IO ()) -> GLenum -> GLuint -> GLuint -> GLintptr -> m ()
+ffienumuintuintintptrIOV fp v0 v1 v2 v3 = liftIO (dynenumuintuintintptrIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumuintuintintptrsizeiptrIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+ffienumuintuintintptrsizeiptrIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()
+ffienumuintuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumuintsizeiPtruintIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
+
+ffienumuintsizeiPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()
+ffienumuintsizeiPtruintIOV fp v0 v1 v2 v3 = liftIO (dynenumuintsizeiPtruintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumuintsizeiPtruintPtrintptrPtrsizeiptrIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ()
+
+ffienumuintsizeiPtruintPtrintptrPtrsizeiptrIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()
+ffienumuintsizeiPtruintPtrintptrPtrsizeiptrIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintsizeiPtruintPtrintptrPtrsizeiptrIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintuintuintPtrcharIOV :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ()
+
+ffiuintuintuintPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()
+ffiuintuintuintPtrcharIOV fp v0 v1 v2 v3 = liftIO (dynuintuintuintPtrcharIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuintintbooleanintenumenumIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ()) -> GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ()
+
+ffiuintuintintbooleanintenumenumIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ()) -> GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()
+ffiuintuintintbooleanintenumenumIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintintbooleanintenumenumIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintuintintbooleanintenumintIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ()) -> GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ()
+
+ffiuintuintintbooleanintenumintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ()) -> GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> m ()
+ffiuintuintintbooleanintenumintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintintbooleanintenumintIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtruintIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
+
+ffiuintsizeiPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> m ()
+ffiuintsizeiPtruintIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtruintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumIOuint :: FunPtr (GLenum -> GLenum -> IO GLuint) -> GLenum -> GLenum -> IO GLuint
+
+ffienumenumIOuint :: MonadIO m => FunPtr (GLenum -> GLenum -> IO GLuint) -> GLenum -> GLenum -> m GLuint
+ffienumenumIOuint fp v0 v1 = liftIO (dynenumenumIOuint fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumenumuintIOV :: FunPtr (GLenum -> GLenum -> GLuint -> IO ()) -> GLenum -> GLenum -> GLuint -> IO ()
+
+ffienumenumuintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> IO ()) -> GLenum -> GLenum -> GLuint -> m ()
+ffienumenumuintIOV fp v0 v1 v2 = liftIO (dynenumenumuintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumIOuint :: FunPtr (GLenum -> IO GLuint) -> GLenum -> IO GLuint
+
+ffienumIOuint :: MonadIO m => FunPtr (GLenum -> IO GLuint) -> GLenum -> m GLuint
+ffienumIOuint fp v0 = liftIO (dynenumIOuint fp v0)
+
+foreign import CALLCONV "dynamic" dynenumenumenumIOuint :: FunPtr (GLenum -> GLenum -> GLenum -> IO GLuint) -> GLenum -> GLenum -> GLenum -> IO GLuint
+
+ffienumenumenumIOuint :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> IO GLuint) -> GLenum -> GLenum -> GLenum -> m GLuint
+ffienumenumenumIOuint fp v0 v1 v2 = liftIO (dynenumenumenumIOuint fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintuintintptrsizeiIOV :: FunPtr (GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()) -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()
+
+ffiuintuintintptrsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()) -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()
+ffiuintuintintptrsizeiIOV fp v0 v1 v2 v3 = liftIO (dynuintuintintptrsizeiIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtruintPtrintptrPtrsizeiIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()
+
+ffiuintsizeiPtruintPtrintptrPtrsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()
+ffiuintsizeiPtruintPtrintptrPtrsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintsizeiPtruintPtrintptrPtrsizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintuintenumintptrARBIOV :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ()) -> GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ()
+
+ffiuintuintenumintptrARBIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ()) -> GLuint -> GLuint -> GLenum -> GLintptrARB -> m ()
+ffiuintuintenumintptrARBIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumintptrARBIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuintenumenumuintIOV :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ()) -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ()
+
+ffiuintuintenumenumuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ()) -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> m ()
+ffiuintuintenumenumuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintenumenumuintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynbytebytebyteIOV :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLbyte -> GLbyte -> GLbyte -> IO ()
+
+ffibytebytebyteIOV :: MonadIO m => FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLbyte -> GLbyte -> GLbyte -> m ()
+ffibytebytebyteIOV fp v0 v1 v2 = liftIO (dynbytebytebyteIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtrbyteIOV :: FunPtr (Ptr GLbyte -> IO ()) -> Ptr GLbyte -> IO ()
+
+ffiPtrbyteIOV :: MonadIO m => FunPtr (Ptr GLbyte -> IO ()) -> Ptr GLbyte -> m ()
+ffiPtrbyteIOV fp v0 = liftIO (dynPtrbyteIOV fp v0)
+
+foreign import CALLCONV "dynamic" dyndoubledoubledoubleIOV :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffidoubledoubledoubleIOV :: MonadIO m => FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffidoubledoubledoubleIOV fp v0 v1 v2 = liftIO (dyndoubledoubledoubleIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtrdoubleIOV :: FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> IO ()
+
+ffiPtrdoubleIOV :: MonadIO m => FunPtr (Ptr GLdouble -> IO ()) -> Ptr GLdouble -> m ()
+ffiPtrdoubleIOV fp v0 = liftIO (dynPtrdoubleIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffifloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffifloatfloatfloatIOV fp v0 v1 v2 = liftIO (dynfloatfloatfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtrfloatIOV :: FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> IO ()
+
+ffiPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLfloat -> IO ()) -> Ptr GLfloat -> m ()
+ffiPtrfloatIOV fp v0 = liftIO (dynPtrfloatIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynintintintIOV :: FunPtr (GLint -> GLint -> GLint -> IO ()) -> GLint -> GLint -> GLint -> IO ()
+
+ffiintintintIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLint -> IO ()) -> GLint -> GLint -> GLint -> m ()
+ffiintintintIOV fp v0 v1 v2 = liftIO (dynintintintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtrintIOV :: FunPtr (Ptr GLint -> IO ()) -> Ptr GLint -> IO ()
+
+ffiPtrintIOV :: MonadIO m => FunPtr (Ptr GLint -> IO ()) -> Ptr GLint -> m ()
+ffiPtrintIOV fp v0 = liftIO (dynPtrintIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynshortshortshortIOV :: FunPtr (GLshort -> GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> GLshort -> IO ()
+
+ffishortshortshortIOV :: MonadIO m => FunPtr (GLshort -> GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> GLshort -> m ()
+ffishortshortshortIOV fp v0 v1 v2 = liftIO (dynshortshortshortIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtrshortIOV :: FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> IO ()
+
+ffiPtrshortIOV :: MonadIO m => FunPtr (Ptr GLshort -> IO ()) -> Ptr GLshort -> m ()
+ffiPtrshortIOV fp v0 = liftIO (dynPtrshortIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynenumsizeiPtrVIOV :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLsizei -> Ptr () -> m ()
+ffienumsizeiPtrVIOV fp v0 v1 v2 = liftIO (dynenumsizeiPtrVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynsizeisizeifloatfloatfloatfloatPtrubyteIOV :: FunPtr (GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ()) -> GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ()
+
+ffisizeisizeifloatfloatfloatfloatPtrubyteIOV :: MonadIO m => FunPtr (GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ()) -> GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()
+ffisizeisizeifloatfloatfloatfloatPtrubyteIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynsizeisizeifloatfloatfloatfloatPtrubyteIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynsizeisizeifixedfixedfixedfixedPtrubyteIOV :: FunPtr (GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ()) -> GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ()
+
+ffisizeisizeifixedfixedfixedfixedPtrubyteIOV :: MonadIO m => FunPtr (GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ()) -> GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> m ()
+ffisizeisizeifixedfixedfixedfixedPtrubyteIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynsizeisizeifixedfixedfixedfixedPtrubyteIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffifloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffifloatfloatfloatfloatIOV fp v0 v1 v2 v3 = liftIO (dynfloatfloatfloatfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynfixedfixedfixedfixedIOV :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+ffifixedfixedfixedfixedIOV :: MonadIO m => FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
+ffifixedfixedfixedfixedIOV fp v0 v1 v2 v3 = liftIO (dynfixedfixedfixedfixedIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumIOV :: FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> IO ()
+
+ffienumenumIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
+ffienumenumIOV fp v0 v1 = liftIO (dynenumenumIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintenumenumIOV :: FunPtr (GLuint -> GLenum -> GLenum -> IO ()) -> GLuint -> GLenum -> GLenum -> IO ()
+
+ffiuintenumenumIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> IO ()) -> GLuint -> GLenum -> GLenum -> m ()
+ffiuintenumenumIOV fp v0 v1 v2 = liftIO (dynuintenumenumIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumenumenumIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
+
+ffienumenumenumenumIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
+ffienumenumenumenumIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumenumIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumenumenumenumIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
+
+ffiuintenumenumenumenumIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
+ffiuintenumenumenumenumIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumenumenumenumIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumintIOV :: FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> IO ()
+
+ffienumintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> m ()
+ffienumintIOV fp v0 v1 = liftIO (dynenumintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintintintintintintintintbitfieldenumIOV :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()) -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()
+
+ffiintintintintintintintintbitfieldenumIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()) -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()
+ffiintintintintintintintintbitfieldenumIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynintintintintintintintintbitfieldenumIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynuintuintintintintintintintintintbitfieldenumIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()) -> GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()
+
+ffiuintuintintintintintintintintintbitfieldenumIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()) -> GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()
+ffiuintuintintintintintintintintintbitfieldenumIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynuintuintintintintintintintintintbitfieldenumIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
+
+foreign import CALLCONV "dynamic" dynenumuintuint64EXTsizeiptrIOV :: FunPtr (GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ()) -> GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ()
+
+ffienumuintuint64EXTsizeiptrIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ()) -> GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> m ()
+ffienumuintuint64EXTsizeiptrIOV fp v0 v1 v2 v3 = liftIO (dynenumuintuint64EXTsizeiptrIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumsizeiptrPtrVenumIOV :: FunPtr (GLenum -> GLsizeiptr -> Ptr () -> GLenum -> IO ()) -> GLenum -> GLsizeiptr -> Ptr () -> GLenum -> IO ()
+
+ffienumsizeiptrPtrVenumIOV :: MonadIO m => FunPtr (GLenum -> GLsizeiptr -> Ptr () -> GLenum -> IO ()) -> GLenum -> GLsizeiptr -> Ptr () -> GLenum -> m ()
+ffienumsizeiptrPtrVenumIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeiptrPtrVenumIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumsizeiptrARBPtrVenumIOV :: FunPtr (GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ()) -> GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ()
+
+ffienumsizeiptrARBPtrVenumIOV :: MonadIO m => FunPtr (GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> IO ()) -> GLenum -> GLsizeiptrARB -> Ptr () -> GLenum -> m ()
+ffienumsizeiptrARBPtrVenumIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeiptrARBPtrVenumIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumintptrsizeiptrbooleanIOV :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()) -> GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()
+
+ffienumintptrsizeiptrbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()) -> GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> m ()
+ffienumintptrsizeiptrbooleanIOV fp v0 v1 v2 v3 = liftIO (dynenumintptrsizeiptrbooleanIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumintIOV :: FunPtr (GLenum -> GLenum -> GLint -> IO ()) -> GLenum -> GLenum -> GLint -> IO ()
+
+ffienumenumintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> IO ()) -> GLenum -> GLenum -> GLint -> m ()
+ffienumenumintIOV fp v0 v1 v2 = liftIO (dynenumenumintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumsizeiptrPtrVbitfieldIOV :: FunPtr (GLenum -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ()) -> GLenum -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ()
+
+ffienumsizeiptrPtrVbitfieldIOV :: MonadIO m => FunPtr (GLenum -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ()) -> GLenum -> GLsizeiptr -> Ptr () -> GLbitfield -> m ()
+ffienumsizeiptrPtrVbitfieldIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeiptrPtrVbitfieldIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumintptrsizeiptrPtrVIOV :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr () -> IO ()) -> GLenum -> GLintptr -> GLsizeiptr -> Ptr () -> IO ()
+
+ffienumintptrsizeiptrPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr () -> IO ()) -> GLenum -> GLintptr -> GLsizeiptr -> Ptr () -> m ()
+ffienumintptrsizeiptrPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumintptrsizeiptrPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumintptrARBsizeiptrARBPtrVIOV :: FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr () -> IO ()) -> GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr () -> IO ()
+
+ffienumintptrARBsizeiptrARBPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr () -> IO ()) -> GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr () -> m ()
+ffienumintptrARBsizeiptrARBPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumintptrARBsizeiptrARBPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynsizeienumPtrVIOV :: FunPtr (GLsizei -> GLenum -> Ptr () -> IO ()) -> GLsizei -> GLenum -> Ptr () -> IO ()
+
+ffisizeienumPtrVIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr () -> IO ()) -> GLsizei -> GLenum -> Ptr () -> m ()
+ffisizeienumPtrVIOV fp v0 v1 v2 = liftIO (dynsizeienumPtrVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumIOenum :: FunPtr (GLenum -> IO GLenum) -> GLenum -> IO GLenum
+
+ffienumIOenum :: MonadIO m => FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
+ffienumIOenum fp v0 = liftIO (dynenumIOenum fp v0)
+
+foreign import CALLCONV "dynamic" dynuintenumIOenum :: FunPtr (GLuint -> GLenum -> IO GLenum) -> GLuint -> GLenum -> IO GLenum
+
+ffiuintenumIOenum :: MonadIO m => FunPtr (GLuint -> GLenum -> IO GLenum) -> GLuint -> GLenum -> m GLenum
+ffiuintenumIOenum fp v0 v1 = liftIO (dynuintenumIOenum fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynbitfieldIOV :: FunPtr (GLbitfield -> IO ()) -> GLbitfield -> IO ()
+
+ffibitfieldIOV :: MonadIO m => FunPtr (GLbitfield -> IO ()) -> GLbitfield -> m ()
+ffibitfieldIOV fp v0 = liftIO (dynbitfieldIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynenumenumenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumenumenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumenumenumenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumenumPtrVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumintptrsizeiptrenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumenumintptrsizeiptrenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumenumintptrsizeiptrenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumenumintptrsizeiptrenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumintfloatintIOV :: FunPtr (GLenum -> GLint -> GLfloat -> GLint -> IO ()) -> GLenum -> GLint -> GLfloat -> GLint -> IO ()
+
+ffienumintfloatintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLfloat -> GLint -> IO ()) -> GLenum -> GLint -> GLfloat -> GLint -> m ()
+ffienumintfloatintIOV fp v0 v1 v2 v3 = liftIO (dynenumintfloatintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumintPtrfloatIOV :: FunPtr (GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLint -> Ptr GLfloat -> IO ()
+
+ffienumintPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLint -> Ptr GLfloat -> m ()
+ffienumintPtrfloatIOV fp v0 v1 v2 = liftIO (dynenumintPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumintPtrintIOV :: FunPtr (GLenum -> GLint -> Ptr GLint -> IO ()) -> GLenum -> GLint -> Ptr GLint -> IO ()
+
+ffienumintPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr GLint -> IO ()) -> GLenum -> GLint -> Ptr GLint -> m ()
+ffienumintPtrintIOV fp v0 v1 v2 = liftIO (dynenumintPtrintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumintPtruintIOV :: FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ()) -> GLenum -> GLint -> Ptr GLuint -> IO ()
+
+ffienumintPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ()) -> GLenum -> GLint -> Ptr GLuint -> m ()
+ffienumintPtruintIOV fp v0 v1 v2 = liftIO (dynenumintPtruintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintintintintIOV :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ()) -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+ffiintintintintIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLint -> GLint -> IO ()) -> GLint -> GLint -> GLint -> GLint -> m ()
+ffiintintintintIOV fp v0 v1 v2 v3 = liftIO (dynintintintintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuintuintuintIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffiuintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffiuintuintuintuintIOV fp v0 v1 v2 v3 = liftIO (dynuintuintuintuintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dyndoubleIOV :: FunPtr (GLdouble -> IO ()) -> GLdouble -> IO ()
+
+ffidoubleIOV :: MonadIO m => FunPtr (GLdouble -> IO ()) -> GLdouble -> m ()
+ffidoubleIOV fp v0 = liftIO (dyndoubleIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynfloatIOV :: FunPtr (GLfloat -> IO ()) -> GLfloat -> IO ()
+
+ffifloatIOV :: MonadIO m => FunPtr (GLfloat -> IO ()) -> GLfloat -> m ()
+ffifloatIOV fp v0 = liftIO (dynfloatIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynclampfIOV :: FunPtr (GLclampf -> IO ()) -> GLclampf -> IO ()
+
+fficlampfIOV :: MonadIO m => FunPtr (GLclampf -> IO ()) -> GLclampf -> m ()
+fficlampfIOV fp v0 = liftIO (dynclampfIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynfixedIOV :: FunPtr (GLfixed -> IO ()) -> GLfixed -> IO ()
+
+ffifixedIOV :: MonadIO m => FunPtr (GLfixed -> IO ()) -> GLfixed -> m ()
+ffifixedIOV fp v0 = liftIO (dynfixedIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynuintenumenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintenumenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintenumenumenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumenumenumPtrVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumintptrsizeiptrenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintenumintptrsizeiptrenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintenumintptrsizeiptrenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumintptrsizeiptrenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeiptrsizeiptrenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintenumsizeiptrsizeiptrenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintenumsizeiptrsizeiptrenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumsizeiptrsizeiptrenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintenumfloatintIOV :: FunPtr (GLuint -> GLenum -> GLfloat -> GLint -> IO ()) -> GLuint -> GLenum -> GLfloat -> GLint -> IO ()
+
+ffiuintenumfloatintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLfloat -> GLint -> IO ()) -> GLuint -> GLenum -> GLfloat -> GLint -> m ()
+ffiuintenumfloatintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumfloatintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumintPtrfloatIOV :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ()
+
+ffiuintenumintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr GLfloat -> m ()
+ffiuintenumintPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintenumintPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumintPtrintIOV :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr GLint -> IO ()
+
+ffiuintenumintPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr GLint -> m ()
+ffiuintenumintPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumintPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumintPtruintIOV :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ()
+
+ffiuintenumintPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr GLuint -> m ()
+ffiuintenumintPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumintPtruintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintenumenumPtrVIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintintenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintintenumenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintenumenumPtrVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintintintintintsizeisizeisizeienumenumPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintintintintintsizeisizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
+
+foreign import CALLCONV "dynamic" dynsyncbitfielduint64IOenum :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum) -> GLsync -> GLbitfield -> GLuint64 -> IO GLenum
+
+ffisyncbitfielduint64IOenum :: MonadIO m => FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum) -> GLsync -> GLbitfield -> GLuint64 -> m GLenum
+ffisyncbitfielduint64IOenum fp v0 v1 v2 = liftIO (dynsyncbitfielduint64IOenum fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumPtrdoubleIOV :: FunPtr (GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> Ptr GLdouble -> IO ()
+
+ffienumPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> Ptr GLdouble -> m ()
+ffienumPtrdoubleIOV fp v0 v1 = liftIO (dynenumPtrdoubleIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumPtrfloatIOV :: FunPtr (GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> Ptr GLfloat -> IO ()
+
+ffienumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> Ptr GLfloat -> m ()
+ffienumPtrfloatIOV fp v0 v1 = liftIO (dynenumPtrfloatIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumPtrfixedIOV :: FunPtr (GLenum -> Ptr GLfixed -> IO ()) -> GLenum -> Ptr GLfixed -> IO ()
+
+ffienumPtrfixedIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLfixed -> IO ()) -> GLenum -> Ptr GLfixed -> m ()
+ffienumPtrfixedIOV fp v0 v1 = liftIO (dynenumPtrfixedIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffifloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffifloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynPtrfloatPtrfloatIOV :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+ffiPtrfloatPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLfloat -> m ()
+ffiPtrfloatPtrfloatIOV fp v0 v1 = liftIO (dynPtrfloatPtrfloatIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynhalfNVhalfNVhalfNVIOV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+ffihalfNVhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
+ffihalfNVhalfNVhalfNVIOV fp v0 v1 v2 = liftIO (dynhalfNVhalfNVhalfNVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtrhalfNVIOV :: FunPtr (Ptr GLhalfNV -> IO ()) -> Ptr GLhalfNV -> IO ()
+
+ffiPtrhalfNVIOV :: MonadIO m => FunPtr (Ptr GLhalfNV -> IO ()) -> Ptr GLhalfNV -> m ()
+ffiPtrhalfNVIOV fp v0 = liftIO (dynPtrhalfNVIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynubyteubyteubyteIOV :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> IO ()
+
+ffiubyteubyteubyteIOV :: MonadIO m => FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> m ()
+ffiubyteubyteubyteIOV fp v0 v1 v2 = liftIO (dynubyteubyteubyteIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtrubyteIOV :: FunPtr (Ptr GLubyte -> IO ()) -> Ptr GLubyte -> IO ()
+
+ffiPtrubyteIOV :: MonadIO m => FunPtr (Ptr GLubyte -> IO ()) -> Ptr GLubyte -> m ()
+ffiPtrubyteIOV fp v0 = liftIO (dynPtrubyteIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynuintuintuintIOV :: FunPtr (GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffiuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> m ()
+ffiuintuintuintIOV fp v0 v1 v2 = liftIO (dynuintuintuintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtruintIOV :: FunPtr (Ptr GLuint -> IO ()) -> Ptr GLuint -> IO ()
+
+ffiPtruintIOV :: MonadIO m => FunPtr (Ptr GLuint -> IO ()) -> Ptr GLuint -> m ()
+ffiPtruintIOV fp v0 = liftIO (dynPtruintIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynushortushortushortIOV :: FunPtr (GLushort -> GLushort -> GLushort -> IO ()) -> GLushort -> GLushort -> GLushort -> IO ()
+
+ffiushortushortushortIOV :: MonadIO m => FunPtr (GLushort -> GLushort -> GLushort -> IO ()) -> GLushort -> GLushort -> GLushort -> m ()
+ffiushortushortushortIOV fp v0 v1 v2 = liftIO (dynushortushortushortIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtrushortIOV :: FunPtr (Ptr GLushort -> IO ()) -> Ptr GLushort -> IO ()
+
+ffiPtrushortIOV :: MonadIO m => FunPtr (Ptr GLushort -> IO ()) -> Ptr GLushort -> m ()
+ffiPtrushortIOV fp v0 = liftIO (dynPtrushortIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynfixedfixedfixedIOV :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+ffifixedfixedfixedIOV :: MonadIO m => FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> m ()
+ffifixedfixedfixedIOV fp v0 v1 v2 = liftIO (dynfixedfixedfixedIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtrfixedIOV :: FunPtr (Ptr GLfixed -> IO ()) -> Ptr GLfixed -> IO ()
+
+ffiPtrfixedIOV :: MonadIO m => FunPtr (Ptr GLfixed -> IO ()) -> Ptr GLfixed -> m ()
+ffiPtrfixedIOV fp v0 = liftIO (dynPtrfixedIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynbytebytebytebyteIOV :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()
+
+ffibytebytebytebyteIOV :: MonadIO m => FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
+ffibytebytebytebyteIOV fp v0 v1 v2 v3 = liftIO (dynbytebytebytebyteIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dyndoubledoubledoubledoubleIOV :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffidoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffidoubledoubledoubledoubleIOV fp v0 v1 v2 v3 = liftIO (dyndoubledoubledoubledoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynPtrfloatPtrfloatPtrfloatIOV :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+ffiPtrfloatPtrfloatPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
+ffiPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 = liftIO (dynPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynhalfNVhalfNVhalfNVhalfNVIOV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+ffihalfNVhalfNVhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
+ffihalfNVhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 = liftIO (dynhalfNVhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynshortshortshortshortIOV :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
+
+ffishortshortshortshortIOV :: MonadIO m => FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
+ffishortshortshortshortIOV fp v0 v1 v2 v3 = liftIO (dynshortshortshortshortIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynubyteubyteubyteubyteIOV :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()
+
+ffiubyteubyteubyteubyteIOV :: MonadIO m => FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()
+ffiubyteubyteubyteubyteIOV fp v0 v1 v2 v3 = liftIO (dynubyteubyteubyteubyteIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynubyteubyteubyteubytefloatfloatIOV :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ()
+
+ffiubyteubyteubyteubytefloatfloatIOV :: MonadIO m => FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> m ()
+ffiubyteubyteubyteubytefloatfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynubyteubyteubyteubytefloatfloatIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynPtrubytePtrfloatIOV :: FunPtr (Ptr GLubyte -> Ptr GLfloat -> IO ()) -> Ptr GLubyte -> Ptr GLfloat -> IO ()
+
+ffiPtrubytePtrfloatIOV :: MonadIO m => FunPtr (Ptr GLubyte -> Ptr GLfloat -> IO ()) -> Ptr GLubyte -> Ptr GLfloat -> m ()
+ffiPtrubytePtrfloatIOV fp v0 v1 = liftIO (dynPtrubytePtrfloatIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynubyteubyteubyteubytefloatfloatfloatIOV :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiubyteubyteubyteubytefloatfloatfloatIOV :: MonadIO m => FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiubyteubyteubyteubytefloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynubyteubyteubyteubytefloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynushortushortushortushortIOV :: FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ()) -> GLushort -> GLushort -> GLushort -> GLushort -> IO ()
+
+ffiushortushortushortushortIOV :: MonadIO m => FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ()) -> GLushort -> GLushort -> GLushort -> GLushort -> m ()
+ffiushortushortushortushortIOV fp v0 v1 v2 v3 = liftIO (dynushortushortushortushortIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynintenumsizeiIOV :: FunPtr (GLint -> GLenum -> GLsizei -> IO ()) -> GLint -> GLenum -> GLsizei -> IO ()
+
+ffiintenumsizeiIOV :: MonadIO m => FunPtr (GLint -> GLenum -> GLsizei -> IO ()) -> GLint -> GLenum -> GLsizei -> m ()
+ffiintenumsizeiIOV fp v0 v1 v2 = liftIO (dynintenumsizeiIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumuintuintuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffienumuintuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffienumuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumuintuintuintuintuintuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffienumuintuintuintuintuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffienumuintuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumuintuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynenumuintuintuintuintuintuintuintuintuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffienumuintuintuintuintuintuintuintuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffienumuintuintuintuintuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO (dynenumuintuintuintuintuintuintuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12)
+
+foreign import CALLCONV "dynamic" dynbooleanbooleanbooleanbooleanIOV :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()) -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
+
+ffibooleanbooleanbooleanbooleanIOV :: MonadIO m => FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()) -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
+ffibooleanbooleanbooleanbooleanIOV fp v0 v1 v2 v3 = liftIO (dynbooleanbooleanbooleanbooleanIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintbooleanbooleanbooleanbooleanIOV :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()) -> GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
+
+ffiuintbooleanbooleanbooleanbooleanIOV :: MonadIO m => FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()) -> GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
+ffiuintbooleanbooleanbooleanbooleanIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintbooleanbooleanbooleanbooleanIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumPtruintIOV :: FunPtr (GLenum -> Ptr GLuint -> IO ()) -> GLenum -> Ptr GLuint -> IO ()
+
+ffienumPtruintIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLuint -> IO ()) -> GLenum -> Ptr GLuint -> m ()
+ffienumPtruintIOV fp v0 v1 = liftIO (dynenumPtruintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintenumsizeiPtrVIOV :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffiintenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLint -> GLenum -> GLsizei -> Ptr () -> m ()
+ffiintenumsizeiPtrVIOV fp v0 v1 v2 v3 = liftIO (dynintenumsizeiPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynintenumsizeisizeiPtrVIOV :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()) -> GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()
+
+ffiintenumsizeisizeiPtrVIOV :: MonadIO m => FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()) -> GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> m ()
+ffiintenumsizeisizeiPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynintenumsizeisizeiPtrVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynintenumintPtrPtrVintIOV :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> IO ()) -> GLint -> GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> IO ()
+
+ffiintenumintPtrPtrVintIOV :: MonadIO m => FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> IO ()) -> GLint -> GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> m ()
+ffiintenumintPtrPtrVintIOV fp v0 v1 v2 v3 v4 = liftIO (dynintenumintPtrPtrVintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynintenumPtrPtrVIOV :: FunPtr (GLint -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLint -> GLenum -> Ptr (Ptr ()) -> IO ()
+
+ffiintenumPtrPtrVIOV :: MonadIO m => FunPtr (GLint -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLint -> GLenum -> Ptr (Ptr ()) -> m ()
+ffiintenumPtrPtrVIOV fp v0 v1 v2 = liftIO (dynintenumPtrPtrVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumsizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumsizeienumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumenumsizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumenumsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumPtrfloatIOV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+ffienumenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> Ptr GLfloat -> m ()
+ffienumenumPtrfloatIOV fp v0 v1 v2 = liftIO (dynenumenumPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumPtrintIOV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> Ptr GLint -> IO ()
+
+ffienumenumPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> Ptr GLint -> m ()
+ffienumenumPtrintIOV fp v0 v1 v2 = liftIO (dynenumenumPtrintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumenumenumenumenumIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
+
+ffienumenumenumenumenumenumIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
+ffienumenumenumenumenumenumIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumenumenumenumenumIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumenumenumenumenumenumbooleanbooleanbooleanIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ()
+
+ffienumenumenumenumenumenumenumbooleanbooleanbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> m ()
+ffienumenumenumenumenumenumenumbooleanbooleanbooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumenumenumenumenumenumenumbooleanbooleanbooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynenumPtrintIOV :: FunPtr (GLenum -> Ptr GLint -> IO ()) -> GLenum -> Ptr GLint -> IO ()
+
+ffienumPtrintIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLint -> IO ()) -> GLenum -> Ptr GLint -> m ()
+ffienumPtrintIOV fp v0 v1 = liftIO (dynenumPtrintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynhandleARBIOV :: FunPtr (GLhandleARB -> IO ()) -> GLhandleARB -> IO ()
+
+ffihandleARBIOV :: MonadIO m => FunPtr (GLhandleARB -> IO ()) -> GLhandleARB -> m ()
+ffihandleARBIOV fp v0 = liftIO (dynhandleARBIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrPtrcharPtrintIOV :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ()) -> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ()
+
+ffiuintsizeiPtrPtrcharPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ()) -> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()
+ffiuintsizeiPtrPtrcharPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrPtrcharPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumintenumsizeiintsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
+
+ffienumenumintenumsizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
+ffienumenumintenumsizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumenumintenumsizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynenumenumintenumsizeisizeiintsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
+
+ffienumenumintenumsizeisizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
+ffienumenumintenumsizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumenumintenumsizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynenumenumintenumsizeisizeisizeiintsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
+
+ffienumenumintenumsizeisizeisizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
+ffienumenumintenumsizeisizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumenumintenumsizeisizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynenumenumintintsizeienumsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffienumenumintintsizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
+ffienumenumintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumenumintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynenumenumintintintsizeisizeienumsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffienumenumintintintsizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
+ffienumenumintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumenumintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynenumenumintintintintsizeisizeisizeienumsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffienumenumintintintintsizeisizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
+ffienumenumintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynenumenumintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
+
+foreign import CALLCONV "dynamic" dynenumintenumsizeiintsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
+
+ffienumintenumsizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
+ffienumintenumsizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumintenumsizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumintenumsizeisizeiintsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
+
+ffienumintenumsizeisizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
+ffienumintenumsizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumintenumsizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynenumintenumsizeisizeisizeiintsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
+
+ffienumintenumsizeisizeisizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
+ffienumintenumsizeisizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumintenumsizeisizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynenumintintsizeienumsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffienumintintsizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
+ffienumintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumintintintsizeisizeienumsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffienumintintintsizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
+ffienumintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynenumintintintintsizeisizeisizeienumsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffienumintintintintsizeisizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
+ffienumintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynenumintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
+
+foreign import CALLCONV "dynamic" dynuintenumintenumsizeiintsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
+
+ffiuintenumintenumsizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
+ffiuintenumintenumsizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumintenumsizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintenumintenumsizeisizeiintsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
+
+ffiuintenumintenumsizeisizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
+ffiuintenumintenumsizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumintenumsizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintenumintenumsizeisizeisizeiintsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()
+
+ffiuintenumintenumsizeisizeisizeiintsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr () -> m ()
+ffiuintenumintenumsizeisizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintenumintenumsizeisizeisizeiintsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynuintintintsizeienumsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffiuintintintsizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
+ffiuintintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintenumintintsizeienumsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffiuintenumintintsizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
+ffiuintenumintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumintintsizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintintintintsizeisizeienumsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffiuintintintintsizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
+ffiuintintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintenumintintintsizeisizeienumsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffiuintenumintintintsizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
+ffiuintenumintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintenumintintintsizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynuintintintintintsizeisizeisizeienumsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffiuintintintintintsizeisizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
+ffiuintintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
+
+foreign import CALLCONV "dynamic" dynuintenumintintintintsizeisizeisizeienumsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffiuintenumintintintintsizeisizeisizeienumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr () -> m ()
+ffiuintenumintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynuintenumintintintintsizeisizeisizeienumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
+
+foreign import CALLCONV "dynamic" dynenumenumsizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumenumsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumenumsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumenumsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumenumfloatIOV :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ()) -> GLenum -> GLenum -> GLfloat -> IO ()
+
+ffienumenumfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLfloat -> IO ()) -> GLenum -> GLenum -> GLfloat -> m ()
+ffienumenumfloatIOV fp v0 v1 v2 = liftIO (dynenumenumfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumfixedIOV :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ()) -> GLenum -> GLenum -> GLfixed -> IO ()
+
+ffienumenumfixedIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLfixed -> IO ()) -> GLenum -> GLenum -> GLfixed -> m ()
+ffienumenumfixedIOV fp v0 v1 v2 = liftIO (dynenumenumfixedIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumPtrfixedIOV :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ()) -> GLenum -> GLenum -> Ptr GLfixed -> IO ()
+
+ffienumenumPtrfixedIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ()) -> GLenum -> GLenum -> Ptr GLfixed -> m ()
+ffienumenumPtrfixedIOV fp v0 v1 v2 = liftIO (dynenumenumPtrfixedIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumintptrintptrsizeiptrIOV :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
+
+ffienumenumintptrintptrsizeiptrIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()
+ffienumenumintptrintptrsizeiptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumintptrintptrsizeiptrIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumsizeiintintsizeiIOV :: FunPtr (GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ()
+
+ffienumsizeiintintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> m ()
+ffienumsizeiintintsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumsizeiintintsizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumintintsizeiIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ()
+
+ffienumenumintintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> m ()
+ffienumenumintintsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumintintsizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumintintsizeisizeiIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffienumenumintintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
+ffienumenumintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintenumintintintintuintenumintintintintsizeisizeisizeiIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+ffiuintenumintintintintuintenumintintintintsizeisizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()
+ffiuintenumintintintintuintenumintintintintsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 = liftIO (dynuintenumintintintintuintenumintintintintsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14)
+
+foreign import CALLCONV "dynamic" dynenumenumintenumintintsizeiintIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
+
+ffienumenumintenumintintsizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()
+ffienumenumintenumintintsizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumenumintenumintintsizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynenumenumintenumintintsizeisizeiintIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
+
+ffienumenumintenumintintsizeisizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()
+ffienumenumintenumintintsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumenumintenumintintsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynenumenumintintintintsizeiIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
+
+ffienumenumintintintintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
+ffienumenumintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumenumintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumenumintintintintintsizeisizeiIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffienumenumintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
+ffienumenumintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumenumintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynenumenumintintintintintintsizeisizeiIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffienumenumintintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
+ffienumenumintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumenumintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynuintuintintptrintptrsizeiptrIOV :: FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
+
+ffiuintuintintptrintptrsizeiptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()
+ffiuintuintintptrintptrsizeiptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintintptrintptrsizeiptrIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynintintsizeisizeienumIOV :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ()
+
+ffiintintsizeisizeienumIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()
+ffiintintsizeisizeienumIOV fp v0 v1 v2 v3 v4 = liftIO (dynintintsizeisizeienumIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumintenumintintsizeiintIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()) -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
+
+ffienumintenumintintsizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()) -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()
+ffienumintenumintintsizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumintenumintintsizeiintIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumintenumintintsizeisizeiintIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
+
+ffienumintenumintintsizeisizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()
+ffienumintenumintintsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumintenumintintsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynenumintintintintsizeiIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
+
+ffienumintintintintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
+ffienumintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumintintintintintsizeisizeiIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffienumintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
+ffienumintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynenumintintintintintintsizeisizeiIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffienumintintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
+ffienumintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintenumintenumintintsizeiintIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
+
+ffiuintenumintenumintintsizeiintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()
+ffiuintenumintenumintintsizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumintenumintintsizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintenumintenumintintsizeisizeiintIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
+
+ffiuintenumintenumintintsizeisizeiintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()
+ffiuintenumintenumintintsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumintenumintintsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintuintintsizeiIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLsizei -> IO ()) -> GLuint -> GLuint -> GLint -> GLsizei -> IO ()
+
+ffiuintuintintsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLsizei -> IO ()) -> GLuint -> GLuint -> GLint -> GLsizei -> m ()
+ffiuintuintintsizeiIOV fp v0 v1 v2 v3 = liftIO (dynuintuintintsizeiIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintintintintsizeiIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
+
+ffiuintintintintintsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
+ffiuintintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintenumintintintintsizeiIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
+
+ffiuintenumintintintintsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
+ffiuintenumintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumintintintintsizeiIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintintintintintintsizeisizeiIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffiuintintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
+ffiuintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintenumintintintintintsizeisizeiIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffiuintenumintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
+ffiuintenumintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintintintintintintintsizeisizeiIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffiuintintintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
+ffiuintintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintenumintintintintintintsizeisizeiIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffiuintenumintintintintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
+ffiuintenumintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintenumintintintintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynsizeienumPtrVuintenumenumPtrfloatIOV :: FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+ffisizeienumPtrVuintenumenumPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
+ffisizeienumPtrVuintenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynsizeienumPtrVuintenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynbooleanIOV :: FunPtr (GLboolean -> IO ()) -> GLboolean -> IO ()
+
+ffibooleanIOV :: MonadIO m => FunPtr (GLboolean -> IO ()) -> GLboolean -> m ()
+ffibooleanIOV fp v0 = liftIO (dynbooleanIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynsizeiPtrfloatIOV :: FunPtr (GLsizei -> Ptr GLfloat -> IO ()) -> GLsizei -> Ptr GLfloat -> IO ()
+
+ffisizeiPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLfloat -> IO ()) -> GLsizei -> Ptr GLfloat -> m ()
+ffisizeiPtrfloatIOV fp v0 v1 = liftIO (dynsizeiPtrfloatIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynsizeiPtruintIOV :: FunPtr (GLsizei -> Ptr GLuint -> IO ()) -> GLsizei -> Ptr GLuint -> IO ()
+
+ffisizeiPtruintIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLuint -> IO ()) -> GLsizei -> Ptr GLuint -> m ()
+ffisizeiPtruintIOV fp v0 v1 = liftIO (dynsizeiPtruintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintPtruintIOV :: FunPtr (GLuint -> Ptr GLuint -> IO ()) -> GLuint -> Ptr GLuint -> IO ()
+
+ffiuintPtruintIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLuint -> IO ()) -> GLuint -> Ptr GLuint -> m ()
+ffiuintPtruintIOV fp v0 v1 = liftIO (dynuintPtruintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynIOuint :: FunPtr (IO GLuint) -> IO GLuint
+
+ffiIOuint :: MonadIO m => FunPtr (IO GLuint) -> m GLuint
+ffiIOuint fp  = liftIO (dynIOuint fp )
+
+foreign import CALLCONV "dynamic" dynIOhandleARB :: FunPtr (IO GLhandleARB) -> IO GLhandleARB
+
+ffiIOhandleARB :: MonadIO m => FunPtr (IO GLhandleARB) -> m GLhandleARB
+ffiIOhandleARB fp  = liftIO (dynIOhandleARB fp )
+
+foreign import CALLCONV "dynamic" dynenumsizeiPtruintIOV :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ()) -> GLenum -> GLsizei -> Ptr GLuint -> IO ()
+
+ffienumsizeiPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ()) -> GLenum -> GLsizei -> Ptr GLuint -> m ()
+ffienumsizeiPtruintIOV fp v0 v1 v2 = liftIO (dynenumsizeiPtruintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumIOhandleARB :: FunPtr (GLenum -> IO GLhandleARB) -> GLenum -> IO GLhandleARB
+
+ffienumIOhandleARB :: MonadIO m => FunPtr (GLenum -> IO GLhandleARB) -> GLenum -> m GLhandleARB
+ffienumIOhandleARB fp v0 = liftIO (dynenumIOhandleARB fp v0)
+
+foreign import CALLCONV "dynamic" dynenumPtrcharIOuint :: FunPtr (GLenum -> Ptr GLchar -> IO GLuint) -> GLenum -> Ptr GLchar -> IO GLuint
+
+ffienumPtrcharIOuint :: MonadIO m => FunPtr (GLenum -> Ptr GLchar -> IO GLuint) -> GLenum -> Ptr GLchar -> m GLuint
+ffienumPtrcharIOuint fp v0 v1 = liftIO (dynenumPtrcharIOuint fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumsizeiPtrPtrcharIOuint :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint) -> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint
+
+ffienumsizeiPtrPtrcharIOuint :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint) -> GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint
+ffienumsizeiPtrPtrcharIOuint fp v0 v1 v2 = liftIO (dynenumsizeiPtrPtrcharIOuint fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtrVPtrVbitfieldIOsync :: FunPtr (Ptr () -> Ptr () -> GLbitfield -> IO GLsync) -> Ptr () -> Ptr () -> GLbitfield -> IO GLsync
+
+ffiPtrVPtrVbitfieldIOsync :: MonadIO m => FunPtr (Ptr () -> Ptr () -> GLbitfield -> IO GLsync) -> Ptr () -> Ptr () -> GLbitfield -> m GLsync
+ffiPtrVPtrVbitfieldIOsync fp v0 v1 v2 = liftIO (dynPtrVPtrVbitfieldIOsync fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynDEBUGPROCPtrVIOV :: FunPtr (GLDEBUGPROC -> Ptr () -> IO ()) -> GLDEBUGPROC -> Ptr () -> IO ()
+
+ffiDEBUGPROCPtrVIOV :: MonadIO m => FunPtr (GLDEBUGPROC -> Ptr () -> IO ()) -> GLDEBUGPROC -> Ptr () -> m ()
+ffiDEBUGPROCPtrVIOV fp v0 v1 = liftIO (dynDEBUGPROCPtrVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynDEBUGPROCAMDPtrVIOV :: FunPtr (GLDEBUGPROCAMD -> Ptr () -> IO ()) -> GLDEBUGPROCAMD -> Ptr () -> IO ()
+
+ffiDEBUGPROCAMDPtrVIOV :: MonadIO m => FunPtr (GLDEBUGPROCAMD -> Ptr () -> IO ()) -> GLDEBUGPROCAMD -> Ptr () -> m ()
+ffiDEBUGPROCAMDPtrVIOV fp v0 v1 = liftIO (dynDEBUGPROCAMDPtrVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynDEBUGPROCARBPtrVIOV :: FunPtr (GLDEBUGPROCARB -> Ptr () -> IO ()) -> GLDEBUGPROCARB -> Ptr () -> IO ()
+
+ffiDEBUGPROCARBPtrVIOV :: MonadIO m => FunPtr (GLDEBUGPROCARB -> Ptr () -> IO ()) -> GLDEBUGPROCARB -> Ptr () -> m ()
+ffiDEBUGPROCARBPtrVIOV fp v0 v1 = liftIO (dynDEBUGPROCARBPtrVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynDEBUGPROCKHRPtrVIOV :: FunPtr (GLDEBUGPROCKHR -> Ptr () -> IO ()) -> GLDEBUGPROCKHR -> Ptr () -> IO ()
+
+ffiDEBUGPROCKHRPtrVIOV :: MonadIO m => FunPtr (GLDEBUGPROCKHR -> Ptr () -> IO ()) -> GLDEBUGPROCKHR -> Ptr () -> m ()
+ffiDEBUGPROCKHRPtrVIOV fp v0 v1 = liftIO (dynDEBUGPROCKHRPtrVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumenumenumsizeiPtruintbooleanIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()
+
+ffienumenumenumsizeiPtruintbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()
+ffienumenumenumsizeiPtruintbooleanIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumenumsizeiPtruintbooleanIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumsizeiPtruintbooleanIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()
+
+ffienumenumsizeiPtruintbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()
+ffienumenumsizeiPtruintbooleanIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumsizeiPtruintbooleanIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumuintenumsizeiPtrcharIOV :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ()
+
+ffienumenumuintenumsizeiPtrcharIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()
+ffienumenumuintenumsizeiPtrcharIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumuintenumsizeiPtrcharIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumuintsizeiPtrcharIOV :: FunPtr (GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()
+
+ffienumenumuintsizeiPtrcharIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()
+ffienumenumuintsizeiPtrcharIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumuintsizeiPtrcharIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumdoubledoubleintintdoubledoubleintintdoubledoubleintintPtrdoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+ffienumdoubledoubleintintdoubledoubleintintdoubledoubleintintPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
+ffienumdoubledoubleintintdoubledoubleintintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO (dynenumdoubledoubleintintdoubledoubleintintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13)
+
+foreign import CALLCONV "dynamic" dynenumfloatfloatintintfloatfloatintintfloatfloatintintPtrfloatIOV :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+ffienumfloatfloatintintfloatfloatintintfloatfloatintintPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
+ffienumfloatfloatintintfloatfloatintintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO (dynenumfloatfloatintintfloatfloatintintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13)
+
+foreign import CALLCONV "dynamic" dynuintsizeiIOV :: FunPtr (GLuint -> GLsizei -> IO ()) -> GLuint -> GLsizei -> IO ()
+
+ffiuintsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> IO ()) -> GLuint -> GLsizei -> m ()
+ffiuintsizeiIOV fp v0 v1 = liftIO (dynuintsizeiIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintPtrcharIOV :: FunPtr (GLint -> Ptr GLchar -> IO ()) -> GLint -> Ptr GLchar -> IO ()
+
+ffiintPtrcharIOV :: MonadIO m => FunPtr (GLint -> Ptr GLchar -> IO ()) -> GLint -> Ptr GLchar -> m ()
+ffiintPtrcharIOV fp v0 v1 = liftIO (dynintPtrcharIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumuintPtruintIOV :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ()) -> GLenum -> GLuint -> Ptr GLuint -> IO ()
+
+ffienumuintPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ()) -> GLenum -> GLuint -> Ptr GLuint -> m ()
+ffienumuintPtruintIOV fp v0 v1 v2 = liftIO (dynenumuintPtruintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynsyncIOV :: FunPtr (GLsync -> IO ()) -> GLsync -> IO ()
+
+ffisyncIOV :: MonadIO m => FunPtr (GLsync -> IO ()) -> GLsync -> m ()
+ffisyncIOV fp v0 = liftIO (dynsyncIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynclampdclampdIOV :: FunPtr (GLclampd -> GLclampd -> IO ()) -> GLclampd -> GLclampd -> IO ()
+
+fficlampdclampdIOV :: MonadIO m => FunPtr (GLclampd -> GLclampd -> IO ()) -> GLclampd -> GLclampd -> m ()
+fficlampdclampdIOV fp v0 v1 = liftIO (dynclampdclampdIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dyndoubledoubleIOV :: FunPtr (GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> IO ()
+
+ffidoubledoubleIOV :: MonadIO m => FunPtr (GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> m ()
+ffidoubledoubleIOV fp v0 v1 = liftIO (dyndoubledoubleIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrfloatIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+ffiuintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
+ffiuintsizeiPtrfloatIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrdoubleIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()
+
+ffiuintsizeiPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLuint -> GLsizei -> Ptr GLdouble -> m ()
+ffiuintsizeiPtrdoubleIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrdoubleIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintdoubledoubleIOV :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLdouble -> GLdouble -> IO ()
+
+ffiuintdoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLdouble -> GLdouble -> m ()
+ffiuintdoubledoubleIOV fp v0 v1 v2 = liftIO (dynuintdoubledoubleIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> IO ()
+
+ffiuintfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> m ()
+ffiuintfloatfloatIOV fp v0 v1 v2 = liftIO (dynuintfloatfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> IO ()
+
+ffifloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> m ()
+ffifloatfloatIOV fp v0 v1 = liftIO (dynfloatfloatIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynclampfclampfIOV :: FunPtr (GLclampf -> GLclampf -> IO ()) -> GLclampf -> GLclampf -> IO ()
+
+fficlampfclampfIOV :: MonadIO m => FunPtr (GLclampf -> GLclampf -> IO ()) -> GLclampf -> GLclampf -> m ()
+fficlampfclampfIOV fp v0 v1 = liftIO (dynclampfclampfIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynfixedfixedIOV :: FunPtr (GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> IO ()
+
+ffifixedfixedIOV :: MonadIO m => FunPtr (GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> m ()
+ffifixedfixedIOV fp v0 v1 = liftIO (dynfixedfixedIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumsizeiPtrfloatIOV :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()
+
+ffienumsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
+ffienumsizeiPtrfloatIOV fp v0 v1 v2 = liftIO (dynenumsizeiPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumsizeiPtrenumIOV :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()) -> GLenum -> GLsizei -> Ptr GLenum -> IO ()
+
+ffienumsizeiPtrenumIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ()) -> GLenum -> GLsizei -> Ptr GLenum -> m ()
+ffienumsizeiPtrenumIOV fp v0 v1 v2 = liftIO (dynenumsizeiPtrenumIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintuintuintuintuintuintIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffiuintuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffiuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynintptrIOV :: FunPtr (GLintptr -> IO ()) -> GLintptr -> IO ()
+
+ffiintptrIOV :: MonadIO m => FunPtr (GLintptr -> IO ()) -> GLintptr -> m ()
+ffiintptrIOV fp v0 = liftIO (dynintptrIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynenumintsizeiIOV :: FunPtr (GLenum -> GLint -> GLsizei -> IO ()) -> GLenum -> GLint -> GLsizei -> IO ()
+
+ffienumintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLsizei -> IO ()) -> GLenum -> GLint -> GLsizei -> m ()
+ffienumintsizeiIOV fp v0 v1 v2 = liftIO (dynenumintsizeiIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumPtrVIOV :: FunPtr (GLenum -> Ptr () -> IO ()) -> GLenum -> Ptr () -> IO ()
+
+ffienumPtrVIOV :: MonadIO m => FunPtr (GLenum -> Ptr () -> IO ()) -> GLenum -> Ptr () -> m ()
+ffienumPtrVIOV fp v0 v1 = liftIO (dynenumPtrVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumintsizeisizeiIOV :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffienumintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLint -> GLsizei -> GLsizei -> m ()
+ffienumintsizeisizeiIOV fp v0 v1 v2 v3 = liftIO (dynenumintsizeisizeiIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumintsizeisizeiuintIOV :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ()) -> GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ()
+
+ffienumintsizeisizeiuintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ()) -> GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()
+ffienumintsizeisizeiuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumintsizeisizeiuintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynsizeiPtrenumIOV :: FunPtr (GLsizei -> Ptr GLenum -> IO ()) -> GLsizei -> Ptr GLenum -> IO ()
+
+ffisizeiPtrenumIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLenum -> IO ()) -> GLsizei -> Ptr GLenum -> m ()
+ffisizeiPtrenumIOV fp v0 v1 = liftIO (dynsizeiPtrenumIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintPtrenumPtrintIOV :: FunPtr (GLint -> Ptr GLenum -> Ptr GLint -> IO ()) -> GLint -> Ptr GLenum -> Ptr GLint -> IO ()
+
+ffiintPtrenumPtrintIOV :: MonadIO m => FunPtr (GLint -> Ptr GLenum -> Ptr GLint -> IO ()) -> GLint -> Ptr GLenum -> Ptr GLint -> m ()
+ffiintPtrenumPtrintIOV fp v0 v1 v2 = liftIO (dynintPtrenumPtrintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumsizeiIOV :: FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> IO ()
+
+ffienumsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> m ()
+ffienumsizeiIOV fp v0 v1 = liftIO (dynenumsizeiIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumsizeienumPtrVIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> IO ()
+
+ffienumsizeienumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> m ()
+ffienumsizeienumPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeienumPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumsizeienumPtrVintIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ()
+
+ffienumsizeienumPtrVintIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLint -> m ()
+ffienumsizeienumPtrVintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumsizeienumPtrVintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumenumPtrVIOV fp v0 v1 v2 = liftIO (dynenumenumPtrVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumsizeienumPtrVsizeiIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ()
+
+ffienumsizeienumPtrVsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
+ffienumsizeienumPtrVsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumsizeienumPtrVsizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumsizeienumPtrVsizeiuintIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLuint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLuint -> IO ()
+
+ffienumsizeienumPtrVsizeiuintIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLuint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLuint -> m ()
+ffienumsizeienumPtrVsizeiuintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumsizeienumPtrVsizeiuintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumsizeienumPtrVsizeiintIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> IO ()
+
+ffienumsizeienumPtrVsizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> m ()
+ffienumsizeienumPtrVsizeiintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumsizeienumPtrVsizeiintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumsizeienumPtrVsizeiintuintIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> GLuint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> GLuint -> IO ()
+
+ffienumsizeienumPtrVsizeiintuintIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> GLuint -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> GLuint -> m ()
+ffienumsizeienumPtrVsizeiintuintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumsizeienumPtrVsizeiintuintIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynsizeisizeienumenumPtrVIOV :: FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffisizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumuintuintintsizeiIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ()
+
+ffienumuintuintintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> m ()
+ffienumuintuintintsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintuintintsizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumuintuintsizeiIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> IO ()
+
+ffienumuintuintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> m ()
+ffienumuintuintsizeiIOV fp v0 v1 v2 v3 = liftIO (dynenumuintuintsizeiIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumuintuintsizeienumPtrVIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> IO ()
+
+ffienumuintuintsizeienumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> m ()
+ffienumuintuintsizeienumPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintuintsizeienumPtrVIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumuintuintsizeienumPtrVintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ()
+
+ffienumuintuintsizeienumPtrVintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> GLint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr () -> GLint -> m ()
+ffienumuintuintsizeienumPtrVintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumuintuintsizeienumPtrVintIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynfloatfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffifloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffifloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynintintintintintIOV :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+ffiintintintintintIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()
+ffiintintintintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynintintintintintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynshortshortshortshortshortIOV :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
+
+ffishortshortshortshortshortIOV :: MonadIO m => FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
+ffishortshortshortshortshortIOV fp v0 v1 v2 v3 v4 = liftIO (dynshortshortshortshortshortIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintuintfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiuintuintfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiuintuintfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintuintfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
+
+foreign import CALLCONV "dynamic" dynfixedfixedfixedfixedfixedIOV :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+ffifixedfixedfixedfixedfixedIOV :: MonadIO m => FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
+ffifixedfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4 = liftIO (dynfixedfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumuintsizeiIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLsizei -> IO ()
+
+ffienumuintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLsizei -> m ()
+ffienumuintsizeiIOV fp v0 v1 v2 = liftIO (dynenumuintsizeiIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumeglImageOESIOV :: FunPtr (GLenum -> GLeglImageOES -> IO ()) -> GLenum -> GLeglImageOES -> IO ()
+
+ffienumeglImageOESIOV :: MonadIO m => FunPtr (GLenum -> GLeglImageOES -> IO ()) -> GLenum -> GLeglImageOES -> m ()
+ffienumeglImageOESIOV fp v0 v1 = liftIO (dynenumeglImageOESIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynsizeiIOV :: FunPtr (GLsizei -> IO ()) -> GLsizei -> IO ()
+
+ffisizeiIOV :: MonadIO m => FunPtr (GLsizei -> IO ()) -> GLsizei -> m ()
+ffisizeiIOV fp v0 = liftIO (dynsizeiIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynsizeiPtrVIOV :: FunPtr (GLsizei -> Ptr () -> IO ()) -> GLsizei -> Ptr () -> IO ()
+
+ffisizeiPtrVIOV :: MonadIO m => FunPtr (GLsizei -> Ptr () -> IO ()) -> GLsizei -> Ptr () -> m ()
+ffisizeiPtrVIOV fp v0 v1 = liftIO (dynsizeiPtrVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynsizeisizeiPtrbooleanIOV :: FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ()) -> GLsizei -> GLsizei -> Ptr GLboolean -> IO ()
+
+ffisizeisizeiPtrbooleanIOV :: MonadIO m => FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ()) -> GLsizei -> GLsizei -> Ptr GLboolean -> m ()
+ffisizeisizeiPtrbooleanIOV fp v0 v1 v2 = liftIO (dynsizeisizeiPtrbooleanIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintPtrPtrbooleanintIOV :: FunPtr (GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ()) -> GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ()
+
+ffiintPtrPtrbooleanintIOV :: MonadIO m => FunPtr (GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ()) -> GLint -> Ptr (Ptr GLboolean) -> GLint -> m ()
+ffiintPtrPtrbooleanintIOV fp v0 v1 v2 = liftIO (dynintPtrPtrbooleanintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtrbooleanIOV :: FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> IO ()
+
+ffiPtrbooleanIOV :: MonadIO m => FunPtr (Ptr GLboolean -> IO ()) -> Ptr GLboolean -> m ()
+ffiPtrbooleanIOV fp v0 = liftIO (dynPtrbooleanIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynenumintintIOV :: FunPtr (GLenum -> GLint -> GLint -> IO ()) -> GLenum -> GLint -> GLint -> IO ()
+
+ffienumintintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> IO ()) -> GLenum -> GLint -> GLint -> m ()
+ffienumintintIOV fp v0 v1 v2 = liftIO (dynenumintintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumintintintintIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+ffienumintintintintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> m ()
+ffienumintintintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumintintintintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynintintIOV :: FunPtr (GLint -> GLint -> IO ()) -> GLint -> GLint -> IO ()
+
+ffiintintIOV :: MonadIO m => FunPtr (GLint -> GLint -> IO ()) -> GLint -> GLint -> m ()
+ffiintintIOV fp v0 v1 = liftIO (dynintintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumuintPtrfloatIOV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> Ptr GLfloat -> IO ()
+
+ffienumuintPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> Ptr GLfloat -> m ()
+ffienumuintPtrfloatIOV fp v0 v1 v2 = liftIO (dynenumuintPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumPtrPtrVIOV :: FunPtr (GLenum -> Ptr (Ptr ()) -> IO ()) -> GLenum -> Ptr (Ptr ()) -> IO ()
+
+ffienumPtrPtrVIOV :: MonadIO m => FunPtr (GLenum -> Ptr (Ptr ()) -> IO ()) -> GLenum -> Ptr (Ptr ()) -> m ()
+ffienumPtrPtrVIOV fp v0 v1 = liftIO (dynenumPtrPtrVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynPtruintintPtrintIOV :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ()) -> Ptr GLuint -> GLint -> Ptr GLint -> IO ()
+
+ffiPtruintintPtrintIOV :: MonadIO m => FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ()) -> Ptr GLuint -> GLint -> Ptr GLint -> m ()
+ffiPtruintintPtrintIOV fp v0 v1 v2 = liftIO (dynPtruintintPtrintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrcharPtrintIOV :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ()
+
+ffiuintenumPtrcharPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> m ()
+ffiuintenumPtrcharPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumPtrcharPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumintenumPtrintIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
+
+ffiuintenumintenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
+ffiuintenumintenumPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumintenumPtrintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumintintintintsizeisizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumintintintintsizeisizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynenumintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
+
+foreign import CALLCONV "dynamic" dynuintIOboolean :: FunPtr (GLuint -> IO GLboolean) -> GLuint -> IO GLboolean
+
+ffiuintIOboolean :: MonadIO m => FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
+ffiuintIOboolean fp v0 = liftIO (dynuintIOboolean fp v0)
+
+foreign import CALLCONV "dynamic" dynsizeienumPtrfloatIOV :: FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr GLfloat -> IO ()
+
+ffisizeienumPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr GLfloat -> m ()
+ffisizeienumPtrfloatIOV fp v0 v1 v2 = liftIO (dynsizeienumPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynsizeienumPtrfixedIOV :: FunPtr (GLsizei -> GLenum -> Ptr GLfixed -> IO ()) -> GLsizei -> GLenum -> Ptr GLfixed -> IO ()
+
+ffisizeienumPtrfixedIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr GLfixed -> IO ()) -> GLsizei -> GLenum -> Ptr GLfixed -> m ()
+ffisizeienumPtrfixedIOV fp v0 v1 v2 = liftIO (dynsizeienumPtrfixedIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumbitfieldIOsync :: FunPtr (GLenum -> GLbitfield -> IO GLsync) -> GLenum -> GLbitfield -> IO GLsync
+
+ffienumbitfieldIOsync :: MonadIO m => FunPtr (GLenum -> GLbitfield -> IO GLsync) -> GLenum -> GLbitfield -> m GLsync
+ffienumbitfieldIOsync fp v0 v1 = liftIO (dynenumbitfieldIOsync fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynPtruintIOint :: FunPtr (Ptr GLuint -> IO GLint) -> Ptr GLuint -> IO GLint
+
+ffiPtruintIOint :: MonadIO m => FunPtr (Ptr GLuint -> IO GLint) -> Ptr GLuint -> m GLint
+ffiPtruintIOint fp v0 = liftIO (dynPtruintIOint fp v0)
+
+foreign import CALLCONV "dynamic" dynenumintptrsizeiptrIOV :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLintptr -> GLsizeiptr -> IO ()
+
+ffienumintptrsizeiptrIOV :: MonadIO m => FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLintptr -> GLsizeiptr -> m ()
+ffienumintptrsizeiptrIOV fp v0 v1 v2 = liftIO (dynenumintptrsizeiptrIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintptrsizeiptrIOV :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+ffiuintintptrsizeiptrIOV :: MonadIO m => FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLintptr -> GLsizeiptr -> m ()
+ffiuintintptrsizeiptrIOV fp v0 v1 v2 = liftIO (dynuintintptrsizeiptrIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumintPtrPtrVintIOV :: FunPtr (GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> IO ()) -> GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> IO ()
+
+ffienumintPtrPtrVintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> IO ()) -> GLenum -> GLint -> Ptr (Ptr ()) -> GLint -> m ()
+ffienumintPtrPtrVintIOV fp v0 v1 v2 v3 = liftIO (dynenumintPtrPtrVintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynhalfNVIOV :: FunPtr (GLhalfNV -> IO ()) -> GLhalfNV -> IO ()
+
+ffihalfNVIOV :: MonadIO m => FunPtr (GLhalfNV -> IO ()) -> GLhalfNV -> m ()
+ffihalfNVIOV fp v0 = liftIO (dynhalfNVIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrenumIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ()) -> GLuint -> GLsizei -> Ptr GLenum -> IO ()
+
+ffiuintsizeiPtrenumIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ()) -> GLuint -> GLsizei -> Ptr GLenum -> m ()
+ffiuintsizeiPtrenumIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrenumIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumenumuintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> IO ()
+
+ffienumenumenumuintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> m ()
+ffienumenumenumuintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumuintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumuintsizeiPtrfloatIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+ffienumuintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
+ffienumuintsizeiPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumuintsizeiPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumuintintIOV :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ()) -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
+
+ffienumenumuintintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ()) -> GLenum -> GLenum -> GLuint -> GLint -> m ()
+ffienumenumuintintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumuintintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumenumuintintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
+
+ffienumenumenumuintintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()
+ffienumenumenumuintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumuintintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumenumuintintsizeiIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ()
+
+ffienumenumenumuintintsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> m ()
+ffienumenumenumuintintsizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumenumuintintsizeiIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumenumuintintintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
+
+ffienumenumenumuintintintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
+ffienumenumenumuintintintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumenumuintintintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumuintintenumIOV :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ()) -> GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ()
+
+ffienumenumuintintenumIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ()) -> GLenum -> GLenum -> GLuint -> GLint -> GLenum -> m ()
+ffienumenumuintintenumIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumuintintenumIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumuintintintIOV :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
+
+ffienumenumuintintintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
+ffienumenumuintintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumuintintintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dyndoubledoubledoubledoubledoubledoubleIOV :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffidoubledoubledoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffidoubledoubledoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dyndoubledoubledoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynfixedfixedfixedfixedfixedfixedIOV :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+ffifixedfixedfixedfixedfixedfixedIOV :: MonadIO m => FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
+ffifixedfixedfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynfixedfixedfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynsizeiIOuint :: FunPtr (GLsizei -> IO GLuint) -> GLsizei -> IO GLuint
+
+ffisizeiIOuint :: MonadIO m => FunPtr (GLsizei -> IO GLuint) -> GLsizei -> m GLuint
+ffisizeiIOuint fp v0 = liftIO (dynsizeiIOuint fp v0)
+
+foreign import CALLCONV "dynamic" dynuintIOuint :: FunPtr (GLuint -> IO GLuint) -> GLuint -> IO GLuint
+
+ffiuintIOuint :: MonadIO m => FunPtr (GLuint -> IO GLuint) -> GLuint -> m GLuint
+ffiuintIOuint fp v0 = liftIO (dynuintIOuint fp v0)
+
+foreign import CALLCONV "dynamic" dynenumenumenumuintIOuint :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint) -> GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint
+
+ffienumenumenumuintIOuint :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint) -> GLenum -> GLenum -> GLenum -> GLuint -> m GLuint
+ffienumenumenumuintIOuint fp v0 v1 v2 v3 = liftIO (dynenumenumenumuintIOuint fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuintenumPtrintIOV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ()
+
+ffiuintuintenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
+ffiuintuintenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuintsizeiPtrsizeiPtrintPtrenumPtrcharIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ()
+
+ffiuintuintsizeiPtrsizeiPtrintPtrenumPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()
+ffiuintuintsizeiPtrsizeiPtrintPtrenumPtrcharIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintsizeiPtrsizeiPtrintPtrenumPtrcharIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynhandleARBuintsizeiPtrsizeiPtrintPtrenumPtrcharARBIOV :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ()) -> GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ()
+
+ffihandleARBuintsizeiPtrsizeiPtrintPtrenumPtrcharARBIOV :: MonadIO m => FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ()) -> GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> m ()
+ffihandleARBuintsizeiPtrsizeiPtrintPtrenumPtrcharARBIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynhandleARBuintsizeiPtrsizeiPtrintPtrenumPtrcharARBIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintenumuintsizeiPtrsizeiPtrcharIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+ffiuintenumuintsizeiPtrsizeiPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
+ffiuintenumuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintenumuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintenumuintenumPtrintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()
+
+ffiuintenumuintenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()
+ffiuintenumuintenumPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintenumPtrintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintuintsizeiPtrsizeiPtrcharIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+ffiuintuintsizeiPtrsizeiPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
+ffiuintuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtruintenumPtrintIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ()
+
+ffiuintsizeiPtruintenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()
+ffiuintsizeiPtruintenumPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintsizeiPtruintenumPtrintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintuintsizeiPtrsizeiPtrsizeiPtrenumPtrcharIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ()
+
+ffiuintuintsizeiPtrsizeiPtrsizeiPtrenumPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()
+ffiuintuintsizeiPtrsizeiPtrsizeiPtrenumPtrcharIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintsizeiPtrsizeiPtrsizeiPtrenumPtrcharIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynhandleARBsizeiPtrsizeiPtrhandleARBIOV :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ()) -> GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ()
+
+ffihandleARBsizeiPtrsizeiPtrhandleARBIOV :: MonadIO m => FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ()) -> GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> m ()
+ffihandleARBsizeiPtrsizeiPtrhandleARBIOV fp v0 v1 v2 v3 = liftIO (dynhandleARBsizeiPtrsizeiPtrhandleARBIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrsizeiPtruintIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ()
+
+ffiuintsizeiPtrsizeiPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()
+ffiuintsizeiPtrsizeiPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrsizeiPtruintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintPtrcharIOint :: FunPtr (GLuint -> Ptr GLchar -> IO GLint) -> GLuint -> Ptr GLchar -> IO GLint
+
+ffiuintPtrcharIOint :: MonadIO m => FunPtr (GLuint -> Ptr GLchar -> IO GLint) -> GLuint -> Ptr GLchar -> m GLint
+ffiuintPtrcharIOint fp v0 v1 = liftIO (dynuintPtrcharIOint fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynhandleARBPtrcharARBIOint :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint) -> GLhandleARB -> Ptr GLcharARB -> IO GLint
+
+ffihandleARBPtrcharARBIOint :: MonadIO m => FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint) -> GLhandleARB -> Ptr GLcharARB -> m GLint
+ffihandleARBPtrcharARBIOint fp v0 v1 = liftIO (dynhandleARBPtrcharARBIOint fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumuintPtrbooleanIOV :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ()) -> GLenum -> GLuint -> Ptr GLboolean -> IO ()
+
+ffienumuintPtrbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ()) -> GLenum -> GLuint -> Ptr GLboolean -> m ()
+ffienumuintPtrbooleanIOV fp v0 v1 v2 = liftIO (dynenumuintPtrbooleanIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumPtrbooleanIOV :: FunPtr (GLenum -> Ptr GLboolean -> IO ()) -> GLenum -> Ptr GLboolean -> IO ()
+
+ffienumPtrbooleanIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLboolean -> IO ()) -> GLenum -> Ptr GLboolean -> m ()
+ffienumPtrbooleanIOV fp v0 v1 = liftIO (dynenumPtrbooleanIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumenumPtrint64IOV :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()) -> GLenum -> GLenum -> Ptr GLint64 -> IO ()
+
+ffienumenumPtrint64IOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ()) -> GLenum -> GLenum -> Ptr GLint64 -> m ()
+ffienumenumPtrint64IOV fp v0 v1 v2 = liftIO (dynenumenumPtrint64IOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumPtruint64EXTIOV :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()) -> GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()
+
+ffienumenumPtruint64EXTIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()) -> GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
+ffienumenumPtruint64EXTIOV fp v0 v1 v2 = liftIO (dynenumenumPtruint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumPtrPtrVIOV :: FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()
+
+ffienumenumPtrPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLenum -> GLenum -> Ptr (Ptr ()) -> m ()
+ffienumenumPtrPtrVIOV fp v0 v1 v2 = liftIO (dynenumenumPtrPtrVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumenumenumPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumenumenumPtrfloatIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+ffienumenumenumenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
+ffienumenumenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumenumPtrfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumenumenumPtrintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
+
+ffienumenumenumenumPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
+ffienumenumenumenumPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumenumPtrintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumenumPtrfloatIOV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+ffienumenumenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
+ffienumenumenumPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumenumPtrintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
+
+ffienumenumenumPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
+ffienumenumenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumintPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> Ptr () -> IO ()
+
+ffienumenumintPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> Ptr () -> m ()
+ffienumenumintPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumenumintPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumintPtrVIOV :: FunPtr (GLenum -> GLint -> Ptr () -> IO ()) -> GLenum -> GLint -> Ptr () -> IO ()
+
+ffienumintPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr () -> IO ()) -> GLenum -> GLint -> Ptr () -> m ()
+ffienumintPtrVIOV fp v0 v1 v2 = liftIO (dynenumintPtrVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr () -> IO ()
+
+ffiuintintsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr () -> m ()
+ffiuintintsizeiPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumintPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr () -> IO ()
+
+ffiuintenumintPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> Ptr () -> m ()
+ffiuintenumintPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintenumintPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintintintintsizeisizeisizeisizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr () -> IO ()
+
+ffiuintintintintintsizeisizeisizeisizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr () -> m ()
+ffiuintintintintintsizeisizeisizeisizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintintintintintsizeisizeisizeisizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrenumPtrenumPtruintPtrenumPtrsizeiPtrcharIOuint :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint) -> GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint
+
+ffiuintsizeiPtrenumPtrenumPtruintPtrenumPtrsizeiPtrcharIOuint :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint) -> GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint
+ffiuintsizeiPtrenumPtrenumPtruintPtrenumPtrsizeiPtrcharIOuint fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintsizeiPtrenumPtrenumPtruintPtrenumPtrsizeiPtrcharIOuint fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrenumPtruintPtruintPtrsizeiPtrcharIOuint :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint) -> GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint
+
+ffiuintsizeiPtrenumPtruintPtruintPtrsizeiPtrcharIOuint :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint) -> GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> m GLuint
+ffiuintsizeiPtrenumPtruintPtruintPtrsizeiPtrcharIOuint fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintsizeiPtrenumPtruintPtruintPtrsizeiPtrcharIOuint fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumuintPtrdoubleIOV :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ()) -> GLenum -> GLuint -> Ptr GLdouble -> IO ()
+
+ffienumuintPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ()) -> GLenum -> GLuint -> Ptr GLdouble -> m ()
+ffienumuintPtrdoubleIOV fp v0 v1 v2 = liftIO (dynenumuintPtrdoubleIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrsizeiPtrcharIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+ffiuintsizeiPtrsizeiPtrcharIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
+ffiuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynPtrintsizeiPtruintIOV :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()) -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()
+
+ffiPtrintsizeiPtruintIOV :: MonadIO m => FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()) -> Ptr GLint -> GLsizei -> Ptr GLuint -> m ()
+ffiPtrintsizeiPtruintIOV fp v0 v1 v2 = liftIO (dynPtrintsizeiPtruintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynIOenum :: FunPtr (IO GLenum) -> IO GLenum
+
+ffiIOenum :: MonadIO m => FunPtr (IO GLenum) -> m GLenum
+ffiIOenum fp  = liftIO (dynIOenum fp )
+
+foreign import CALLCONV "dynamic" dynuintenumPtrintIOV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> Ptr GLint -> IO ()
+
+ffiuintenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> Ptr GLint -> m ()
+ffiuintenumPtrintIOV fp v0 v1 v2 = liftIO (dynuintenumPtrintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumbooleanenumenumPtrVIOV :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLboolean -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumbooleanenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLboolean -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumbooleanenumenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumbooleanenumenumPtrVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintintbooleanintenumIOuint64 :: FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64) -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64
+
+ffiuintintbooleanintenumIOuint64 :: MonadIO m => FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64) -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> m GLuint64
+ffiuintintbooleanintenumIOuint64 fp v0 v1 v2 v3 v4 = liftIO (dynuintintbooleanintenumIOuint64 fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynhandleARBsizeiPtrsizeiPtrcharARBIOV :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ()) -> GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ()
+
+ffihandleARBsizeiPtrsizeiPtrcharARBIOV :: MonadIO m => FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ()) -> GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m ()
+ffihandleARBsizeiPtrsizeiPtrcharARBIOV fp v0 v1 v2 v3 = liftIO (dynhandleARBsizeiPtrsizeiPtrcharARBIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynIOint :: FunPtr (IO GLint) -> IO GLint
+
+ffiIOint :: MonadIO m => FunPtr (IO GLint) -> m GLint
+ffiIOint fp  = liftIO (dynIOint fp )
+
+foreign import CALLCONV "dynamic" dynenumuintPtrint64IOV :: FunPtr (GLenum -> GLuint -> Ptr GLint64 -> IO ()) -> GLenum -> GLuint -> Ptr GLint64 -> IO ()
+
+ffienumuintPtrint64IOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLint64 -> IO ()) -> GLenum -> GLuint -> Ptr GLint64 -> m ()
+ffienumuintPtrint64IOV fp v0 v1 v2 = liftIO (dynenumuintPtrint64IOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumPtrint64IOV :: FunPtr (GLenum -> Ptr GLint64 -> IO ()) -> GLenum -> Ptr GLint64 -> IO ()
+
+ffienumPtrint64IOV :: MonadIO m => FunPtr (GLenum -> Ptr GLint64 -> IO ()) -> GLenum -> Ptr GLint64 -> m ()
+ffienumPtrint64IOV fp v0 v1 = liftIO (dynenumPtrint64IOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumuintPtrintIOV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> Ptr GLint -> IO ()
+
+ffienumuintPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> Ptr GLint -> m ()
+ffienumuintPtrintIOV fp v0 v1 v2 = liftIO (dynenumuintPtrintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumuintPtruint64EXTIOV :: FunPtr (GLenum -> GLuint -> Ptr GLuint64EXT -> IO ()) -> GLenum -> GLuint -> Ptr GLuint64EXT -> IO ()
+
+ffienumuintPtruint64EXTIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr GLuint64EXT -> IO ()) -> GLenum -> GLuint -> Ptr GLuint64EXT -> m ()
+ffienumuintPtruint64EXTIOV fp v0 v1 v2 = liftIO (dynenumuintPtruint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumPtruint64EXTIOV :: FunPtr (GLenum -> Ptr GLuint64EXT -> IO ()) -> GLenum -> Ptr GLuint64EXT -> IO ()
+
+ffienumPtruint64EXTIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLuint64EXT -> IO ()) -> GLenum -> Ptr GLuint64EXT -> m ()
+ffienumPtruint64EXTIOV fp v0 v1 = liftIO (dynenumPtruint64EXTIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumenumsizeienumsizeiPtrintIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ()
+
+ffienumenumsizeienumsizeiPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> m ()
+ffienumenumsizeienumsizeiPtrintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumsizeienumsizeiPtrintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumenumsizeiPtrint64IOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ()
+
+ffienumenumenumsizeiPtrint64IOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()
+ffienumenumenumsizeiPtrint64IOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumsizeiPtrint64IOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumenumsizeiPtrintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()
+
+ffienumenumenumsizeiPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()
+ffienumenumenumsizeiPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumsizeiPtrintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrbooleanIOV :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ()) -> GLuint -> GLenum -> Ptr GLboolean -> IO ()
+
+ffiuintenumPtrbooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ()) -> GLuint -> GLenum -> Ptr GLboolean -> m ()
+ffiuintenumPtrbooleanIOV fp v0 v1 v2 = liftIO (dynuintenumPtrbooleanIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrfloatIOV :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+ffiuintenumPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> Ptr GLfloat -> m ()
+ffiuintenumPtrfloatIOV fp v0 v1 v2 = liftIO (dynuintenumPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumuintenumPtrfloatIOV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+ffienumuintenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()
+ffienumuintenumPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumuintenumPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumuintenumPtrintIOV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()
+
+ffienumuintenumPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()
+ffienumuintenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynenumuintenumPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumuintenumsizeisizeibooleanPtrVIOV :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr () -> IO ()) -> GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr () -> IO ()
+
+ffienumuintenumsizeisizeibooleanPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr () -> IO ()) -> GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr () -> m ()
+ffienumuintenumsizeisizeibooleanPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumuintenumsizeisizeibooleanPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumenumPtrdoubleIOV :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
+
+ffienumenumPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> GLenum -> Ptr GLdouble -> m ()
+ffienumenumPtrdoubleIOV fp v0 v1 v2 = liftIO (dynenumenumPtrdoubleIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumenumPtrdoubleIOV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
+
+ffienumenumenumPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLdouble -> m ()
+ffienumenumenumPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumPtrdoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumintenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumenumintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumenumintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumintenumPtrfloatIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
+
+ffienumenumintenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
+ffienumenumintenumPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumintenumPtrfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumintenumPtrintIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
+
+ffienumenumintenumPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
+ffienumenumintenumPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumintenumPtrintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumenumPtruintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ()
+
+ffienumenumenumPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr GLuint -> m ()
+ffienumenumenumPtruintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumPtruintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrint64IOV :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ()) -> GLuint -> GLenum -> Ptr GLint64 -> IO ()
+
+ffiuintenumPtrint64IOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ()) -> GLuint -> GLenum -> Ptr GLint64 -> m ()
+ffiuintenumPtrint64IOV fp v0 v1 v2 = liftIO (dynuintenumPtrint64IOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintenumPtruint64EXTIOV :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ()) -> GLuint -> GLenum -> Ptr GLuint64EXT -> IO ()
+
+ffiuintenumPtruint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ()) -> GLuint -> GLenum -> Ptr GLuint64EXT -> m ()
+ffiuintenumPtruint64EXTIOV fp v0 v1 v2 = liftIO (dynuintenumPtruint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrPtrVIOV :: FunPtr (GLuint -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLuint -> GLenum -> Ptr (Ptr ()) -> IO ()
+
+ffiuintenumPtrPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLuint -> GLenum -> Ptr (Ptr ()) -> m ()
+ffiuintenumPtrPtrVIOV fp v0 v1 v2 = liftIO (dynuintenumPtrPtrVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintptrsizeiptrPtrVIOV :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> IO ()) -> GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> IO ()
+
+ffiuintintptrsizeiptrPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> IO ()) -> GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> m ()
+ffiuintintptrsizeiptrPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintintptrsizeiptrPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumenumPtrintIOV :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ()
+
+ffiuintenumenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
+ffiuintenumenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumuintPtrintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ()
+
+ffiuintenumuintPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()
+ffiuintenumuintPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumuintPtruintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ()
+
+ffiuintenumuintPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLuint -> m ()
+ffiuintenumuintPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintPtruintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumuintPtrdoubleIOV :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ()
+
+ffiuintenumuintPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLdouble -> m ()
+ffiuintenumuintPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintPtrdoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumuintPtrfloatIOV :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ()
+
+ffiuintenumuintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLfloat -> m ()
+ffiuintenumuintPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintenumenumPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynintPtrcharsizeiPtrintPtrcharIOV :: FunPtr (GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ()) -> GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ()
+
+ffiintPtrcharsizeiPtrintPtrcharIOV :: MonadIO m => FunPtr (GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ()) -> GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> m ()
+ffiintPtrcharsizeiPtrintPtrcharIOV fp v0 v1 v2 v3 v4 = liftIO (dynintPtrcharsizeiPtrintPtrcharIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynintPtrcharenumPtrintIOV :: FunPtr (GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ()) -> GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ()
+
+ffiintPtrcharenumPtrintIOV :: MonadIO m => FunPtr (GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ()) -> GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> m ()
+ffiintPtrcharenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynintPtrcharenumPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumuintsizeiPtrsizeiPtrcharIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+ffienumuintsizeiPtrsizeiPtrcharIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
+ffienumuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynhandleARBenumPtrfloatIOV :: FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ()) -> GLhandleARB -> GLenum -> Ptr GLfloat -> IO ()
+
+ffihandleARBenumPtrfloatIOV :: MonadIO m => FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ()) -> GLhandleARB -> GLenum -> Ptr GLfloat -> m ()
+ffihandleARBenumPtrfloatIOV fp v0 v1 v2 = liftIO (dynhandleARBenumPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynhandleARBenumPtrintIOV :: FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ()) -> GLhandleARB -> GLenum -> Ptr GLint -> IO ()
+
+ffihandleARBenumPtrintIOV :: MonadIO m => FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ()) -> GLhandleARB -> GLenum -> Ptr GLint -> m ()
+ffihandleARBenumPtrintIOV fp v0 v1 v2 = liftIO (dynhandleARBenumPtrintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtrVsizeiPtrsizeiPtrcharIOV :: FunPtr (Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+ffiPtrVsizeiPtrsizeiPtrcharIOV :: MonadIO m => FunPtr (Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) -> Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
+ffiPtrVsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3 = liftIO (dynPtrVsizeiPtrsizeiPtrcharIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumPtruintIOV :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> Ptr GLuint -> IO ()
+
+ffiuintenumPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> Ptr GLuint -> m ()
+ffiuintenumPtruintIOV fp v0 v1 v2 = liftIO (dynuintenumPtruintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintPtrubyteIOV :: FunPtr (GLuint -> Ptr GLubyte -> IO ()) -> GLuint -> Ptr GLubyte -> IO ()
+
+ffiuintPtrubyteIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLubyte -> IO ()) -> GLuint -> Ptr GLubyte -> m ()
+ffiuintPtrubyteIOV fp v0 v1 = liftIO (dynuintPtrubyteIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintPtrfloatIOV :: FunPtr (GLuint -> Ptr GLfloat -> IO ()) -> GLuint -> Ptr GLfloat -> IO ()
+
+ffiuintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLfloat -> IO ()) -> GLuint -> Ptr GLfloat -> m ()
+ffiuintPtrfloatIOV fp v0 v1 = liftIO (dynuintPtrfloatIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintsizeisizeiIOfloat :: FunPtr (GLuint -> GLsizei -> GLsizei -> IO GLfloat) -> GLuint -> GLsizei -> GLsizei -> IO GLfloat
+
+ffiuintsizeisizeiIOfloat :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLsizei -> IO GLfloat) -> GLuint -> GLsizei -> GLsizei -> m GLfloat
+ffiuintsizeisizeiIOfloat fp v0 v1 v2 = liftIO (dynuintsizeisizeiIOfloat fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynbitfielduintsizeisizeiPtrfloatIOV :: FunPtr (GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()) -> GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()
+
+ffibitfielduintsizeisizeiPtrfloatIOV :: MonadIO m => FunPtr (GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()) -> GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
+ffibitfielduintsizeisizeiPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynbitfielduintsizeisizeiPtrfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynbitfieldsizeienumPtrVuintsizeiPtrfloatIOV :: FunPtr (GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+ffibitfieldsizeienumPtrVuintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
+ffibitfieldsizeienumPtrVuintsizeiPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynbitfieldsizeienumPtrVuintsizeiPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumsizeienumPtrVuintfloatfloatenumPtrfloatIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ()
+
+ffienumsizeienumPtrVuintfloatfloatenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> m ()
+ffienumsizeienumPtrVuintfloatfloatenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumsizeienumPtrVuintfloatfloatenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintuintuintPtrcharuintPtrcharPtruintPtruintPtruintPtruintPtruint64IOV :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ()) -> GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ()
+
+ffiuintuintuintPtrcharuintPtrcharPtruintPtruintPtruintPtruintPtruint64IOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ()) -> GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> m ()
+ffiuintuintuintPtrcharuintPtrcharPtruintPtruintPtruintPtruintPtruint64IOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintuintuintPtrcharuintPtrcharPtruintPtruintPtruintPtruintPtruint64IOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeiPtruintPtrintIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ()
+
+ffiuintenumsizeiPtruintPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> m ()
+ffiuintenumsizeiPtruintPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumsizeiPtruintPtrintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintuintenumPtrVIOV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr () -> IO ()
+
+ffiuintuintenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr () -> m ()
+ffiuintuintenumPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintPtrintPtrintsizeiPtruintIOV :: FunPtr (GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()
+
+ffiuintPtrintPtrintsizeiPtruintIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> m ()
+ffiuintPtrintPtrintsizeiPtruintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintPtrintPtrintsizeiPtruintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintuintsizeiPtrVPtruintIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ()
+
+ffiuintuintsizeiPtrVPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> m ()
+ffiuintuintsizeiPtrVPtruintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintsizeiPtrVPtruintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynPtrcharPtruintIOV :: FunPtr (Ptr GLchar -> Ptr GLuint -> IO ()) -> Ptr GLchar -> Ptr GLuint -> IO ()
+
+ffiPtrcharPtruintIOV :: MonadIO m => FunPtr (Ptr GLchar -> Ptr GLuint -> IO ()) -> Ptr GLchar -> Ptr GLuint -> m ()
+ffiPtrcharPtruintIOV fp v0 v1 = liftIO (dynPtrcharPtruintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintuintPtrcharPtruintPtruintPtruintPtruintIOV :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ()) -> GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ()
+
+ffiuintuintPtrcharPtruintPtruintPtruintPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ()) -> GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> m ()
+ffiuintuintPtrcharPtruintPtruintPtruintPtruintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintPtrcharPtruintPtruintPtruintPtruintIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumPtrushortIOV :: FunPtr (GLenum -> Ptr GLushort -> IO ()) -> GLenum -> Ptr GLushort -> IO ()
+
+ffienumPtrushortIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLushort -> IO ()) -> GLenum -> Ptr GLushort -> m ()
+ffienumPtrushortIOV fp v0 v1 = liftIO (dynenumPtrushortIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumintPtrfixedIOV :: FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ()) -> GLenum -> GLint -> Ptr GLfixed -> IO ()
+
+ffienumintPtrfixedIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ()) -> GLenum -> GLint -> Ptr GLfixed -> m ()
+ffienumintPtrfixedIOV fp v0 v1 v2 = liftIO (dynenumintPtrfixedIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumuintPtrPtrVIOV :: FunPtr (GLenum -> GLuint -> Ptr (Ptr ()) -> IO ()) -> GLenum -> GLuint -> Ptr (Ptr ()) -> IO ()
+
+ffienumuintPtrPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> Ptr (Ptr ()) -> IO ()) -> GLenum -> GLuint -> Ptr (Ptr ()) -> m ()
+ffienumuintPtrPtrVIOV fp v0 v1 v2 = liftIO (dynenumuintPtrPtrVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrsizeiPtrenumPtrVIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ()
+
+ffiuintsizeiPtrsizeiPtrenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> m ()
+ffiuintsizeiPtrsizeiPtrenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintsizeiPtrsizeiPtrenumPtrVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrubytePtrdoubleIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ()
+
+ffiuintsizeiPtrubytePtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> m ()
+ffiuintsizeiPtrubytePtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrubytePtrdoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrubytePtrfloatIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ()
+
+ffiuintsizeiPtrubytePtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> m ()
+ffiuintsizeiPtrubytePtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrubytePtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumuintenumPtrdoubleIOV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
+
+ffienumuintenumPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ()) -> GLenum -> GLuint -> GLenum -> Ptr GLdouble -> m ()
+ffienumuintenumPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynenumuintenumPtrdoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrcharIOuint :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint) -> GLuint -> GLenum -> Ptr GLchar -> IO GLuint
+
+ffiuintenumPtrcharIOuint :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint) -> GLuint -> GLenum -> Ptr GLchar -> m GLuint
+ffiuintenumPtrcharIOuint fp v0 v1 v2 = liftIO (dynuintenumPtrcharIOuint fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrcharIOint :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint) -> GLuint -> GLenum -> Ptr GLchar -> IO GLint
+
+ffiuintenumPtrcharIOint :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint) -> GLuint -> GLenum -> Ptr GLchar -> m GLint
+ffiuintenumPtrcharIOint fp v0 v1 v2 = liftIO (dynuintenumPtrcharIOint fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintenumuintsizeiPtrenumsizeiPtrsizeiPtrfloatIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ()
+
+ffiuintenumuintsizeiPtrenumsizeiPtrsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> m ()
+ffiuintenumuintsizeiPtrenumsizeiPtrsizeiPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumuintsizeiPtrenumsizeiPtrsizeiPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintenumuintsizeiPtrenumsizeiPtrsizeiPtrintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
+
+ffiuintenumuintsizeiPtrenumsizeiPtrsizeiPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()
+ffiuintenumuintsizeiPtrenumsizeiPtrsizeiPtrintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumuintsizeiPtrenumsizeiPtrsizeiPtrintIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrubyteIOV :: FunPtr (GLuint -> GLenum -> Ptr GLubyte -> IO ()) -> GLuint -> GLenum -> Ptr GLubyte -> IO ()
+
+ffiuintenumPtrubyteIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLubyte -> IO ()) -> GLuint -> GLenum -> Ptr GLubyte -> m ()
+ffiuintenumPtrubyteIOV fp v0 v1 v2 = liftIO (dynuintenumPtrubyteIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintuintenumintptrIOV :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLenum -> GLintptr -> IO ()
+
+ffiuintuintenumintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLenum -> GLintptr -> m ()
+ffiuintuintenumintptrIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumintptrIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumPtruint64IOV :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ()) -> GLuint -> GLenum -> Ptr GLuint64 -> IO ()
+
+ffiuintenumPtruint64IOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ()) -> GLuint -> GLenum -> Ptr GLuint64 -> m ()
+ffiuintenumPtruint64IOV fp v0 v1 v2 = liftIO (dynuintenumPtruint64IOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumenumPtrVPtrVPtrVIOV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> Ptr () -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr () -> Ptr () -> Ptr () -> IO ()
+
+ffienumenumenumPtrVPtrVPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> Ptr () -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> Ptr () -> Ptr () -> Ptr () -> m ()
+ffienumenumenumPtrVPtrVPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumenumPtrVPtrVPtrVIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumPtrintPtrintIOV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ()
+
+ffienumenumPtrintPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()
+ffienumenumPtrintPtrintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumPtrintPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumIOPtrubyte :: FunPtr (GLenum -> IO (Ptr GLubyte)) -> GLenum -> IO (Ptr GLubyte)
+
+ffienumIOPtrubyte :: MonadIO m => FunPtr (GLenum -> IO (Ptr GLubyte)) -> GLenum -> m (Ptr GLubyte)
+ffienumIOPtrubyte fp v0 = liftIO (dynenumIOPtrubyte fp v0)
+
+foreign import CALLCONV "dynamic" dynenumuintIOPtrubyte :: FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte)) -> GLenum -> GLuint -> IO (Ptr GLubyte)
+
+ffienumuintIOPtrubyte :: MonadIO m => FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte)) -> GLenum -> GLuint -> m (Ptr GLubyte)
+ffienumuintIOPtrubyte fp v0 v1 = liftIO (dynenumuintIOPtrubyte fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynsyncenumsizeiPtrsizeiPtrintIOV :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()) -> GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
+
+ffisyncenumsizeiPtrsizeiPtrintIOV :: MonadIO m => FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()) -> GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()
+ffisyncenumsizeiPtrsizeiPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynsyncenumsizeiPtrsizeiPtrintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumintenumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumintenumenumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumintenumenumPtrVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumintenumPtrfloatIOV :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
+
+ffienumintenumPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
+ffienumintenumPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumintenumPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumintenumPtrintIOV :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
+
+ffienumintenumPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
+ffienumintenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynenumintenumPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumintenumPtrfixedIOV :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ()) -> GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ()
+
+ffienumintenumPtrfixedIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ()) -> GLenum -> GLint -> GLenum -> Ptr GLfixed -> m ()
+ffienumintenumPtrfixedIOV fp v0 v1 v2 v3 = liftIO (dynenumintenumPtrfixedIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumPtruintIOV :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ()) -> GLenum -> GLenum -> Ptr GLuint -> IO ()
+
+ffienumenumPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ()) -> GLenum -> GLenum -> Ptr GLuint -> m ()
+ffienumenumPtruintIOV fp v0 v1 v2 = liftIO (dynenumenumPtruintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintIOuint64 :: FunPtr (GLuint -> IO GLuint64) -> GLuint -> IO GLuint64
+
+ffiuintIOuint64 :: MonadIO m => FunPtr (GLuint -> IO GLuint64) -> GLuint -> m GLuint64
+ffiuintIOuint64 fp v0 = liftIO (dynuintIOuint64 fp v0)
+
+foreign import CALLCONV "dynamic" dynuintintenumenumsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffiuintintenumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
+ffiuintintenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintenumintenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintenumintenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintenumintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintenumintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintintenumPtrfloatIOV :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ()
+
+ffiuintintenumPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()
+ffiuintintenumPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintintenumPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumintenumPtrfloatIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
+
+ffiuintenumintenumPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
+ffiuintenumintenumPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumintenumPtrfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintintenumPtrintIOV :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLint -> GLenum -> Ptr GLint -> IO ()
+
+ffiuintintenumPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> Ptr GLint -> IO ()) -> GLuint -> GLint -> GLenum -> Ptr GLint -> m ()
+ffiuintintenumPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintintenumPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumenumPtruintIOV :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ()
+
+ffiuintenumenumPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr GLuint -> m ()
+ffiuintenumenumPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumPtruintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumenumPtrfloatIOV :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+ffiuintenumenumPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
+ffiuintenumenumPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuintIOuint64 :: FunPtr (GLuint -> GLuint -> IO GLuint64) -> GLuint -> GLuint -> IO GLuint64
+
+ffiuintuintIOuint64 :: MonadIO m => FunPtr (GLuint -> GLuint -> IO GLuint64) -> GLuint -> GLuint -> m GLuint64
+ffiuintuintIOuint64 fp v0 v1 = liftIO (dynuintuintIOuint64 fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintintintintintsizeisizeisizeienumenumsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffiuintintintintintsizeisizeisizeienumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
+ffiuintintintintintsizeisizeisizeienumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynuintintintintintsizeisizeisizeienumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
+
+foreign import CALLCONV "dynamic" dynuintuintPtrintIOV :: FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()) -> GLuint -> GLuint -> Ptr GLint -> IO ()
+
+ffiuintuintPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ()) -> GLuint -> GLuint -> Ptr GLint -> m ()
+ffiuintuintPtrintIOV fp v0 v1 v2 = liftIO (dynuintuintPtrintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintenumuintPtrint64IOV :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ()
+
+ffiuintenumuintPtrint64IOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr GLint64 -> m ()
+ffiuintenumuintPtrint64IOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintPtrint64IOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintPtrcharIOuint :: FunPtr (GLuint -> Ptr GLchar -> IO GLuint) -> GLuint -> Ptr GLchar -> IO GLuint
+
+ffiuintPtrcharIOuint :: MonadIO m => FunPtr (GLuint -> Ptr GLchar -> IO GLuint) -> GLuint -> Ptr GLchar -> m GLuint
+ffiuintPtrcharIOuint fp v0 v1 = liftIO (dynuintPtrcharIOuint fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintintIOint :: FunPtr (GLuint -> GLint -> IO GLint) -> GLuint -> GLint -> IO GLint
+
+ffiuintintIOint :: MonadIO m => FunPtr (GLuint -> GLint -> IO GLint) -> GLuint -> GLint -> m GLint
+ffiuintintIOint fp v0 v1 = liftIO (dynuintintIOint fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrPtrcharPtruintIOV :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ()) -> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ()
+
+ffiuintsizeiPtrPtrcharPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ()) -> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()
+ffiuintsizeiPtrPtrcharPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrPtrcharPtruintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintIOintptr :: FunPtr (GLuint -> GLint -> IO GLintptr) -> GLuint -> GLint -> IO GLintptr
+
+ffiuintintIOintptr :: MonadIO m => FunPtr (GLuint -> GLint -> IO GLintptr) -> GLuint -> GLint -> m GLintptr
+ffiuintintIOintptr fp v0 v1 = liftIO (dynuintintIOintptr fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintintPtrdoubleIOV :: FunPtr (GLuint -> GLint -> Ptr GLdouble -> IO ()) -> GLuint -> GLint -> Ptr GLdouble -> IO ()
+
+ffiuintintPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> Ptr GLdouble -> IO ()) -> GLuint -> GLint -> Ptr GLdouble -> m ()
+ffiuintintPtrdoubleIOV fp v0 v1 v2 = liftIO (dynuintintPtrdoubleIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintPtrfloatIOV :: FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> Ptr GLfloat -> IO ()
+
+ffiuintintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> Ptr GLfloat -> m ()
+ffiuintintPtrfloatIOV fp v0 v1 v2 = liftIO (dynuintintPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynhandleARBintPtrfloatIOV :: FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ()) -> GLhandleARB -> GLint -> Ptr GLfloat -> IO ()
+
+ffihandleARBintPtrfloatIOV :: MonadIO m => FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ()) -> GLhandleARB -> GLint -> Ptr GLfloat -> m ()
+ffihandleARBintPtrfloatIOV fp v0 v1 v2 = liftIO (dynhandleARBintPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintPtrint64EXTIOV :: FunPtr (GLuint -> GLint -> Ptr GLint64EXT -> IO ()) -> GLuint -> GLint -> Ptr GLint64EXT -> IO ()
+
+ffiuintintPtrint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> Ptr GLint64EXT -> IO ()) -> GLuint -> GLint -> Ptr GLint64EXT -> m ()
+ffiuintintPtrint64EXTIOV fp v0 v1 v2 = liftIO (dynuintintPtrint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintPtrintIOV :: FunPtr (GLuint -> GLint -> Ptr GLint -> IO ()) -> GLuint -> GLint -> Ptr GLint -> IO ()
+
+ffiuintintPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> Ptr GLint -> IO ()) -> GLuint -> GLint -> Ptr GLint -> m ()
+ffiuintintPtrintIOV fp v0 v1 v2 = liftIO (dynuintintPtrintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynhandleARBintPtrintIOV :: FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ()) -> GLhandleARB -> GLint -> Ptr GLint -> IO ()
+
+ffihandleARBintPtrintIOV :: MonadIO m => FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ()) -> GLhandleARB -> GLint -> Ptr GLint -> m ()
+ffihandleARBintPtrintIOV fp v0 v1 v2 = liftIO (dynhandleARBintPtrintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintPtruint64EXTIOV :: FunPtr (GLuint -> GLint -> Ptr GLuint64EXT -> IO ()) -> GLuint -> GLint -> Ptr GLuint64EXT -> IO ()
+
+ffiuintintPtruint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> Ptr GLuint64EXT -> IO ()) -> GLuint -> GLint -> Ptr GLuint64EXT -> m ()
+ffiuintintPtruint64EXTIOV fp v0 v1 v2 = liftIO (dynuintintPtruint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintPtruintIOV :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ()) -> GLuint -> GLint -> Ptr GLuint -> IO ()
+
+ffiuintintPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ()) -> GLuint -> GLint -> Ptr GLuint -> m ()
+ffiuintintPtruintIOV fp v0 v1 v2 = liftIO (dynuintintPtruintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintuintenumPtrint64IOV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ()
+
+ffiuintuintenumPtrint64IOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()
+ffiuintuintenumPtrint64IOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumPtrint64IOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuintenumPtrPtrVIOV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr (Ptr ()) -> IO ()
+
+ffiuintuintenumPtrPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> Ptr (Ptr ()) -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr (Ptr ()) -> m ()
+ffiuintuintenumPtrPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumPtrPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrdoubleIOV :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ()) -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
+
+ffiuintenumPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ()) -> GLuint -> GLenum -> Ptr GLdouble -> m ()
+ffiuintenumPtrdoubleIOV fp v0 v1 v2 = liftIO (dynuintenumPtrdoubleIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrint64EXTIOV :: FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ()) -> GLuint -> GLenum -> Ptr GLint64EXT -> IO ()
+
+ffiuintenumPtrint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ()) -> GLuint -> GLenum -> Ptr GLint64EXT -> m ()
+ffiuintenumPtrint64EXTIOV fp v0 v1 v2 = liftIO (dynuintenumPtrint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintuintenumPtrdoubleIOV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
+
+ffiuintuintenumPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLdouble -> m ()
+ffiuintuintenumPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumPtrdoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuintenumPtrfloatIOV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+ffiuintuintenumPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
+ffiuintuintenumPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintuintenumPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumenumsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffienumenumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
+ffienumenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumintsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLsizei -> Ptr () -> IO ()
+
+ffienumintsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLsizei -> Ptr () -> m ()
+ffienumintsizeiPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumintsizeiPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumbooleanenumenumsizeiPtrVIOV :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffienumbooleanenumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
+ffienumbooleanenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumbooleanenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumsizeiPtrdoubleIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ()
+
+ffienumenumsizeiPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> m ()
+ffienumenumsizeiPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynenumenumsizeiPtrdoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumsizeiPtrfloatIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()
+
+ffienumenumsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
+ffienumenumsizeiPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumenumsizeiPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumsizeiPtrintIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()
+
+ffienumenumsizeiPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()
+ffienumenumsizeiPtrintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumsizeiPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumsizeiPtrushortIOV :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ()) -> GLenum -> GLsizei -> Ptr GLushort -> IO ()
+
+ffienumsizeiPtrushortIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ()) -> GLenum -> GLsizei -> Ptr GLushort -> m ()
+ffienumsizeiPtrushortIOV fp v0 v1 v2 = liftIO (dynenumsizeiPtrushortIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynsizeiPtrubyteIOV :: FunPtr (GLsizei -> Ptr GLubyte -> IO ()) -> GLsizei -> Ptr GLubyte -> IO ()
+
+ffisizeiPtrubyteIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLubyte -> IO ()) -> GLsizei -> Ptr GLubyte -> m ()
+ffisizeiPtrubyteIOV fp v0 v1 = liftIO (dynsizeiPtrubyteIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumenumenumsizeiPtrVsizeiPtrVPtrVIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> GLsizei -> Ptr () -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> GLsizei -> Ptr () -> Ptr () -> IO ()
+
+ffienumenumenumsizeiPtrVsizeiPtrVPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> GLsizei -> Ptr () -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLenum -> GLsizei -> Ptr () -> GLsizei -> Ptr () -> Ptr () -> m ()
+ffienumenumenumsizeiPtrVsizeiPtrVPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumenumenumsizeiPtrVsizeiPtrVPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynenumintenumenumsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffienumintenumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
+ffienumintenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumintenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintintsizeiPtrdoubleIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ()
+
+ffiuintintsizeiPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
+ffiuintintsizeiPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtrdoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintsizeiPtrfloatIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ()
+
+ffiuintintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
+ffiuintintsizeiPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintsizeiPtrintIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ()
+
+ffiuintintsizeiPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
+ffiuintintsizeiPtrintIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintsizeiPtruintIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ()
+
+ffiuintintsizeiPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
+ffiuintintsizeiPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtruintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynbyteIOV :: FunPtr (GLbyte -> IO ()) -> GLbyte -> IO ()
+
+ffibyteIOV :: MonadIO m => FunPtr (GLbyte -> IO ()) -> GLbyte -> m ()
+ffibyteIOV fp v0 = liftIO (dynbyteIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynshortIOV :: FunPtr (GLshort -> IO ()) -> GLshort -> IO ()
+
+ffishortIOV :: MonadIO m => FunPtr (GLshort -> IO ()) -> GLshort -> m ()
+ffishortIOV fp v0 = liftIO (dynshortIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynubyteIOV :: FunPtr (GLubyte -> IO ()) -> GLubyte -> IO ()
+
+ffiubyteIOV :: MonadIO m => FunPtr (GLubyte -> IO ()) -> GLubyte -> m ()
+ffiubyteIOV fp v0 = liftIO (dynubyteIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynushortIOV :: FunPtr (GLushort -> IO ()) -> GLushort -> IO ()
+
+ffiushortIOV :: MonadIO m => FunPtr (GLushort -> IO ()) -> GLushort -> m ()
+ffiushortIOV fp v0 = liftIO (dynushortIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynenumsizeienumbooleanIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLboolean -> IO ()
+
+ffienumsizeienumbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLboolean -> m ()
+ffienumsizeienumbooleanIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeienumbooleanIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumintptrbitfieldIOsync :: FunPtr (GLenum -> GLintptr -> GLbitfield -> IO GLsync) -> GLenum -> GLintptr -> GLbitfield -> IO GLsync
+
+ffienumintptrbitfieldIOsync :: MonadIO m => FunPtr (GLenum -> GLintptr -> GLbitfield -> IO GLsync) -> GLenum -> GLintptr -> GLbitfield -> m GLsync
+ffienumintptrbitfieldIOsync fp v0 v1 v2 = liftIO (dynenumintptrbitfieldIOsync fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumsizeisizeiPtrVIOV :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()
+
+ffienumsizeisizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLsizei -> GLsizei -> Ptr () -> m ()
+ffienumsizeisizeiPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeisizeiPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynsizeiPtrcharIOV :: FunPtr (GLsizei -> Ptr GLchar -> IO ()) -> GLsizei -> Ptr GLchar -> IO ()
+
+ffisizeiPtrcharIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLchar -> IO ()) -> GLsizei -> Ptr GLchar -> m ()
+ffisizeiPtrcharIOV fp v0 v1 = liftIO (dynsizeiPtrcharIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynsizeiPtrintIOV :: FunPtr (GLsizei -> Ptr GLint -> IO ()) -> GLsizei -> Ptr GLint -> IO ()
+
+ffisizeiPtrintIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLint -> IO ()) -> GLsizei -> Ptr GLint -> m ()
+ffisizeiPtrintIOV fp v0 v1 = liftIO (dynsizeiPtrintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintuintuintfloatIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ()) -> GLuint -> GLuint -> GLuint -> GLfloat -> IO ()
+
+ffiuintuintuintfloatIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ()) -> GLuint -> GLuint -> GLuint -> GLfloat -> m ()
+ffiuintuintuintfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintuintuintfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrenumintintsizeisizeiIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffiuintsizeiPtrenumintintsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
+ffiuintsizeiPtrenumintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintsizeiPtrenumintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumsizeiPtrenumintintsizeisizeiIOV :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffienumsizeiPtrenumintintsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
+ffienumsizeiPtrenumintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumsizeiPtrenumintintsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintintIOV :: FunPtr (GLuint -> GLint -> IO ()) -> GLuint -> GLint -> IO ()
+
+ffiuintintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> IO ()) -> GLuint -> GLint -> m ()
+ffiuintintIOV fp v0 v1 = liftIO (dynuintintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintintintintintsizeisizeisizeiIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+ffiuintintintintintsizeisizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()
+ffiuintintintintintsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintintintintintsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynenumIOboolean :: FunPtr (GLenum -> IO GLboolean) -> GLenum -> IO GLboolean
+
+ffienumIOboolean :: MonadIO m => FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
+ffienumIOboolean fp v0 = liftIO (dynenumIOboolean fp v0)
+
+foreign import CALLCONV "dynamic" dynenumuintIOboolean :: FunPtr (GLenum -> GLuint -> IO GLboolean) -> GLenum -> GLuint -> IO GLboolean
+
+ffienumuintIOboolean :: MonadIO m => FunPtr (GLenum -> GLuint -> IO GLboolean) -> GLenum -> GLuint -> m GLboolean
+ffienumuintIOboolean fp v0 v1 = liftIO (dynenumuintIOboolean fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuint64IOboolean :: FunPtr (GLuint64 -> IO GLboolean) -> GLuint64 -> IO GLboolean
+
+ffiuint64IOboolean :: MonadIO m => FunPtr (GLuint64 -> IO GLboolean) -> GLuint64 -> m GLboolean
+ffiuint64IOboolean fp v0 = liftIO (dynuint64IOboolean fp v0)
+
+foreign import CALLCONV "dynamic" dynintPtrcharIOboolean :: FunPtr (GLint -> Ptr GLchar -> IO GLboolean) -> GLint -> Ptr GLchar -> IO GLboolean
+
+ffiintPtrcharIOboolean :: MonadIO m => FunPtr (GLint -> Ptr GLchar -> IO GLboolean) -> GLint -> Ptr GLchar -> m GLboolean
+ffiintPtrcharIOboolean fp v0 v1 = liftIO (dynintPtrcharIOboolean fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintuintfloatfloatIOboolean :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean) -> GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean
+
+ffiuintuintfloatfloatIOboolean :: MonadIO m => FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean) -> GLuint -> GLuint -> GLfloat -> GLfloat -> m GLboolean
+ffiuintuintfloatfloatIOboolean fp v0 v1 v2 v3 = liftIO (dynuintuintfloatfloatIOboolean fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintfloatfloatIOboolean :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO GLboolean) -> GLuint -> GLfloat -> GLfloat -> IO GLboolean
+
+ffiuintfloatfloatIOboolean :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> IO GLboolean) -> GLuint -> GLfloat -> GLfloat -> m GLboolean
+ffiuintfloatfloatIOboolean fp v0 v1 v2 = liftIO (dynuintfloatfloatIOboolean fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynsyncIOboolean :: FunPtr (GLsync -> IO GLboolean) -> GLsync -> IO GLboolean
+
+ffisyncIOboolean :: MonadIO m => FunPtr (GLsync -> IO GLboolean) -> GLsync -> m GLboolean
+ffisyncIOboolean fp v0 = liftIO (dynsyncIOboolean fp v0)
+
+foreign import CALLCONV "dynamic" dynuintenumIOboolean :: FunPtr (GLuint -> GLenum -> IO GLboolean) -> GLuint -> GLenum -> IO GLboolean
+
+ffiuintenumIOboolean :: MonadIO m => FunPtr (GLuint -> GLenum -> IO GLboolean) -> GLuint -> GLenum -> m GLboolean
+ffiuintenumIOboolean fp v0 v1 = liftIO (dynuintenumIOboolean fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumuintsizeiPtrcharIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()
+
+ffienumuintsizeiPtrcharIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()
+ffienumuintsizeiPtrcharIOV fp v0 v1 v2 v3 = liftIO (dynenumuintsizeiPtrcharIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynintushortIOV :: FunPtr (GLint -> GLushort -> IO ()) -> GLint -> GLushort -> IO ()
+
+ffiintushortIOV :: MonadIO m => FunPtr (GLint -> GLushort -> IO ()) -> GLint -> GLushort -> m ()
+ffiintushortIOV fp v0 v1 = liftIO (dynintushortIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintenumfloatIOV :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ()) -> GLuint -> GLenum -> GLfloat -> IO ()
+
+ffiuintenumfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLfloat -> IO ()) -> GLuint -> GLenum -> GLfloat -> m ()
+ffiuintenumfloatIOV fp v0 v1 v2 = liftIO (dynuintenumfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintenumintIOV :: FunPtr (GLuint -> GLenum -> GLint -> IO ()) -> GLuint -> GLenum -> GLint -> IO ()
+
+ffiuintenumintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> IO ()) -> GLuint -> GLenum -> GLint -> m ()
+ffiuintenumintIOV fp v0 v1 v2 = liftIO (dynuintenumintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumuintsizeiPtrubyteIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ()
+
+ffienumuintsizeiPtrubyteIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> m ()
+ffienumuintsizeiPtrubyteIOV fp v0 v1 v2 v3 = liftIO (dynenumuintsizeiPtrubyteIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynintsizeiIOV :: FunPtr (GLint -> GLsizei -> IO ()) -> GLint -> GLsizei -> IO ()
+
+ffiintsizeiIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> IO ()) -> GLint -> GLsizei -> m ()
+ffiintsizeiIOV fp v0 v1 = liftIO (dynintsizeiIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuint64IOV :: FunPtr (GLuint64 -> IO ()) -> GLuint64 -> IO ()
+
+ffiuint64IOV :: MonadIO m => FunPtr (GLuint64 -> IO ()) -> GLuint64 -> m ()
+ffiuint64IOV fp v0 = liftIO (dynuint64IOV fp v0)
+
+foreign import CALLCONV "dynamic" dynuint64enumIOV :: FunPtr (GLuint64 -> GLenum -> IO ()) -> GLuint64 -> GLenum -> IO ()
+
+ffiuint64enumIOV :: MonadIO m => FunPtr (GLuint64 -> GLenum -> IO ()) -> GLuint64 -> GLenum -> m ()
+ffiuint64enumIOV fp v0 v1 = liftIO (dynuint64enumIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumdoubledoubleintintPtrdoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+ffienumdoubledoubleintintPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
+ffienumdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumfloatfloatintintPtrfloatIOV :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+ffienumfloatfloatintintPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
+ffienumfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumfixedfixedintintfixedIOV :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()
+
+ffienumfixedfixedintintfixedIOV :: MonadIO m => FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> m ()
+ffienumfixedfixedintintfixedIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumfixedfixedintintfixedIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumdoubledoubleintintdoubledoubleintintPtrdoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+ffienumdoubledoubleintintdoubledoubleintintPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
+ffienumdoubledoubleintintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumdoubledoubleintintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynenumfloatfloatintintfloatfloatintintPtrfloatIOV :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+ffienumfloatfloatintintfloatfloatintintPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
+ffienumfloatfloatintintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumfloatfloatintintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynenumfixedfixedintintfixedfixedintintfixedIOV :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()
+
+ffienumfixedfixedintintfixedfixedintintfixedIOV :: MonadIO m => FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> m ()
+ffienumfixedfixedintintfixedfixedintintfixedIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumfixedfixedintintfixedfixedintintfixedIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynenumenumIOPtrV :: FunPtr (GLenum -> GLenum -> IO (Ptr ())) -> GLenum -> GLenum -> IO (Ptr ())
+
+ffienumenumIOPtrV :: MonadIO m => FunPtr (GLenum -> GLenum -> IO (Ptr ())) -> GLenum -> GLenum -> m (Ptr ())
+ffienumenumIOPtrV fp v0 v1 = liftIO (dynenumenumIOPtrV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumintptrsizeiptrbitfieldIOPtrV :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ())) -> GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ())
+
+ffienumintptrsizeiptrbitfieldIOPtrV :: MonadIO m => FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ())) -> GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr ())
+ffienumintptrsizeiptrbitfieldIOPtrV fp v0 v1 v2 v3 = liftIO (dynenumintptrsizeiptrbitfieldIOPtrV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumuintenumsizeisizeiintintbooleanPtrVIOV :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr () -> IO ()) -> GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr () -> IO ()
+
+ffienumuintenumsizeisizeiintintbooleanPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr () -> IO ()) -> GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr () -> m ()
+ffienumuintenumsizeisizeiintintbooleanPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumuintenumsizeisizeiintintbooleanPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynintdoubledoubleIOV :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> IO ()
+
+ffiintdoubledoubleIOV :: MonadIO m => FunPtr (GLint -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> m ()
+ffiintdoubledoubleIOV fp v0 v1 v2 = liftIO (dynintdoubledoubleIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintfloatfloatIOV :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> IO ()
+
+ffiintfloatfloatIOV :: MonadIO m => FunPtr (GLint -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> m ()
+ffiintfloatfloatIOV fp v0 v1 v2 = liftIO (dynintfloatfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintfixedfixedIOV :: FunPtr (GLint -> GLfixed -> GLfixed -> IO ()) -> GLint -> GLfixed -> GLfixed -> IO ()
+
+ffiintfixedfixedIOV :: MonadIO m => FunPtr (GLint -> GLfixed -> GLfixed -> IO ()) -> GLint -> GLfixed -> GLfixed -> m ()
+ffiintfixedfixedIOV fp v0 v1 v2 = liftIO (dynintfixedfixedIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintdoubledoubleintdoubledoubleIOV :: FunPtr (GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ()
+
+ffiintdoubledoubleintdoubledoubleIOV :: MonadIO m => FunPtr (GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()
+ffiintdoubledoubleintdoubledoubleIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynintdoubledoubleintdoubledoubleIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynintfloatfloatintfloatfloatIOV :: FunPtr (GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ()
+
+ffiintfloatfloatintfloatfloatIOV :: MonadIO m => FunPtr (GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()
+ffiintfloatfloatintfloatfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynintfloatfloatintfloatfloatIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynintfixedfixedfixedfixedIOV :: FunPtr (GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+ffiintfixedfixedfixedfixedIOV :: MonadIO m => FunPtr (GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
+ffiintfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4 = liftIO (dynintfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumIOPtrV :: FunPtr (GLuint -> GLenum -> IO (Ptr ())) -> GLuint -> GLenum -> IO (Ptr ())
+
+ffiuintenumIOPtrV :: MonadIO m => FunPtr (GLuint -> GLenum -> IO (Ptr ())) -> GLuint -> GLenum -> m (Ptr ())
+ffiuintenumIOPtrV fp v0 v1 = liftIO (dynuintenumIOPtrV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintintptrsizeiptrbitfieldIOPtrV :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ())) -> GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ())
+
+ffiuintintptrsizeiptrbitfieldIOPtrV :: MonadIO m => FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr ())) -> GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr ())
+ffiuintintptrsizeiptrbitfieldIOPtrV fp v0 v1 v2 v3 = liftIO (dynuintintptrsizeiptrbitfieldIOPtrV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintIOPtrV :: FunPtr (GLuint -> IO (Ptr ())) -> GLuint -> IO (Ptr ())
+
+ffiuintIOPtrV :: MonadIO m => FunPtr (GLuint -> IO (Ptr ())) -> GLuint -> m (Ptr ())
+ffiuintIOPtrV fp v0 = liftIO (dynuintIOPtrV fp v0)
+
+foreign import CALLCONV "dynamic" dynuintintbitfieldPtrintPtrenumIOPtrV :: FunPtr (GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr ())) -> GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr ())
+
+ffiuintintbitfieldPtrintPtrenumIOPtrV :: MonadIO m => FunPtr (GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr ())) -> GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> m (Ptr ())
+ffiuintintbitfieldPtrintPtrenumIOPtrV fp v0 v1 v2 v3 v4 = liftIO (dynuintintbitfieldPtrintPtrenumIOPtrV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintuintdoubledoubleintintPtrdoubleIOV :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+ffiuintuintdoubledoubleintintPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
+ffiuintuintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintuintfloatfloatintintPtrfloatIOV :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+ffiuintuintfloatfloatintintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
+ffiuintuintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintuintdoubledoubleintintdoubledoubleintintPtrdoubleIOV :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+ffiuintuintdoubledoubleintintdoubledoubleintintPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()) -> GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
+ffiuintuintdoubledoubleintintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintuintdoubledoubleintintdoubledoubleintintPtrdoubleIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
+
+foreign import CALLCONV "dynamic" dynuintuintfloatfloatintintfloatfloatintintPtrfloatIOV :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+ffiuintuintfloatfloatintintfloatfloatintintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
+ffiuintuintfloatfloatintintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintuintfloatfloatintintfloatfloatintintPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
+
+foreign import CALLCONV "dynamic" dynenumdoubledoubledoubledoubledoubledoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffienumdoubledoubledoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffienumdoubledoubledoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumdoubledoubledoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynintPtrubyteIOV :: FunPtr (GLint -> Ptr GLubyte -> IO ()) -> GLint -> Ptr GLubyte -> IO ()
+
+ffiintPtrubyteIOV :: MonadIO m => FunPtr (GLint -> Ptr GLubyte -> IO ()) -> GLint -> Ptr GLubyte -> m ()
+ffiintPtrubyteIOV fp v0 v1 = liftIO (dynintPtrubyteIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintPtruintIOV :: FunPtr (GLint -> Ptr GLuint -> IO ()) -> GLint -> Ptr GLuint -> IO ()
+
+ffiintPtruintIOV :: MonadIO m => FunPtr (GLint -> Ptr GLuint -> IO ()) -> GLint -> Ptr GLuint -> m ()
+ffiintPtruintIOV fp v0 v1 = liftIO (dynintPtruintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintPtrushortIOV :: FunPtr (GLint -> Ptr GLushort -> IO ()) -> GLint -> Ptr GLushort -> IO ()
+
+ffiintPtrushortIOV :: MonadIO m => FunPtr (GLint -> Ptr GLushort -> IO ()) -> GLint -> Ptr GLushort -> m ()
+ffiintPtrushortIOV fp v0 v1 = liftIO (dynintPtrushortIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumdoubledoubledoubledoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffienumdoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffienumdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumfloatfloatfloatfloatIOV :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffienumfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffienumfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumdoubledoubledoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffienumdoubledoubledoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffienumdoubledoubledoubleIOV fp v0 v1 v2 v3 = liftIO (dynenumdoubledoubledoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumfloatfloatfloatIOV :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffienumfloatfloatfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffienumfloatfloatfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumfloatfloatfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumbooleanIOV :: FunPtr (GLenum -> GLenum -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLboolean -> IO ()
+
+ffienumenumbooleanIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLboolean -> IO ()) -> GLenum -> GLenum -> GLboolean -> m ()
+ffienumenumbooleanIOV fp v0 v1 v2 = liftIO (dynenumenumbooleanIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumPtrintPtrsizeisizeiIOV :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()) -> GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
+
+ffienumPtrintPtrsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()) -> GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()
+ffienumPtrintPtrsizeisizeiIOV fp v0 v1 v2 v3 = liftIO (dynenumPtrintPtrsizeisizeiIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumPtrVsizeisizeiIOV :: FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()) -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()
+
+ffienumPtrVsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()) -> GLenum -> Ptr () -> GLsizei -> GLsizei -> m ()
+ffienumPtrVsizeisizeiIOV fp v0 v1 v2 v3 = liftIO (dynenumPtrVsizeisizeiIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumPtrVsizeisizeisizeiintIOV :: FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()
+
+ffienumPtrVsizeisizeisizeiintIOV :: MonadIO m => FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> m ()
+ffienumPtrVsizeisizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumPtrVsizeisizeisizeiintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumPtrVsizeisizeiintIOV :: FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> IO ()
+
+ffienumPtrVsizeisizeiintIOV :: MonadIO m => FunPtr (GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> m ()
+ffienumPtrVsizeisizeiintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumPtrVsizeisizeiintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumintptrintptrsizeisizeiIOV :: FunPtr (GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()
+
+ffienumintptrintptrsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> m ()
+ffienumintptrintptrsizeisizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumintptrintptrsizeisizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumPtrsizeienumPtrPtrVsizeiIOV :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ()) -> GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ()
+
+ffienumPtrsizeienumPtrPtrVsizeiIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> IO ()) -> GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> m ()
+ffienumPtrsizeienumPtrPtrVsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumPtrsizeienumPtrPtrVsizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumPtrsizeienumPtrPtrVsizeiPtrintIOV :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> Ptr GLint -> IO ()
+
+ffienumPtrsizeienumPtrPtrVsizeiPtrintIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> Ptr GLint -> m ()
+ffienumPtrsizeienumPtrPtrVsizeiPtrintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumPtrsizeienumPtrPtrVsizeiPtrintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumPtrVsizeisizeiIOV :: FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()
+
+ffienumenumPtrVsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> m ()
+ffienumenumPtrVsizeisizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumPtrVsizeisizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumPtrVsizeisizeisizeiintIOV :: FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()
+
+ffienumenumPtrVsizeisizeisizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLsizei -> GLint -> m ()
+ffienumenumPtrVsizeisizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumenumPtrVsizeisizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumenumPtrVsizeisizeiintIOV :: FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> IO ()
+
+ffienumenumPtrVsizeisizeiintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> IO ()) -> GLenum -> GLenum -> Ptr () -> GLsizei -> GLsizei -> GLint -> m ()
+ffienumenumPtrVsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumPtrVsizeisizeiintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumintptrintptrsizeisizeiIOV :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()
+
+ffienumenumintptrintptrsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> m ()
+ffienumenumintptrintptrsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumenumintptrintptrsizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumuintuintPtrintPtrsizeisizeiIOV :: FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
+
+ffienumuintuintPtrintPtrsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()) -> GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()
+ffienumuintuintPtrintPtrsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintuintPtrintPtrsizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynPtrenumPtrintPtrsizeisizeiintIOV :: FunPtr (Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ()) -> Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ()
+
+ffiPtrenumPtrintPtrsizeisizeiintIOV :: MonadIO m => FunPtr (Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ()) -> Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> m ()
+ffiPtrenumPtrintPtrsizeisizeiintIOV fp v0 v1 v2 v3 v4 = liftIO (dynPtrenumPtrintPtrsizeisizeiintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynPtrenumPtrsizeienumPtrPtrVsizeiintIOV :: FunPtr (Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> GLint -> IO ()) -> Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> GLint -> IO ()
+
+ffiPtrenumPtrsizeienumPtrPtrVsizeiintIOV :: MonadIO m => FunPtr (Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> GLint -> IO ()) -> Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr ()) -> GLsizei -> GLint -> m ()
+ffiPtrenumPtrsizeienumPtrPtrVsizeiintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynPtrenumPtrsizeienumPtrPtrVsizeiintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumbyteIOV :: FunPtr (GLenum -> GLbyte -> IO ()) -> GLenum -> GLbyte -> IO ()
+
+ffienumbyteIOV :: MonadIO m => FunPtr (GLenum -> GLbyte -> IO ()) -> GLenum -> GLbyte -> m ()
+ffienumbyteIOV fp v0 v1 = liftIO (dynenumbyteIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumPtrbyteIOV :: FunPtr (GLenum -> Ptr GLbyte -> IO ()) -> GLenum -> Ptr GLbyte -> IO ()
+
+ffienumPtrbyteIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLbyte -> IO ()) -> GLenum -> Ptr GLbyte -> m ()
+ffienumPtrbyteIOV fp v0 v1 = liftIO (dynenumPtrbyteIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumdoubleIOV :: FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> IO ()
+
+ffienumdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> IO ()) -> GLenum -> GLdouble -> m ()
+ffienumdoubleIOV fp v0 v1 = liftIO (dynenumdoubleIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumhalfNVIOV :: FunPtr (GLenum -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> IO ()
+
+ffienumhalfNVIOV :: MonadIO m => FunPtr (GLenum -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> m ()
+ffienumhalfNVIOV fp v0 v1 = liftIO (dynenumhalfNVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumPtrhalfNVIOV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ()) -> GLenum -> Ptr GLhalfNV -> IO ()
+
+ffienumPtrhalfNVIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLhalfNV -> IO ()) -> GLenum -> Ptr GLhalfNV -> m ()
+ffienumPtrhalfNVIOV fp v0 v1 = liftIO (dynenumPtrhalfNVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumshortIOV :: FunPtr (GLenum -> GLshort -> IO ()) -> GLenum -> GLshort -> IO ()
+
+ffienumshortIOV :: MonadIO m => FunPtr (GLenum -> GLshort -> IO ()) -> GLenum -> GLshort -> m ()
+ffienumshortIOV fp v0 v1 = liftIO (dynenumshortIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumPtrshortIOV :: FunPtr (GLenum -> Ptr GLshort -> IO ()) -> GLenum -> Ptr GLshort -> IO ()
+
+ffienumPtrshortIOV :: MonadIO m => FunPtr (GLenum -> Ptr GLshort -> IO ()) -> GLenum -> Ptr GLshort -> m ()
+ffienumPtrshortIOV fp v0 v1 = liftIO (dynenumPtrshortIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumbytebyteIOV :: FunPtr (GLenum -> GLbyte -> GLbyte -> IO ()) -> GLenum -> GLbyte -> GLbyte -> IO ()
+
+ffienumbytebyteIOV :: MonadIO m => FunPtr (GLenum -> GLbyte -> GLbyte -> IO ()) -> GLenum -> GLbyte -> GLbyte -> m ()
+ffienumbytebyteIOV fp v0 v1 v2 = liftIO (dynenumbytebyteIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumdoubledoubleIOV :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> IO ()
+
+ffienumdoubledoubleIOV :: MonadIO m => FunPtr (GLenum -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLdouble -> GLdouble -> m ()
+ffienumdoubledoubleIOV fp v0 v1 v2 = liftIO (dynenumdoubledoubleIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumfloatfloatIOV :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> IO ()
+
+ffienumfloatfloatIOV :: MonadIO m => FunPtr (GLenum -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLfloat -> GLfloat -> m ()
+ffienumfloatfloatIOV fp v0 v1 v2 = liftIO (dynenumfloatfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumhalfNVhalfNVIOV :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> GLhalfNV -> IO ()
+
+ffienumhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> GLhalfNV -> m ()
+ffienumhalfNVhalfNVIOV fp v0 v1 v2 = liftIO (dynenumhalfNVhalfNVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumshortshortIOV :: FunPtr (GLenum -> GLshort -> GLshort -> IO ()) -> GLenum -> GLshort -> GLshort -> IO ()
+
+ffienumshortshortIOV :: MonadIO m => FunPtr (GLenum -> GLshort -> GLshort -> IO ()) -> GLenum -> GLshort -> GLshort -> m ()
+ffienumshortshortIOV fp v0 v1 v2 = liftIO (dynenumshortshortIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumfixedfixedIOV :: FunPtr (GLenum -> GLfixed -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> IO ()
+
+ffienumfixedfixedIOV :: MonadIO m => FunPtr (GLenum -> GLfixed -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> m ()
+ffienumfixedfixedIOV fp v0 v1 v2 = liftIO (dynenumfixedfixedIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumbytebytebyteIOV :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ()
+
+ffienumbytebytebyteIOV :: MonadIO m => FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLenum -> GLbyte -> GLbyte -> GLbyte -> m ()
+ffienumbytebytebyteIOV fp v0 v1 v2 v3 = liftIO (dynenumbytebytebyteIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumhalfNVhalfNVhalfNVIOV :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+ffienumhalfNVhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
+ffienumhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 = liftIO (dynenumhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumintintintIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> IO ()
+
+ffienumintintintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> m ()
+ffienumintintintIOV fp v0 v1 v2 v3 = liftIO (dynenumintintintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumshortshortshortIOV :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ()) -> GLenum -> GLshort -> GLshort -> GLshort -> IO ()
+
+ffienumshortshortshortIOV :: MonadIO m => FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ()) -> GLenum -> GLshort -> GLshort -> GLshort -> m ()
+ffienumshortshortshortIOV fp v0 v1 v2 v3 = liftIO (dynenumshortshortshortIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumfixedfixedfixedIOV :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+ffienumfixedfixedfixedIOV :: MonadIO m => FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLfixed -> m ()
+ffienumfixedfixedfixedIOV fp v0 v1 v2 v3 = liftIO (dynenumfixedfixedfixedIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumbytebytebytebyteIOV :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()
+
+ffienumbytebytebytebyteIOV :: MonadIO m => FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()) -> GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
+ffienumbytebytebytebyteIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumbytebytebytebyteIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumhalfNVhalfNVhalfNVhalfNVIOV :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+ffienumhalfNVhalfNVhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
+ffienumhalfNVhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumhalfNVhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumshortshortshortshortIOV :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
+
+ffienumshortshortshortshortIOV :: MonadIO m => FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
+ffienumshortshortshortshortIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumshortshortshortshortIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumfixedfixedfixedfixedIOV :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+ffienumfixedfixedfixedfixedIOV :: MonadIO m => FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()) -> GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
+ffienumfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumfixedfixedfixedfixedIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumintenumsizeiPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffienumintenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> Ptr () -> m ()
+ffienumintenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumintenumsizeiPtrVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumenumfloatIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ()) -> GLenum -> GLenum -> GLenum -> GLfloat -> IO ()
+
+ffienumenumenumfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ()) -> GLenum -> GLenum -> GLenum -> GLfloat -> m ()
+ffienumenumenumfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumenumintIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLint -> IO ()
+
+ffienumenumenumintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ()) -> GLenum -> GLenum -> GLenum -> GLint -> m ()
+ffienumenumenumintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumenumdoubleIOV :: FunPtr (GLenum -> GLenum -> GLenum -> GLdouble -> IO ()) -> GLenum -> GLenum -> GLenum -> GLdouble -> IO ()
+
+ffienumenumenumdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> GLdouble -> IO ()) -> GLenum -> GLenum -> GLenum -> GLdouble -> m ()
+ffienumenumenumdoubleIOV fp v0 v1 v2 v3 = liftIO (dynenumenumenumdoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumintintsizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumenumintintsizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumenumintintsizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumenumintintsizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynenumenumintintsizeisizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumenumintintsizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumenumintintsizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumenumintintsizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynenumenumintintsizeisizeisizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumenumintintsizeisizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumenumintintsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynenumenumintintsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
+
+foreign import CALLCONV "dynamic" dynenumenumintintsizeienumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumenumintintsizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumenumintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumenumintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynenumenumintintintsizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumenumintintintsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumenumintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumenumintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynenumenumintintintintsizeisizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumenumintintintintsizeisizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumenumintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynenumenumintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
+
+foreign import CALLCONV "dynamic" dynuintsizeiptrPtrVenumIOV :: FunPtr (GLuint -> GLsizeiptr -> Ptr () -> GLenum -> IO ()) -> GLuint -> GLsizeiptr -> Ptr () -> GLenum -> IO ()
+
+ffiuintsizeiptrPtrVenumIOV :: MonadIO m => FunPtr (GLuint -> GLsizeiptr -> Ptr () -> GLenum -> IO ()) -> GLuint -> GLsizeiptr -> Ptr () -> GLenum -> m ()
+ffiuintsizeiptrPtrVenumIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiptrPtrVenumIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintptrsizeiptrbooleanIOV :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()) -> GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()
+
+ffiuintintptrsizeiptrbooleanIOV :: MonadIO m => FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()) -> GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> m ()
+ffiuintintptrsizeiptrbooleanIOV fp v0 v1 v2 v3 = liftIO (dynuintintptrsizeiptrbooleanIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintsizeiptrPtrVbitfieldIOV :: FunPtr (GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ()) -> GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ()
+
+ffiuintsizeiptrPtrVbitfieldIOV :: MonadIO m => FunPtr (GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ()) -> GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> m ()
+ffiuintsizeiptrPtrVbitfieldIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiptrPtrVbitfieldIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumenumuintIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> IO ()
+
+ffiuintenumenumuintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> m ()
+ffiuintenumenumuintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumuintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuintsizeiPtrfloatIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+ffiuintuintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
+ffiuintuintsizeiPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintuintsizeiPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumuintintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> IO ()
+
+ffiuintenumuintintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> m ()
+ffiuintenumuintintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumenumuintintIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
+
+ffiuintenumenumuintintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> GLint -> m ()
+ffiuintenumenumuintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumenumuintintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumenumuintintintIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
+
+ffiuintenumenumuintintintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
+ffiuintenumenumuintintintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintenumenumuintintintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintenumuintintenumIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ()
+
+ffiuintenumuintintenumIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> GLenum -> m ()
+ffiuintenumuintintenumIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintintenumIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumuintintintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ()
+
+ffiuintenumuintintintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()
+ffiuintenumuintintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintintintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumuintdoubledoubledoubledoubleIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffiuintenumuintdoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffiuintenumuintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumuintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintenumuintfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiuintenumuintfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiuintenumuintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumuintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintenumuintintintintintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+ffiuintenumuintintintintintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
+ffiuintenumuintintintintintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumuintintintintintIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintenumuintuintuintuintuintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffiuintenumuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffiuintenumuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintenumuintsizeiPtrfloatIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+ffiuintenumuintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
+ffiuintenumuintsizeiPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintsizeiPtrfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumuintsizeiPtrintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()
+
+ffiuintenumuintsizeiPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> m ()
+ffiuintenumuintsizeiPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintsizeiPtrintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumuintsizeiPtruintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
+
+ffiuintenumuintsizeiPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()
+ffiuintenumuintsizeiPtruintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintsizeiPtruintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumenumsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffiuintenumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
+ffiuintenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeisizeiIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+ffiuintenumsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLsizei -> m ()
+ffiuintenumsizeisizeiIOV fp v0 v1 v2 v3 = liftIO (dynuintenumsizeisizeiIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintsizeienumsizeisizeiIOV :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+ffiuintsizeienumsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
+ffiuintsizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintsizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintsizeisizeienumsizeisizeiIOV :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+ffiuintsizeisizeienumsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
+ffiuintsizeisizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintsizeisizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumintPtrcharintPtrcharIOV :: FunPtr (GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ()) -> GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ()
+
+ffienumintPtrcharintPtrcharIOV :: MonadIO m => FunPtr (GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ()) -> GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> m ()
+ffienumintPtrcharintPtrcharIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumintPtrcharintPtrcharIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynsizeiPtrVenumIOuint :: FunPtr (GLsizei -> Ptr () -> GLenum -> IO GLuint) -> GLsizei -> Ptr () -> GLenum -> IO GLuint
+
+ffisizeiPtrVenumIOuint :: MonadIO m => FunPtr (GLsizei -> Ptr () -> GLenum -> IO GLuint) -> GLsizei -> Ptr () -> GLenum -> m GLuint
+ffisizeiPtrVenumIOuint fp v0 v1 v2 = liftIO (dynsizeiPtrVenumIOuint fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynPtrVsizeiPtrcharIOV :: FunPtr (Ptr () -> GLsizei -> Ptr GLchar -> IO ()) -> Ptr () -> GLsizei -> Ptr GLchar -> IO ()
+
+ffiPtrVsizeiPtrcharIOV :: MonadIO m => FunPtr (Ptr () -> GLsizei -> Ptr GLchar -> IO ()) -> Ptr () -> GLsizei -> Ptr GLchar -> m ()
+ffiPtrVsizeiPtrcharIOV fp v0 v1 v2 = liftIO (dynPtrVsizeiPtrcharIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumuintenumIOenum :: FunPtr (GLenum -> GLuint -> GLenum -> IO GLenum) -> GLenum -> GLuint -> GLenum -> IO GLenum
+
+ffienumuintenumIOenum :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> IO GLenum) -> GLenum -> GLuint -> GLenum -> m GLenum
+ffienumuintenumIOenum fp v0 v1 v2 = liftIO (dynenumuintenumIOenum fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintuintenumIOV :: FunPtr (GLuint -> GLuint -> GLenum -> IO ()) -> GLuint -> GLuint -> GLenum -> IO ()
+
+ffiuintuintenumIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> IO ()) -> GLuint -> GLuint -> GLenum -> m ()
+ffiuintuintenumIOV fp v0 v1 v2 = liftIO (dynuintuintenumIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrubytesizeienumPtrVIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> IO ()
+
+ffiuintsizeiPtrubytesizeienumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> m ()
+ffiuintsizeiPtrubytesizeienumPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintsizeiPtrubytesizeienumPtrVIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintsizeienumPtrVIOV :: FunPtr (GLuint -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> GLenum -> Ptr () -> IO ()
+
+ffiuintsizeienumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> GLenum -> Ptr () -> m ()
+ffiuintsizeienumPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeienumPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrVbitfielduintsizeiuintfloatIOenum :: FunPtr (GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum) -> GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum
+
+ffiuintenumPtrVbitfielduintsizeiuintfloatIOenum :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum) -> GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> m GLenum
+ffiuintenumPtrVbitfielduintsizeiuintfloatIOenum fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumPtrVbitfielduintsizeiuintfloatIOenum fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynenumPtrVbitfielduintfloatPtruintIOenum :: FunPtr (GLenum -> Ptr () -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum) -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum
+
+ffienumPtrVbitfielduintfloatPtruintIOenum :: MonadIO m => FunPtr (GLenum -> Ptr () -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum) -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> m GLenum
+ffienumPtrVbitfielduintfloatPtruintIOenum fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumPtrVbitfielduintfloatPtruintIOenum fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrVbitfielduintsizeienumuintfloatIOV :: FunPtr (GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ()
+
+ffiuintenumPtrVbitfielduintsizeienumuintfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> m ()
+ffiuintenumPtrVbitfielduintsizeienumuintfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumPtrVbitfielduintsizeienumuintfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrVbitfieldsizeienumPtrVenumuintfloatIOV :: FunPtr (GLuint -> GLenum -> Ptr () -> GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLenum -> GLuint -> GLfloat -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLenum -> GLuint -> GLfloat -> IO ()
+
+ffiuintenumPtrVbitfieldsizeienumPtrVenumuintfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr () -> GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLenum -> GLuint -> GLfloat -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLbitfield -> GLsizei -> GLenum -> Ptr () -> GLenum -> GLuint -> GLfloat -> m ()
+ffiuintenumPtrVbitfieldsizeienumPtrVenumuintfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintenumPtrVbitfieldsizeienumPtrVenumuintfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeiptrPtrVsizeiuintsizeiuintfloatIOenum :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> Ptr () -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum) -> GLuint -> GLenum -> GLsizeiptr -> Ptr () -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum
+
+ffiuintenumsizeiptrPtrVsizeiuintsizeiuintfloatIOenum :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizeiptr -> Ptr () -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum) -> GLuint -> GLenum -> GLsizeiptr -> Ptr () -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> m GLenum
+ffiuintenumsizeiptrPtrVsizeiuintsizeiuintfloatIOenum fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumsizeiptrPtrVsizeiuintsizeiuintfloatIOenum fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynenumintuintIOV :: FunPtr (GLenum -> GLint -> GLuint -> IO ()) -> GLenum -> GLint -> GLuint -> IO ()
+
+ffienumintuintIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLuint -> IO ()) -> GLenum -> GLint -> GLuint -> m ()
+ffienumintuintIOV fp v0 v1 v2 = liftIO (dynenumintuintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeiPtrVIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffiuintenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLsizei -> Ptr () -> m ()
+ffiuintenumsizeiPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintenumsizeiPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintsizeisizeisizeiPtrubytesizeienumPtrVIOV :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> IO ()
+
+ffiuintsizeisizeisizeiPtrubytesizeienumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr () -> m ()
+ffiuintsizeisizeisizeiPtrubytesizeienumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintsizeisizeisizeiPtrubytesizeienumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintsizeisizeienumPtrVIOV :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr () -> IO ()
+
+ffiuintsizeisizeienumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr () -> m ()
+ffiuintsizeisizeienumPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintsizeisizeienumPtrVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumintPtrfloatIOV :: FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()
+
+ffienumenumintPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLenum -> GLenum -> GLint -> Ptr GLfloat -> m ()
+ffienumenumintPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynenumenumintPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintsizeisizeifloatPtrfloatPtrfloatPtrfloatPtrfloatIOboolean :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean) -> GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean
+
+ffiuintsizeisizeifloatPtrfloatPtrfloatPtrfloatPtrfloatIOboolean :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean) -> GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m GLboolean
+ffiuintsizeisizeifloatPtrfloatPtrfloatPtrfloatPtrfloatIOboolean fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintsizeisizeifloatPtrfloatPtrfloatPtrfloatPtrfloatIOboolean fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynPtrintIOint :: FunPtr (Ptr GLint -> IO GLint) -> Ptr GLint -> IO GLint
+
+ffiPtrintIOint :: MonadIO m => FunPtr (Ptr GLint -> IO GLint) -> Ptr GLint -> m GLint
+ffiPtrintIOint fp v0 = liftIO (dynPtrintIOint fp v0)
+
+foreign import CALLCONV "dynamic" dynuintuint64EXTuintuintenumenumuintenumuintenumuintenumuintIOV :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ()
+
+ffiuintuint64EXTuintuintenumenumuintenumuintenumuintenumuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> m ()
+ffiuintuint64EXTuintuintenumenumuintenumuintenumuintenumuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO (dynuintuint64EXTuintuintenumenumuintenumuintenumuintenumuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12)
+
+foreign import CALLCONV "dynamic" dynuintuint64EXTuintuintenumenumuintuintenumuintuintIOV :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ()
+
+ffiuintuint64EXTuintuintenumenumuintuintenumuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> m ()
+ffiuintuint64EXTuintuintenumenumuintuintenumuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintuint64EXTuintuintenumenumuintuintenumuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
+
+foreign import CALLCONV "dynamic" dynfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffifloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffifloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynsizeiPtruintPtrfloatIOV :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()) -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()
+
+ffisizeiPtruintPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()) -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()
+ffisizeiPtruintPtrfloatIOV fp v0 v1 v2 = liftIO (dynsizeiPtruintPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynsizeiPtruintPtrclampfIOV :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ()) -> GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ()
+
+ffisizeiPtruintPtrclampfIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ()) -> GLsizei -> Ptr GLuint -> Ptr GLclampf -> m ()
+ffisizeiPtruintPtrclampfIOV fp v0 v1 v2 = liftIO (dynsizeiPtruintPtrclampfIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynsizeiPtruintPtrfixedIOV :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ()) -> GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ()
+
+ffisizeiPtruintPtrfixedIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ()) -> GLsizei -> Ptr GLuint -> Ptr GLfixed -> m ()
+ffisizeiPtruintPtrfixedIOV fp v0 v1 v2 = liftIO (dynsizeiPtruintPtrfixedIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrVsizeiIOV :: FunPtr (GLuint -> GLenum -> Ptr () -> GLsizei -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLsizei -> IO ()
+
+ffiuintenumPtrVsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr () -> GLsizei -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLsizei -> m ()
+ffiuintenumPtrVsizeiIOV fp v0 v1 v2 v3 = liftIO (dynuintenumPtrVsizeiIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrVintIOV :: FunPtr (GLuint -> GLenum -> Ptr () -> GLint -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLint -> IO ()
+
+ffiuintenumPtrVintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr () -> GLint -> IO ()) -> GLuint -> GLenum -> Ptr () -> GLint -> m ()
+ffiuintenumPtrVintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumPtrVintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumuintuintsizeiPtrintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ()
+
+ffienumuintuintsizeiPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> m ()
+ffienumuintuintsizeiPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintuintsizeiPtrintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumuintuintsizeiPtruintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
+
+ffienumuintuintsizeiPtruintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> m ()
+ffienumuintuintsizeiPtruintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintuintsizeiPtruintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumuintuintsizeiPtrfloatIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+ffienumuintuintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
+ffienumuintuintsizeiPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintuintsizeiPtrfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumuintdoubledoubledoubledoubleIOV :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffienumuintdoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffienumuintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumuintfloatfloatfloatfloatIOV :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffienumuintfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffienumuintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumuintintintintintIOV :: FunPtr (GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+ffienumuintintintintintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
+ffienumuintintintintintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumuintintintintintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumuintsizeiPtrintIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()
+
+ffienumuintsizeiPtrintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> m ()
+ffienumuintsizeiPtrintIOV fp v0 v1 v2 v3 = liftIO (dynenumuintsizeiPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrubytedoubledoubledoubledoubleIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffiuintsizeiPtrubytedoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffiuintsizeiPtrubytedoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintsizeiPtrubytedoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrubytefloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiuintsizeiPtrubytefloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiuintsizeiPtrubytefloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintsizeiPtrubytefloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumuintsizeiPtrdoubleIOV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()
+
+ffienumuintsizeiPtrdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> m ()
+ffienumuintsizeiPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynenumuintsizeiPtrdoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintenumintPtrfloatIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ()
+
+ffiuintintenumintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> m ()
+ffiuintintenumintPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintenumintPtrfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumsizeiPtrVIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffienumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
+ffienumenumsizeiPtrVIOV fp v0 v1 v2 v3 = liftIO (dynenumenumsizeiPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintdoubleIOV :: FunPtr (GLuint -> GLint -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> IO ()
+
+ffiuintintdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> m ()
+ffiuintintdoubleIOV fp v0 v1 v2 = liftIO (dynuintintdoubleIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintfloatIOV :: FunPtr (GLuint -> GLint -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> IO ()
+
+ffiuintintfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> m ()
+ffiuintintfloatIOV fp v0 v1 v2 = liftIO (dynuintintfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintintIOV :: FunPtr (GLuint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> IO ()
+
+ffiuintintintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> m ()
+ffiuintintintIOV fp v0 v1 v2 = liftIO (dynuintintintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintint64EXTIOV :: FunPtr (GLuint -> GLint -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> IO ()
+
+ffiuintintint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> m ()
+ffiuintintint64EXTIOV fp v0 v1 v2 = liftIO (dynuintintint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintsizeiPtrint64EXTIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ()
+
+ffiuintintsizeiPtrint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
+ffiuintintsizeiPtrint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtrint64EXTIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintuintIOV :: FunPtr (GLuint -> GLint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> IO ()
+
+ffiuintintuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> m ()
+ffiuintintuintIOV fp v0 v1 v2 = liftIO (dynuintintuintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintuint64EXTIOV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> IO ()
+
+ffiuintintuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> m ()
+ffiuintintuint64EXTIOV fp v0 v1 v2 = liftIO (dynuintintuint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintsizeiPtruint64EXTIOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()
+
+ffiuintintsizeiPtruint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
+ffiuintintsizeiPtruint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtruint64EXTIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintdoubledoubleIOV :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> GLdouble -> IO ()
+
+ffiuintintdoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> GLdouble -> m ()
+ffiuintintdoubledoubleIOV fp v0 v1 v2 v3 = liftIO (dynuintintdoubledoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintfloatfloatIOV :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> GLfloat -> IO ()
+
+ffiuintintfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> GLfloat -> m ()
+ffiuintintfloatfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintintfloatfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintintintIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> IO ()
+
+ffiuintintintintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> m ()
+ffiuintintintintIOV fp v0 v1 v2 v3 = liftIO (dynuintintintintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintint64EXTint64EXTIOV :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ()
+
+ffiuintintint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> GLint64EXT -> m ()
+ffiuintintint64EXTint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynuintintint64EXTint64EXTIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintuintuintIOV :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> GLuint -> IO ()
+
+ffiuintintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> GLuint -> m ()
+ffiuintintuintuintIOV fp v0 v1 v2 v3 = liftIO (dynuintintuintuintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintuint64EXTuint64EXTIOV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+ffiuintintuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> m ()
+ffiuintintuint64EXTuint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynuintintuint64EXTuint64EXTIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintdoubledoubledoubleIOV :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffiuintintdoubledoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffiuintintdoubledoubledoubleIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintdoubledoubledoubleIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintintfloatfloatfloatIOV :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiuintintfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiuintintfloatfloatfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintfloatfloatfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintintintintintIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+ffiuintintintintintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
+ffiuintintintintintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintintintintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintintint64EXTint64EXTint64EXTIOV :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+ffiuintintint64EXTint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
+ffiuintintint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintintuintuintuintIOV :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffiuintintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()
+ffiuintintuintuintuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintuintuintuintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintintuint64EXTuint64EXTuint64EXTIOV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+ffiuintintuint64EXTuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
+ffiuintintuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintintdoubledoubledoubledoubleIOV :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffiuintintdoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffiuintintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintintfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiuintintfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiuintintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintintintintintintIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+ffiuintintintintintintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()
+ffiuintintintintintintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintintintintintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintintint64EXTint64EXTint64EXTint64EXTIOV :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+ffiuintintint64EXTint64EXTint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
+ffiuintintint64EXTint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintint64EXTint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintintuintuintuintuintIOV :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffiuintintuintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffiuintintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintintuint64EXTuint64EXTuint64EXTuint64EXTIOV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+ffiuintintuint64EXTuint64EXTuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
+ffiuintintuint64EXTuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintuint64EXTuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintintuint64IOV :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ()) -> GLuint -> GLint -> GLuint64 -> IO ()
+
+ffiuintintuint64IOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint64 -> IO ()) -> GLuint -> GLint -> GLuint64 -> m ()
+ffiuintintuint64IOV fp v0 v1 v2 = liftIO (dynuintintuint64IOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintsizeiPtruint64IOV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ()
+
+ffiuintintsizeiPtruint64IOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ()) -> GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
+ffiuintintsizeiPtruint64IOV fp v0 v1 v2 v3 = liftIO (dynuintintsizeiPtruint64IOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintsizeibooleanPtrdoubleIOV :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()) -> GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()
+
+ffiuintintsizeibooleanPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()) -> GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
+ffiuintintsizeibooleanPtrdoubleIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintsizeibooleanPtrdoubleIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintintsizeibooleanPtrfloatIOV :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
+
+ffiuintintsizeibooleanPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()) -> GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
+ffiuintintsizeibooleanPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintsizeibooleanPtrfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynPtrfixedPtrintIObitfield :: FunPtr (Ptr GLfixed -> Ptr GLint -> IO GLbitfield) -> Ptr GLfixed -> Ptr GLint -> IO GLbitfield
+
+ffiPtrfixedPtrintIObitfield :: MonadIO m => FunPtr (Ptr GLfixed -> Ptr GLint -> IO GLbitfield) -> Ptr GLfixed -> Ptr GLint -> m GLbitfield
+ffiPtrfixedPtrintIObitfield fp v0 v1 = liftIO (dynPtrfixedPtrintIObitfield fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumuintenumuintIOV :: FunPtr (GLenum -> GLuint -> GLenum -> GLuint -> IO ()) -> GLenum -> GLuint -> GLenum -> GLuint -> IO ()
+
+ffienumuintenumuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> GLuint -> IO ()) -> GLenum -> GLuint -> GLenum -> GLuint -> m ()
+ffienumuintenumuintIOV fp v0 v1 v2 v3 = liftIO (dynenumuintenumuintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynshortshortIOV :: FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> IO ()
+
+ffishortshortIOV :: MonadIO m => FunPtr (GLshort -> GLshort -> IO ()) -> GLshort -> GLshort -> m ()
+ffishortshortIOV fp v0 v1 = liftIO (dynshortshortIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintbooleanIOV :: FunPtr (GLuint -> GLboolean -> IO ()) -> GLuint -> GLboolean -> IO ()
+
+ffiuintbooleanIOV :: MonadIO m => FunPtr (GLuint -> GLboolean -> IO ()) -> GLuint -> GLboolean -> m ()
+ffiuintbooleanIOV fp v0 v1 = liftIO (dynuintbooleanIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintintsizeisizeienumenumPtrVIOV :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiintintsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffiintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynintintsizeisizeienumenumsizeiPtrVIOV :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffiintintsizeisizeienumenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr () -> m ()
+ffiintintsizeisizeienumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynintintsizeisizeienumenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynPtrdoublePtrdoubleIOV :: FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ()) -> Ptr GLdouble -> Ptr GLdouble -> IO ()
+
+ffiPtrdoublePtrdoubleIOV :: MonadIO m => FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ()) -> Ptr GLdouble -> Ptr GLdouble -> m ()
+ffiPtrdoublePtrdoubleIOV fp v0 v1 = liftIO (dynPtrdoublePtrdoubleIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynPtrintPtrintIOV :: FunPtr (Ptr GLint -> Ptr GLint -> IO ()) -> Ptr GLint -> Ptr GLint -> IO ()
+
+ffiPtrintPtrintIOV :: MonadIO m => FunPtr (Ptr GLint -> Ptr GLint -> IO ()) -> Ptr GLint -> Ptr GLint -> m ()
+ffiPtrintPtrintIOV fp v0 v1 = liftIO (dynPtrintPtrintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynPtrshortPtrshortIOV :: FunPtr (Ptr GLshort -> Ptr GLshort -> IO ()) -> Ptr GLshort -> Ptr GLshort -> IO ()
+
+ffiPtrshortPtrshortIOV :: MonadIO m => FunPtr (Ptr GLshort -> Ptr GLshort -> IO ()) -> Ptr GLshort -> Ptr GLshort -> m ()
+ffiPtrshortPtrshortIOV fp v0 v1 = liftIO (dynPtrshortPtrshortIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynPtrfixedPtrfixedIOV :: FunPtr (Ptr GLfixed -> Ptr GLfixed -> IO ()) -> Ptr GLfixed -> Ptr GLfixed -> IO ()
+
+ffiPtrfixedPtrfixedIOV :: MonadIO m => FunPtr (Ptr GLfixed -> Ptr GLfixed -> IO ()) -> Ptr GLfixed -> Ptr GLfixed -> m ()
+ffiPtrfixedPtrfixedIOV fp v0 v1 = liftIO (dynPtrfixedPtrfixedIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynenumIOint :: FunPtr (GLenum -> IO GLint) -> GLenum -> IO GLint
+
+ffienumIOint :: MonadIO m => FunPtr (GLenum -> IO GLint) -> GLenum -> m GLint
+ffienumIOint fp v0 = liftIO (dynenumIOint fp v0)
+
+foreign import CALLCONV "dynamic" dynenumenumsizeisizeiIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+ffienumenumsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
+ffienumenumsizeisizeiIOV fp v0 v1 v2 v3 = liftIO (dynenumenumsizeisizeiIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumsizeienumsizeisizeiIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+ffienumsizeienumsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
+ffienumsizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumsizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumsizeisizeienumsizeisizeiIOV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+ffienumsizeisizeienumsizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
+ffienumsizeisizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumsizeisizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumsizeiPtrPtrVIOV :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr ()) -> IO ()) -> GLenum -> GLsizei -> Ptr (Ptr ()) -> IO ()
+
+ffienumsizeiPtrPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> Ptr (Ptr ()) -> IO ()) -> GLenum -> GLsizei -> Ptr (Ptr ()) -> m ()
+ffienumsizeiPtrPtrVIOV fp v0 v1 v2 = liftIO (dynenumsizeiPtrPtrVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiuintfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiuintfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynPtruintPtrfloatPtrfloatIOV :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+ffiPtruintPtrfloatPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> m ()
+ffiPtruintPtrfloatPtrfloatIOV fp v0 v1 v2 = liftIO (dynPtruintPtrfloatPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
+
+foreign import CALLCONV "dynamic" dynPtruintPtrfloatPtrfloatPtrfloatIOV :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+ffiPtruintPtrfloatPtrfloatPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
+ffiPtruintPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynPtruintPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintubyteubyteubyteubytefloatfloatfloatIOV :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiuintubyteubyteubyteubytefloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiuintubyteubyteubyteubytefloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintubyteubyteubyteubytefloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynPtruintPtrubytePtrfloatIOV :: FunPtr (Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ()
+
+ffiPtruintPtrubytePtrfloatIOV :: MonadIO m => FunPtr (Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> m ()
+ffiPtruintPtrubytePtrfloatIOV fp v0 v1 v2 = liftIO (dynPtruintPtrubytePtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO (dynuintfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12)
+
+foreign import CALLCONV "dynamic" dynPtruintPtrfloatPtrfloatPtrfloatPtrfloatIOV :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+ffiPtruintPtrfloatPtrfloatPtrfloatPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
+ffiPtruintPtrfloatPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynPtruintPtrfloatPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiuintfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiuintfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintfloatfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiuintfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiuintfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiuintfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiuintfloatfloatfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintfloatfloatfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynPtruintPtrfloatIOV :: FunPtr (Ptr GLuint -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> IO ()
+
+ffiPtruintPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLuint -> Ptr GLfloat -> IO ()) -> Ptr GLuint -> Ptr GLfloat -> m ()
+ffiPtruintPtrfloatIOV fp v0 v1 = liftIO (dynPtruintPtrfloatIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynfloatbooleanIOV :: FunPtr (GLfloat -> GLboolean -> IO ()) -> GLfloat -> GLboolean -> IO ()
+
+ffifloatbooleanIOV :: MonadIO m => FunPtr (GLfloat -> GLboolean -> IO ()) -> GLfloat -> GLboolean -> m ()
+ffifloatbooleanIOV fp v0 v1 = liftIO (dynfloatbooleanIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynfixedbooleanIOV :: FunPtr (GLfixed -> GLboolean -> IO ()) -> GLfixed -> GLboolean -> IO ()
+
+ffifixedbooleanIOV :: MonadIO m => FunPtr (GLfixed -> GLboolean -> IO ()) -> GLfixed -> GLboolean -> m ()
+ffifixedbooleanIOV fp v0 v1 = liftIO (dynfixedbooleanIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynclampxbooleanIOV :: FunPtr (GLclampx -> GLboolean -> IO ()) -> GLclampx -> GLboolean -> IO ()
+
+fficlampxbooleanIOV :: MonadIO m => FunPtr (GLclampx -> GLboolean -> IO ()) -> GLclampx -> GLboolean -> m ()
+fficlampxbooleanIOV fp v0 v1 = liftIO (dynclampxbooleanIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynclampfbooleanIOV :: FunPtr (GLclampf -> GLboolean -> IO ()) -> GLclampf -> GLboolean -> IO ()
+
+fficlampfbooleanIOV :: MonadIO m => FunPtr (GLclampf -> GLboolean -> IO ()) -> GLclampf -> GLboolean -> m ()
+fficlampfbooleanIOV fp v0 v1 = liftIO (dynclampfbooleanIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintbitfieldIOV :: FunPtr (GLuint -> GLbitfield -> IO ()) -> GLuint -> GLbitfield -> IO ()
+
+ffiuintbitfieldIOV :: MonadIO m => FunPtr (GLuint -> GLbitfield -> IO ()) -> GLuint -> GLbitfield -> m ()
+ffiuintbitfieldIOV fp v0 v1 = liftIO (dynuintbitfieldIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintintsizeisizeiIOV :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffiintintsizeisizeiIOV :: MonadIO m => FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
+ffiintintsizeisizeiIOV fp v0 v1 v2 v3 = liftIO (dynintintsizeisizeiIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrintIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLsizei -> Ptr GLint -> IO ()
+
+ffiuintsizeiPtrintIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ()) -> GLuint -> GLsizei -> Ptr GLint -> m ()
+ffiuintsizeiPtrintIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintintintsizeisizeiIOV :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+ffiuintintintsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
+ffiuintintintsizeisizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintintsizeisizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintPtrintIOV :: FunPtr (GLuint -> Ptr GLint -> IO ()) -> GLuint -> Ptr GLint -> IO ()
+
+ffiuintPtrintIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLint -> IO ()) -> GLuint -> Ptr GLint -> m ()
+ffiuintPtrintIOV fp v0 v1 = liftIO (dynuintPtrintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintbooleanuintintPtruintIOV :: FunPtr (GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ()) -> GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ()
+
+ffiuintbooleanuintintPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ()) -> GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> m ()
+ffiuintbooleanuintintPtruintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintbooleanuintintPtruintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumenumsizeisizeienumenumPtrVPtrVIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> Ptr () -> IO ()
+
+ffienumenumsizeisizeienumenumPtrVPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> Ptr () -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> Ptr () -> m ()
+ffienumenumsizeisizeienumenumPtrVPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumenumsizeisizeienumenumPtrVPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintenumPtrVIOV :: FunPtr (GLuint -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> Ptr () -> IO ()
+
+ffiuintenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> Ptr () -> m ()
+ffiuintenumPtrVIOV fp v0 v1 v2 = liftIO (dynuintenumPtrVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynsizeiPtruintenumPtrVsizeiIOV :: FunPtr (GLsizei -> Ptr GLuint -> GLenum -> Ptr () -> GLsizei -> IO ()) -> GLsizei -> Ptr GLuint -> GLenum -> Ptr () -> GLsizei -> IO ()
+
+ffisizeiPtruintenumPtrVsizeiIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLuint -> GLenum -> Ptr () -> GLsizei -> IO ()) -> GLsizei -> Ptr GLuint -> GLenum -> Ptr () -> GLsizei -> m ()
+ffisizeiPtruintenumPtrVsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynsizeiPtruintenumPtrVsizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynenumuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffienumuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> m ()
+ffienumuintuintuintIOV fp v0 v1 v2 v3 = liftIO (dynenumuintuintuintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumuintuintuintuintIOV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffienumuintuintuintuintIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffienumuintuintuintuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumuintuintuintuintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynhandleARBsizeiPtrPtrcharARBPtrintIOV :: FunPtr (GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ()) -> GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ()
+
+ffihandleARBsizeiPtrPtrcharARBPtrintIOV :: MonadIO m => FunPtr (GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ()) -> GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> m ()
+ffihandleARBsizeiPtrPtrcharARBPtrintIOV fp v0 v1 v2 v3 = liftIO (dynhandleARBsizeiPtrPtrcharARBPtrintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuintuintuintbitfieldIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ()
+
+ffiuintuintuintuintbitfieldIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> m ()
+ffiuintuintuintuintbitfieldIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintuintuintbitfieldIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynsizeiuintIOV :: FunPtr (GLsizei -> GLuint -> IO ()) -> GLsizei -> GLuint -> IO ()
+
+ffisizeiuintIOV :: MonadIO m => FunPtr (GLsizei -> GLuint -> IO ()) -> GLsizei -> GLuint -> m ()
+ffisizeiuintIOV fp v0 v1 = liftIO (dynsizeiuintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynsizeienumPtrVuintenumuintenumPtrfloatIOV :: FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+ffisizeienumPtrVuintenumuintenumPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()
+ffisizeienumPtrVuintenumuintenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynsizeienumPtrVuintenumuintenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintenumuintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> IO ()
+
+ffiuintenumuintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> m ()
+ffiuintenumuintIOV fp v0 v1 v2 = liftIO (dynuintenumuintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumenumintuintIOV :: FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ()) -> GLenum -> GLenum -> GLint -> GLuint -> IO ()
+
+ffienumenumintuintIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ()) -> GLenum -> GLenum -> GLint -> GLuint -> m ()
+ffienumenumintuintIOV fp v0 v1 v2 v3 = liftIO (dynenumenumintuintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumenumenumIOV :: FunPtr (GLenum -> GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> GLenum -> IO ()
+
+ffienumenumenumIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> GLenum -> m ()
+ffienumenumenumIOV fp v0 v1 v2 = liftIO (dynenumenumenumIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynsizeienumPtrVuintintuintenumPtrfloatIOV :: FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+ffisizeienumPtrVuintintuintenumPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
+ffisizeienumPtrVuintintuintenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynsizeienumPtrVuintintuintenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynsizeienumPtrVuintenumuintenumenumPtrfloatIOV :: FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+ffisizeienumPtrVuintenumuintenumenumPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
+ffisizeienumPtrVuintenumuintenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynsizeienumPtrVuintenumuintenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintenumuintenumIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> IO ()) -> GLuint -> GLenum -> GLuint -> GLenum -> IO ()
+
+ffiuintenumuintenumIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> IO ()) -> GLuint -> GLenum -> GLuint -> GLenum -> m ()
+ffiuintenumuintenumIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintenumIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynsizeienumPtrVuintintuintenumenumPtrfloatIOV :: FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+ffisizeienumPtrVuintintuintenumenumPtrfloatIOV :: MonadIO m => FunPtr (GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()) -> GLsizei -> GLenum -> Ptr () -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
+ffisizeienumPtrVuintintuintenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynsizeienumPtrVuintintuintenumenumPtrfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintintuintenumIOV :: FunPtr (GLuint -> GLint -> GLuint -> GLenum -> IO ()) -> GLuint -> GLint -> GLuint -> GLenum -> IO ()
+
+ffiuintintuintenumIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLuint -> GLenum -> IO ()) -> GLuint -> GLint -> GLuint -> GLenum -> m ()
+ffiuintintuintenumIOV fp v0 v1 v2 v3 = liftIO (dynuintintuintenumIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuintenumenumenumenumIOV :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
+
+ffiuintuintenumenumenumenumIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()) -> GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
+ffiuintuintenumenumenumenumIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintuintenumenumenumenumIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumuintintptrsizeiptrIOV :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+ffienumenumuintintptrsizeiptrIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
+ffienumenumuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynenumenumuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynbytebyteIOV :: FunPtr (GLbyte -> GLbyte -> IO ()) -> GLbyte -> GLbyte -> IO ()
+
+ffibytebyteIOV :: MonadIO m => FunPtr (GLbyte -> GLbyte -> IO ()) -> GLbyte -> GLbyte -> m ()
+ffibytebyteIOV fp v0 v1 = liftIO (dynbytebyteIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
+
+foreign import CALLCONV "dynamic" dynPtrfloatPtrfloatPtrfloatPtrfloatIOV :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+ffiPtrfloatPtrfloatPtrfloatPtrfloatIOV :: MonadIO m => FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
+ffiPtrfloatPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynPtrfloatPtrfloatPtrfloatPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynfloatfloatubyteubyteubyteubytefloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffifloatfloatubyteubyteubyteubytefloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffifloatfloatubyteubyteubyteubytefloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynfloatfloatubyteubyteubyteubytefloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynPtrfloatPtrubytePtrfloatIOV :: FunPtr (Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ()
+
+ffiPtrfloatPtrubytePtrfloatIOV :: MonadIO m => FunPtr (Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ()) -> Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> m ()
+ffiPtrfloatPtrubytePtrfloatIOV fp v0 v1 v2 = liftIO (dynPtrfloatPtrubytePtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynhalfNVhalfNVIOV :: FunPtr (GLhalfNV -> GLhalfNV -> IO ()) -> GLhalfNV -> GLhalfNV -> IO ()
+
+ffihalfNVhalfNVIOV :: MonadIO m => FunPtr (GLhalfNV -> GLhalfNV -> IO ()) -> GLhalfNV -> GLhalfNV -> m ()
+ffihalfNVhalfNVIOV fp v0 v1 = liftIO (dynhalfNVhalfNVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffifloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 = liftIO (dynfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14)
+
+foreign import CALLCONV "dynamic" dynenumenumdoubleIOV :: FunPtr (GLenum -> GLenum -> GLdouble -> IO ()) -> GLenum -> GLenum -> GLdouble -> IO ()
+
+ffienumenumdoubleIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLdouble -> IO ()) -> GLenum -> GLenum -> GLdouble -> m ()
+ffienumenumdoubleIOV fp v0 v1 v2 = liftIO (dynenumenumdoubleIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynenumintintsizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumintintsizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumintintsizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumintintsizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynenumintintsizeisizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumintintsizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumintintsizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumintintsizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynenumsizeienumsizeisizeibooleanIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffienumsizeienumsizeisizeibooleanIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffienumsizeienumsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumsizeienumsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumsizeisizeiintsizeisizeibooleanIOV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffienumsizeisizeiintsizeisizeibooleanIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffienumsizeisizeiintsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumsizeisizeiintsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumintintsizeisizeisizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumintintsizeisizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumintintsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumintintsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynenumintenumsizeisizeisizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumintenumsizeisizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumintenumsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynenumintenumsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynenumsizeienumsizeisizeisizeibooleanIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffienumsizeienumsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffienumsizeienumsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumsizeienumsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumsizeisizeiintsizeisizeisizeibooleanIOV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffienumsizeisizeiintsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffienumsizeisizeiintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynenumsizeisizeiintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynenumintenumsizeisizeisizeisizeiintenumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumintenumsizeisizeisizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumintenumsizeisizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynenumintenumsizeisizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
+
+foreign import CALLCONV "dynamic" dynenumintintintintsizeisizeisizeibooleanIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffienumintintintintsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffienumintintintintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumintintintintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynenumsizeienumsizeiIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()
+
+ffienumsizeienumsizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
+ffienumsizeienumsizeiIOV fp v0 v1 v2 v3 = liftIO (dynenumsizeienumsizeiIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynenumsizeienumsizeisizeisizeiIOV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+ffienumsizeienumsizeisizeisizeiIOV :: MonadIO m => FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
+ffienumsizeienumsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynenumsizeienumsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynenumenumsizeisizeisizeisizeibitfieldIOV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()
+
+ffienumenumsizeisizeisizeisizeibitfieldIOV :: MonadIO m => FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()) -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> m ()
+ffienumenumsizeisizeisizeisizeibitfieldIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumenumsizeisizeisizeisizeibitfieldIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumintintsizeienumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumintintsizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynenumintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynenumintintintsizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumintintintsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynenumintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynenumintintintintintsizeisizeisizeisizeienumenumPtrVIOV :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffienumintintintintintsizeisizeisizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffienumintintintintintsizeisizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO (dynenumintintintintintsizeisizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12)
+
+foreign import CALLCONV "dynamic" dynuintenumuintintptrsizeiptrIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+ffiuintenumuintintptrsizeiptrIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
+ffiuintenumuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumenumuintintptrsizeiptrIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+ffiuintenumenumuintintptrsizeiptrIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
+ffiuintenumenumuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintenumenumuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintenumintintsizeiintenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintenumintintsizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintenumintintsizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumintintsizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintenumintintsizeisizeiintenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintenumintintsizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintenumintintsizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintenumintintsizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeisizeiintsizeisizeibooleanIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffiuintenumsizeisizeiintsizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffiuintenumsizeisizeiintsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumsizeisizeiintsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeiintsizeisizeibooleanIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffiuintenumsizeiintsizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffiuintenumsizeiintsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumsizeiintsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintenumintintsizeisizeisizeiintenumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintenumintintsizeisizeisizeiintenumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintenumintintsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO (dynuintenumintintsizeisizeisizeiintenumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeisizeiintsizeisizeisizeibooleanIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffiuintenumsizeisizeiintsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffiuintenumsizeisizeiintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintenumsizeisizeiintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeiintsizeisizeisizeibooleanIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffiuintenumsizeiintsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffiuintenumsizeiintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumsizeiintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintintintintintsizeisizeisizeibooleanIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffiuintintintintintsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffiuintintintintintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintintintintintsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintenumenumfloatIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLfloat -> IO ()) -> GLuint -> GLenum -> GLenum -> GLfloat -> IO ()
+
+ffiuintenumenumfloatIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLfloat -> IO ()) -> GLuint -> GLenum -> GLenum -> GLfloat -> m ()
+ffiuintenumenumfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumenumintIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLint -> IO ()
+
+ffiuintenumenumintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLint -> IO ()) -> GLuint -> GLenum -> GLenum -> GLint -> m ()
+ffiuintenumenumintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumenumintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintsizeienumsizeiIOV :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> IO ()
+
+ffiuintsizeienumsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> m ()
+ffiuintsizeienumsizeiIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeienumsizeiIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeienumsizeiIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()
+
+ffiuintenumsizeienumsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
+ffiuintenumsizeienumsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumsizeienumsizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeienumsizeisizeiIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+ffiuintenumsizeienumsizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
+ffiuintenumsizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintenumsizeienumsizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintsizeienumsizeisizeibooleanIOV :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffiuintsizeienumsizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffiuintsizeienumsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintsizeienumsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeienumsizeisizeibooleanIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffiuintenumsizeienumsizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffiuintenumsizeienumsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumsizeienumsizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintsizeienumsizeisizeisizeiIOV :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+ffiuintsizeienumsizeisizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
+ffiuintsizeienumsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintsizeienumsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeienumsizeisizeisizeiIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+ffiuintenumsizeienumsizeisizeisizeiIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
+ffiuintenumsizeienumsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintenumsizeienumsizeisizeisizeiIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintsizeienumsizeisizeisizeibooleanIOV :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffiuintsizeienumsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffiuintsizeienumsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintsizeienumsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeienumsizeisizeisizeibooleanIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+ffiuintenumsizeienumsizeisizeisizeibooleanIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
+ffiuintenumsizeienumsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumsizeienumsizeisizeisizeibooleanIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintenumenumsizeisizeisizeisizeibitfieldIOV :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()) -> GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()
+
+ffiuintenumenumsizeisizeisizeisizeibitfieldIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()) -> GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> m ()
+ffiuintenumenumsizeisizeisizeisizeibitfieldIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumenumsizeisizeisizeisizeibitfieldIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintintintsizeienumenumPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintintintsizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintenumintintsizeienumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintenumintintsizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintenumintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumintintsizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintintintintsizeisizeienumenumPtrVIOV :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintintintintsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 = liftIO (dynuintintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8)
+
+foreign import CALLCONV "dynamic" dynuintenumintintintsizeisizeienumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintenumintintintsizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintenumintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO (dynuintenumintintintsizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9)
+
+foreign import CALLCONV "dynamic" dynuintenumintintintintsizeisizeisizeienumenumPtrVIOV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()
+
+ffiuintenumintintintintsizeisizeisizeienumenumPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
+ffiuintenumintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO (dynuintenumintintintintsizeisizeisizeienumenumPtrVIOV fp v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11)
+
+foreign import CALLCONV "dynamic" dynuintenumuintenumuintuintuintuintIOV :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffiuintenumuintenumuintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffiuintenumuintenumuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintenumuintenumuintuintuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynenumuintenumenumIOV :: FunPtr (GLenum -> GLuint -> GLenum -> GLenum -> IO ()) -> GLenum -> GLuint -> GLenum -> GLenum -> IO ()
+
+ffienumuintenumenumIOV :: MonadIO m => FunPtr (GLenum -> GLuint -> GLenum -> GLenum -> IO ()) -> GLenum -> GLuint -> GLenum -> GLenum -> m ()
+ffienumuintenumenumIOV fp v0 v1 v2 v3 = liftIO (dynenumuintenumenumIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynsizeiPtrintenumIOV :: FunPtr (GLsizei -> Ptr GLint -> GLenum -> IO ()) -> GLsizei -> Ptr GLint -> GLenum -> IO ()
+
+ffisizeiPtrintenumIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLint -> GLenum -> IO ()) -> GLsizei -> Ptr GLint -> GLenum -> m ()
+ffisizeiPtrintenumIOV fp v0 v1 v2 = liftIO (dynsizeiPtrintenumIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintuintuintintptrsizeiptrIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+ffiuintuintuintintptrsizeiptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()) -> GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()
+ffiuintuintuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintuintintptrsizeiptrIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynsizeiPtrintsizeiPtrintenumIOV :: FunPtr (GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ()) -> GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ()
+
+ffisizeiPtrintsizeiPtrintenumIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ()) -> GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> m ()
+ffisizeiPtrintsizeiPtrintenumIOV fp v0 v1 v2 v3 v4 = liftIO (dynsizeiPtrintsizeiPtrintenumIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrPtrcharenumIOV :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()) -> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()
+
+ffiuintsizeiPtrPtrcharenumIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()) -> GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
+ffiuintsizeiPtrPtrcharenumIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrPtrcharenumIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrintenumIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ()) -> GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ()
+
+ffiuintsizeiPtrintenumIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ()) -> GLuint -> GLsizei -> Ptr GLint -> GLenum -> m ()
+ffiuintsizeiPtrintenumIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtrintenumIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynintdoubleIOV :: FunPtr (GLint -> GLdouble -> IO ()) -> GLint -> GLdouble -> IO ()
+
+ffiintdoubleIOV :: MonadIO m => FunPtr (GLint -> GLdouble -> IO ()) -> GLint -> GLdouble -> m ()
+ffiintdoubleIOV fp v0 v1 = liftIO (dynintdoubleIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintsizeiPtrdoubleIOV :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLint -> GLsizei -> Ptr GLdouble -> IO ()
+
+ffiintsizeiPtrdoubleIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ()) -> GLint -> GLsizei -> Ptr GLdouble -> m ()
+ffiintsizeiPtrdoubleIOV fp v0 v1 v2 = liftIO (dynintsizeiPtrdoubleIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintfloatIOV :: FunPtr (GLint -> GLfloat -> IO ()) -> GLint -> GLfloat -> IO ()
+
+ffiintfloatIOV :: MonadIO m => FunPtr (GLint -> GLfloat -> IO ()) -> GLint -> GLfloat -> m ()
+ffiintfloatIOV fp v0 v1 = liftIO (dynintfloatIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintsizeiPtrfloatIOV :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLint -> GLsizei -> Ptr GLfloat -> IO ()
+
+ffiintsizeiPtrfloatIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ()) -> GLint -> GLsizei -> Ptr GLfloat -> m ()
+ffiintsizeiPtrfloatIOV fp v0 v1 v2 = liftIO (dynintsizeiPtrfloatIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintint64EXTIOV :: FunPtr (GLint -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> IO ()
+
+ffiintint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> m ()
+ffiintint64EXTIOV fp v0 v1 = liftIO (dynintint64EXTIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintsizeiPtrint64EXTIOV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ()) -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ()
+
+ffiintsizeiPtrint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ()) -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
+ffiintsizeiPtrint64EXTIOV fp v0 v1 v2 = liftIO (dynintsizeiPtrint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintsizeiPtrintIOV :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ()) -> GLint -> GLsizei -> Ptr GLint -> IO ()
+
+ffiintsizeiPtrintIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ()) -> GLint -> GLsizei -> Ptr GLint -> m ()
+ffiintsizeiPtrintIOV fp v0 v1 v2 = liftIO (dynintsizeiPtrintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintuintIOV :: FunPtr (GLint -> GLuint -> IO ()) -> GLint -> GLuint -> IO ()
+
+ffiintuintIOV :: MonadIO m => FunPtr (GLint -> GLuint -> IO ()) -> GLint -> GLuint -> m ()
+ffiintuintIOV fp v0 v1 = liftIO (dynintuintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintuint64EXTIOV :: FunPtr (GLint -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> IO ()
+
+ffiintuint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> m ()
+ffiintuint64EXTIOV fp v0 v1 = liftIO (dynintuint64EXTIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintsizeiPtruint64EXTIOV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()) -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()
+
+ffiintsizeiPtruint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()) -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
+ffiintsizeiPtruint64EXTIOV fp v0 v1 v2 = liftIO (dynintsizeiPtruint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintsizeiPtruintIOV :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ()) -> GLint -> GLsizei -> Ptr GLuint -> IO ()
+
+ffiintsizeiPtruintIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ()) -> GLint -> GLsizei -> Ptr GLuint -> m ()
+ffiintsizeiPtruintIOV fp v0 v1 v2 = liftIO (dynintsizeiPtruintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintint64EXTint64EXTIOV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> GLint64EXT -> IO ()
+
+ffiintint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLint64EXT -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> GLint64EXT -> m ()
+ffiintint64EXTint64EXTIOV fp v0 v1 v2 = liftIO (dynintint64EXTint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintuintuintIOV :: FunPtr (GLint -> GLuint -> GLuint -> IO ()) -> GLint -> GLuint -> GLuint -> IO ()
+
+ffiintuintuintIOV :: MonadIO m => FunPtr (GLint -> GLuint -> GLuint -> IO ()) -> GLint -> GLuint -> GLuint -> m ()
+ffiintuintuintIOV fp v0 v1 v2 = liftIO (dynintuintuintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintuint64EXTuint64EXTIOV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+ffiintuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> GLuint64EXT -> m ()
+ffiintuint64EXTuint64EXTIOV fp v0 v1 v2 = liftIO (dynintuint64EXTuint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintdoubledoubledoubleIOV :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffiintdoubledoubledoubleIOV :: MonadIO m => FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffiintdoubledoubledoubleIOV fp v0 v1 v2 v3 = liftIO (dynintdoubledoubledoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynintfloatfloatfloatIOV :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiintfloatfloatfloatIOV :: MonadIO m => FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiintfloatfloatfloatIOV fp v0 v1 v2 v3 = liftIO (dynintfloatfloatfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynintint64EXTint64EXTint64EXTIOV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+ffiintint64EXTint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
+ffiintint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynintint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynintuintuintuintIOV :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffiintuintuintuintIOV :: MonadIO m => FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLint -> GLuint -> GLuint -> GLuint -> m ()
+ffiintuintuintuintIOV fp v0 v1 v2 v3 = liftIO (dynintuintuintuintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynintuint64EXTuint64EXTuint64EXTIOV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+ffiintuint64EXTuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
+ffiintuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynintuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynintdoubledoubledoubledoubleIOV :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffiintdoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffiintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 = liftIO (dynintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynintfloatfloatfloatfloatIOV :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiintfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynintint64EXTint64EXTint64EXTint64EXTIOV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+ffiintint64EXTint64EXTint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
+ffiintint64EXTint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4 = liftIO (dynintint64EXTint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynintuintuintuintuintIOV :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffiintuintuintuintuintIOV :: MonadIO m => FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffiintuintuintuintuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynintuintuintuintuintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynintuint64EXTuint64EXTuint64EXTuint64EXTIOV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+ffiintuint64EXTuint64EXTuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
+ffiintuint64EXTuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4 = liftIO (dynintuint64EXTuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynintuint64IOV :: FunPtr (GLint -> GLuint64 -> IO ()) -> GLint -> GLuint64 -> IO ()
+
+ffiintuint64IOV :: MonadIO m => FunPtr (GLint -> GLuint64 -> IO ()) -> GLint -> GLuint64 -> m ()
+ffiintuint64IOV fp v0 v1 = liftIO (dynintuint64IOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintsizeiPtruint64IOV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ()) -> GLint -> GLsizei -> Ptr GLuint64 -> IO ()
+
+ffiintsizeiPtruint64IOV :: MonadIO m => FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ()) -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
+ffiintsizeiPtruint64IOV fp v0 v1 v2 = liftIO (dynintsizeiPtruint64IOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynintsizeibooleanPtrdoubleIOV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()) -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()
+
+ffiintsizeibooleanPtrdoubleIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()) -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
+ffiintsizeibooleanPtrdoubleIOV fp v0 v1 v2 v3 = liftIO (dynintsizeibooleanPtrdoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynintsizeibooleanPtrfloatIOV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()) -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
+
+ffiintsizeibooleanPtrfloatIOV :: MonadIO m => FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()) -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
+ffiintsizeibooleanPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynintsizeibooleanPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuintsizeiPtrVenumIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr () -> GLenum -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr () -> GLenum -> IO ()
+
+ffiuintuintsizeiPtrVenumIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr () -> GLenum -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr () -> GLenum -> m ()
+ffiuintuintsizeiPtrVenumIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintsizeiPtrVenumIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintbitfielduintIOV :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ()) -> GLuint -> GLbitfield -> GLuint -> IO ()
+
+ffiuintbitfielduintIOV :: MonadIO m => FunPtr (GLuint -> GLbitfield -> GLuint -> IO ()) -> GLuint -> GLbitfield -> GLuint -> m ()
+ffiuintbitfielduintIOV fp v0 v1 v2 = liftIO (dynuintbitfielduintIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynvdpauSurfaceNVenumsizeiPtrsizeiPtrintIOV :: FunPtr (GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()) -> GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
+
+ffivdpauSurfaceNVenumsizeiPtrsizeiPtrintIOV :: MonadIO m => FunPtr (GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()) -> GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()
+ffivdpauSurfaceNVenumsizeiPtrsizeiPtrintIOV fp v0 v1 v2 v3 v4 = liftIO (dynvdpauSurfaceNVenumsizeiPtrsizeiPtrintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynPtrVPtrVIOV :: FunPtr (Ptr () -> Ptr () -> IO ()) -> Ptr () -> Ptr () -> IO ()
+
+ffiPtrVPtrVIOV :: MonadIO m => FunPtr (Ptr () -> Ptr () -> IO ()) -> Ptr () -> Ptr () -> m ()
+ffiPtrVPtrVIOV fp v0 v1 = liftIO (dynPtrVPtrVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynvdpauSurfaceNVIOboolean :: FunPtr (GLvdpauSurfaceNV -> IO GLboolean) -> GLvdpauSurfaceNV -> IO GLboolean
+
+ffivdpauSurfaceNVIOboolean :: MonadIO m => FunPtr (GLvdpauSurfaceNV -> IO GLboolean) -> GLvdpauSurfaceNV -> m GLboolean
+ffivdpauSurfaceNVIOboolean fp v0 = liftIO (dynvdpauSurfaceNVIOboolean fp v0)
+
+foreign import CALLCONV "dynamic" dynsizeiPtrvdpauSurfaceNVIOV :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ()) -> GLsizei -> Ptr GLvdpauSurfaceNV -> IO ()
+
+ffisizeiPtrvdpauSurfaceNVIOV :: MonadIO m => FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ()) -> GLsizei -> Ptr GLvdpauSurfaceNV -> m ()
+ffisizeiPtrvdpauSurfaceNVIOV fp v0 v1 = liftIO (dynsizeiPtrvdpauSurfaceNVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynPtrVenumsizeiPtruintIOvdpauSurfaceNV :: FunPtr (Ptr () -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV) -> Ptr () -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV
+
+ffiPtrVenumsizeiPtruintIOvdpauSurfaceNV :: MonadIO m => FunPtr (Ptr () -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV) -> Ptr () -> GLenum -> GLsizei -> Ptr GLuint -> m GLvdpauSurfaceNV
+ffiPtrVenumsizeiPtruintIOvdpauSurfaceNV fp v0 v1 v2 v3 = liftIO (dynPtrVenumsizeiPtruintIOvdpauSurfaceNV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynvdpauSurfaceNVenumIOV :: FunPtr (GLvdpauSurfaceNV -> GLenum -> IO ()) -> GLvdpauSurfaceNV -> GLenum -> IO ()
+
+ffivdpauSurfaceNVenumIOV :: MonadIO m => FunPtr (GLvdpauSurfaceNV -> GLenum -> IO ()) -> GLvdpauSurfaceNV -> GLenum -> m ()
+ffivdpauSurfaceNVenumIOV fp v0 v1 = liftIO (dynvdpauSurfaceNVenumIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynvdpauSurfaceNVIOV :: FunPtr (GLvdpauSurfaceNV -> IO ()) -> GLvdpauSurfaceNV -> IO ()
+
+ffivdpauSurfaceNVIOV :: MonadIO m => FunPtr (GLvdpauSurfaceNV -> IO ()) -> GLvdpauSurfaceNV -> m ()
+ffivdpauSurfaceNVIOV fp v0 = liftIO (dynvdpauSurfaceNVIOV fp v0)
+
+foreign import CALLCONV "dynamic" dynuintenumsizeiuintuintIOV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()
+
+ffiuintenumsizeiuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()) -> GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> m ()
+ffiuintenumsizeiuintuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintenumsizeiuintuintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumuintPtrVIOV :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr () -> IO ()
+
+ffiuintenumuintPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLuint -> Ptr () -> IO ()) -> GLuint -> GLenum -> GLuint -> Ptr () -> m ()
+ffiuintenumuintPtrVIOV fp v0 v1 v2 v3 = liftIO (dynuintenumuintPtrVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintPtrbyteIOV :: FunPtr (GLuint -> Ptr GLbyte -> IO ()) -> GLuint -> Ptr GLbyte -> IO ()
+
+ffiuintPtrbyteIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLbyte -> IO ()) -> GLuint -> Ptr GLbyte -> m ()
+ffiuintPtrbyteIOV fp v0 v1 = liftIO (dynuintPtrbyteIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintPtrdoubleIOV :: FunPtr (GLuint -> Ptr GLdouble -> IO ()) -> GLuint -> Ptr GLdouble -> IO ()
+
+ffiuintPtrdoubleIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLdouble -> IO ()) -> GLuint -> Ptr GLdouble -> m ()
+ffiuintPtrdoubleIOV fp v0 v1 = liftIO (dynuintPtrdoubleIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintPtrshortIOV :: FunPtr (GLuint -> Ptr GLshort -> IO ()) -> GLuint -> Ptr GLshort -> IO ()
+
+ffiuintPtrshortIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLshort -> IO ()) -> GLuint -> Ptr GLshort -> m ()
+ffiuintPtrshortIOV fp v0 v1 = liftIO (dynuintPtrshortIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintPtrushortIOV :: FunPtr (GLuint -> Ptr GLushort -> IO ()) -> GLuint -> Ptr GLushort -> IO ()
+
+ffiuintPtrushortIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLushort -> IO ()) -> GLuint -> Ptr GLushort -> m ()
+ffiuintPtrushortIOV fp v0 v1 = liftIO (dynuintPtrushortIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintuintintenumbooleanuintIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()) -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()
+
+ffiuintuintintenumbooleanuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()) -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()
+ffiuintuintintenumbooleanuintIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintuintintenumbooleanuintIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintuintintenumuintIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ()
+
+ffiuintuintintenumuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()
+ffiuintuintintenumuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintintenumuintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintuintuintintptrsizeiIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()) -> GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()
+
+ffiuintuintuintintptrsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()) -> GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()
+ffiuintuintuintintptrsizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintuintintptrsizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintuintintenumsizeiintptrIOV :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
+
+ffiuintuintintenumsizeiintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
+ffiuintuintintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintuintintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintuintsizeiintptrIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLsizei -> GLintptr -> IO ()
+
+ffiuintuintsizeiintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLsizei -> GLintptr -> m ()
+ffiuintuintsizeiintptrIOV fp v0 v1 v2 v3 = liftIO (dynuintuintsizeiintptrIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuintenumsizeiintptrIOV :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ()
+
+ffiuintuintenumsizeiintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> m ()
+ffiuintuintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintenumsizeiintptrIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintuintenumintenumsizeiintptrIOV :: FunPtr (GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
+
+ffiuintuintenumintenumsizeiintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
+ffiuintuintenumintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintenumintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintuintuintintenumsizeiintptrIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
+
+ffiuintuintuintintenumsizeiintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
+ffiuintuintuintintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintuintuintintenumsizeiintptrIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintuintuintintenumbooleansizeiintptrIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ()
+
+ffiuintuintuintintenumbooleansizeiintptrIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ()) -> GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> m ()
+ffiuintuintuintintenumbooleansizeiintptrIOV fp v0 v1 v2 v3 v4 v5 v6 v7 = liftIO (dynuintuintuintintenumbooleansizeiintptrIOV fp v0 v1 v2 v3 v4 v5 v6 v7)
+
+foreign import CALLCONV "dynamic" dynuintuintsizeiPtruintPtrintptrPtrsizeiIOV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()
+
+ffiuintuintsizeiPtruintPtrintptrPtrsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()) -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()
+ffiuintuintsizeiPtruintPtrintptrPtrsizeiIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintuintsizeiPtruintPtrintptrPtrsizeiIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintdoubleIOV :: FunPtr (GLuint -> GLdouble -> IO ()) -> GLuint -> GLdouble -> IO ()
+
+ffiuintdoubleIOV :: MonadIO m => FunPtr (GLuint -> GLdouble -> IO ()) -> GLuint -> GLdouble -> m ()
+ffiuintdoubleIOV fp v0 v1 = liftIO (dynuintdoubleIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintfloatIOV :: FunPtr (GLuint -> GLfloat -> IO ()) -> GLuint -> GLfloat -> IO ()
+
+ffiuintfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> IO ()) -> GLuint -> GLfloat -> m ()
+ffiuintfloatIOV fp v0 v1 = liftIO (dynuintfloatIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuinthalfNVIOV :: FunPtr (GLuint -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> IO ()
+
+ffiuinthalfNVIOV :: MonadIO m => FunPtr (GLuint -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> m ()
+ffiuinthalfNVIOV fp v0 v1 = liftIO (dynuinthalfNVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintPtrhalfNVIOV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ()) -> GLuint -> Ptr GLhalfNV -> IO ()
+
+ffiuintPtrhalfNVIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLhalfNV -> IO ()) -> GLuint -> Ptr GLhalfNV -> m ()
+ffiuintPtrhalfNVIOV fp v0 v1 = liftIO (dynuintPtrhalfNVIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintshortIOV :: FunPtr (GLuint -> GLshort -> IO ()) -> GLuint -> GLshort -> IO ()
+
+ffiuintshortIOV :: MonadIO m => FunPtr (GLuint -> GLshort -> IO ()) -> GLuint -> GLshort -> m ()
+ffiuintshortIOV fp v0 v1 = liftIO (dynuintshortIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuinthalfNVhalfNVIOV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> GLhalfNV -> IO ()
+
+ffiuinthalfNVhalfNVIOV :: MonadIO m => FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> GLhalfNV -> m ()
+ffiuinthalfNVhalfNVIOV fp v0 v1 v2 = liftIO (dynuinthalfNVhalfNVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintshortshortIOV :: FunPtr (GLuint -> GLshort -> GLshort -> IO ()) -> GLuint -> GLshort -> GLshort -> IO ()
+
+ffiuintshortshortIOV :: MonadIO m => FunPtr (GLuint -> GLshort -> GLshort -> IO ()) -> GLuint -> GLshort -> GLshort -> m ()
+ffiuintshortshortIOV fp v0 v1 v2 = liftIO (dynuintshortshortIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintdoubledoubledoubleIOV :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffiuintdoubledoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffiuintdoubledoubledoubleIOV fp v0 v1 v2 v3 = liftIO (dynuintdoubledoubledoubleIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuinthalfNVhalfNVhalfNVIOV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+ffiuinthalfNVhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
+ffiuinthalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 = liftIO (dynuinthalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintshortshortshortIOV :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ()) -> GLuint -> GLshort -> GLshort -> GLshort -> IO ()
+
+ffiuintshortshortshortIOV :: MonadIO m => FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ()) -> GLuint -> GLshort -> GLshort -> GLshort -> m ()
+ffiuintshortshortshortIOV fp v0 v1 v2 v3 = liftIO (dynuintshortshortshortIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintubyteubyteubyteubyteIOV :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()) -> GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()
+
+ffiuintubyteubyteubyteubyteIOV :: MonadIO m => FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()) -> GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()
+ffiuintubyteubyteubyteubyteIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintubyteubyteubyteubyteIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintdoubledoubledoubledoubleIOV :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+ffiuintdoubledoubledoubledoubleIOV :: MonadIO m => FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()) -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
+ffiuintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintdoubledoubledoubledoubleIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintfloatfloatfloatfloatIOV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+ffiuintfloatfloatfloatfloatIOV :: MonadIO m => FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
+ffiuintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintfloatfloatfloatfloatIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuinthalfNVhalfNVhalfNVhalfNVIOV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+ffiuinthalfNVhalfNVhalfNVhalfNVIOV :: MonadIO m => FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()) -> GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
+ffiuinthalfNVhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuinthalfNVhalfNVhalfNVhalfNVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintshortshortshortshortIOV :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
+
+ffiuintshortshortshortshortIOV :: MonadIO m => FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()) -> GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
+ffiuintshortshortshortshortIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintshortshortshortshortIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintintenumbooleansizeiuintuintIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ()
+
+ffiuintintenumbooleansizeiuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> m ()
+ffiuintintenumbooleansizeiuintuintIOV fp v0 v1 v2 v3 v4 v5 v6 = liftIO (dynuintintenumbooleansizeiuintuintIOV fp v0 v1 v2 v3 v4 v5 v6)
+
+foreign import CALLCONV "dynamic" dynuintintenumbooleanuintIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()
+
+ffiuintintenumbooleanuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()
+ffiuintintenumbooleanuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintenumbooleanuintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintintenumbooleansizeiIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ()
+
+ffiuintintenumbooleansizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> m ()
+ffiuintintenumbooleansizeiIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintenumbooleansizeiIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintuintuintuintuintIOV :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+ffiuintuintuintuintuintIOV :: MonadIO m => FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()) -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
+ffiuintuintuintuintuintIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuintuintuintuintIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintintenumuintIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLint -> GLenum -> GLuint -> IO ()
+
+ffiuintintenumuintIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ()) -> GLuint -> GLint -> GLenum -> GLuint -> m ()
+ffiuintintenumuintIOV fp v0 v1 v2 v3 = liftIO (dynuintintenumuintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintenumsizeiIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ()) -> GLuint -> GLint -> GLenum -> GLsizei -> IO ()
+
+ffiuintintenumsizeiIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ()) -> GLuint -> GLint -> GLenum -> GLsizei -> m ()
+ffiuintintenumsizeiIOV fp v0 v1 v2 v3 = liftIO (dynuintintenumsizeiIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintenumsizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()
+
+ffiuintintenumsizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLsizei -> Ptr () -> m ()
+ffiuintintenumsizeiPtrVIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintintenumsizeiPtrVIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintint64EXTIOV :: FunPtr (GLuint -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> IO ()
+
+ffiuintint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> m ()
+ffiuintint64EXTIOV fp v0 v1 = liftIO (dynuintint64EXTIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintPtrint64EXTIOV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ()) -> GLuint -> Ptr GLint64EXT -> IO ()
+
+ffiuintPtrint64EXTIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLint64EXT -> IO ()) -> GLuint -> Ptr GLint64EXT -> m ()
+ffiuintPtrint64EXTIOV fp v0 v1 = liftIO (dynuintPtrint64EXTIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintuint64EXTIOV :: FunPtr (GLuint -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> IO ()
+
+ffiuintuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> m ()
+ffiuintuint64EXTIOV fp v0 v1 = liftIO (dynuintuint64EXTIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintPtruint64EXTIOV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ()) -> GLuint -> Ptr GLuint64EXT -> IO ()
+
+ffiuintPtruint64EXTIOV :: MonadIO m => FunPtr (GLuint -> Ptr GLuint64EXT -> IO ()) -> GLuint -> Ptr GLuint64EXT -> m ()
+ffiuintPtruint64EXTIOV fp v0 v1 = liftIO (dynuintPtruint64EXTIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynuintint64EXTint64EXTIOV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> GLint64EXT -> IO ()
+
+ffiuintint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> GLint64EXT -> m ()
+ffiuintint64EXTint64EXTIOV fp v0 v1 v2 = liftIO (dynuintint64EXTint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintuint64EXTuint64EXTIOV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+ffiuintuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> GLuint64EXT -> m ()
+ffiuintuint64EXTuint64EXTIOV fp v0 v1 v2 = liftIO (dynuintuint64EXTuint64EXTIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintint64EXTint64EXTint64EXTIOV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+ffiuintint64EXTint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
+ffiuintint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynuintint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintuint64EXTuint64EXTuint64EXTIOV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+ffiuintuint64EXTuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
+ffiuintuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 = liftIO (dynuintuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintint64EXTint64EXTint64EXTint64EXTIOV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+ffiuintint64EXTint64EXTint64EXTint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()) -> GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
+ffiuintint64EXTint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintint64EXTint64EXTint64EXTint64EXTIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintuint64EXTuint64EXTuint64EXTuint64EXTIOV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+ffiuintuint64EXTuint64EXTuint64EXTuint64EXTIOV :: MonadIO m => FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()) -> GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
+ffiuintuint64EXTuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4 = liftIO (dynuintuint64EXTuint64EXTuint64EXTuint64EXTIOV fp v0 v1 v2 v3 v4)
+
+foreign import CALLCONV "dynamic" dynuintenumbooleanuintIOV :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ()) -> GLuint -> GLenum -> GLboolean -> GLuint -> IO ()
+
+ffiuintenumbooleanuintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ()) -> GLuint -> GLenum -> GLboolean -> GLuint -> m ()
+ffiuintenumbooleanuintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumbooleanuintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintenumbooleanPtruintIOV :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ()
+
+ffiuintenumbooleanPtruintIOV :: MonadIO m => FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ()) -> GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()
+ffiuintenumbooleanPtruintIOV fp v0 v1 v2 v3 = liftIO (dynuintenumbooleanPtruintIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynuintintenumbooleansizeiPtrVIOV :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ()
+
+ffiuintintenumbooleansizeiPtrVIOV :: MonadIO m => FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr () -> IO ()) -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr () -> m ()
+ffiuintintenumbooleansizeiPtrVIOV fp v0 v1 v2 v3 v4 v5 = liftIO (dynuintintenumbooleansizeiPtrVIOV fp v0 v1 v2 v3 v4 v5)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrhalfNVIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ()) -> GLuint -> GLsizei -> Ptr GLhalfNV -> IO ()
+
+ffiuintsizeiPtrhalfNVIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ()) -> GLuint -> GLsizei -> Ptr GLhalfNV -> m ()
+ffiuintsizeiPtrhalfNVIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrhalfNVIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrshortIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ()) -> GLuint -> GLsizei -> Ptr GLshort -> IO ()
+
+ffiuintsizeiPtrshortIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ()) -> GLuint -> GLsizei -> Ptr GLshort -> m ()
+ffiuintsizeiPtrshortIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrshortIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtrubyteIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> IO ()
+
+ffiuintsizeiPtrubyteIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> IO ()) -> GLuint -> GLsizei -> Ptr GLubyte -> m ()
+ffiuintsizeiPtrubyteIOV fp v0 v1 v2 = liftIO (dynuintsizeiPtrubyteIOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintPtruintPtruint64EXTIOenum :: FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum) -> GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum
+
+ffiuintPtruintPtruint64EXTIOenum :: MonadIO m => FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum) -> GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> m GLenum
+ffiuintPtruintPtruint64EXTIOenum fp v0 v1 v2 = liftIO (dynuintPtruintPtruint64EXTIOenum fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynsyncbitfielduint64IOV :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()) -> GLsync -> GLbitfield -> GLuint64 -> IO ()
+
+ffisyncbitfielduint64IOV :: MonadIO m => FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ()) -> GLsync -> GLbitfield -> GLuint64 -> m ()
+ffisyncbitfielduint64IOV fp v0 v1 v2 = liftIO (dynsyncbitfielduint64IOV fp v0 v1 v2)
+
+foreign import CALLCONV "dynamic" dynuintsizeiPtruintPtrfloatIOV :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()
+
+ffiuintsizeiPtruintPtrfloatIOV :: MonadIO m => FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()) -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()
+ffiuintsizeiPtruintPtrfloatIOV fp v0 v1 v2 v3 = liftIO (dynuintsizeiPtruintPtrfloatIOV fp v0 v1 v2 v3)
+
+foreign import CALLCONV "dynamic" dynintPtrbyteIOV :: FunPtr (GLint -> Ptr GLbyte -> IO ()) -> GLint -> Ptr GLbyte -> IO ()
+
+ffiintPtrbyteIOV :: MonadIO m => FunPtr (GLint -> Ptr GLbyte -> IO ()) -> GLint -> Ptr GLbyte -> m ()
+ffiintPtrbyteIOV fp v0 v1 = liftIO (dynintPtrbyteIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintPtrdoubleIOV :: FunPtr (GLint -> Ptr GLdouble -> IO ()) -> GLint -> Ptr GLdouble -> IO ()
+
+ffiintPtrdoubleIOV :: MonadIO m => FunPtr (GLint -> Ptr GLdouble -> IO ()) -> GLint -> Ptr GLdouble -> m ()
+ffiintPtrdoubleIOV fp v0 v1 = liftIO (dynintPtrdoubleIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintPtrfloatIOV :: FunPtr (GLint -> Ptr GLfloat -> IO ()) -> GLint -> Ptr GLfloat -> IO ()
+
+ffiintPtrfloatIOV :: MonadIO m => FunPtr (GLint -> Ptr GLfloat -> IO ()) -> GLint -> Ptr GLfloat -> m ()
+ffiintPtrfloatIOV fp v0 v1 = liftIO (dynintPtrfloatIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintPtrintIOV :: FunPtr (GLint -> Ptr GLint -> IO ()) -> GLint -> Ptr GLint -> IO ()
+
+ffiintPtrintIOV :: MonadIO m => FunPtr (GLint -> Ptr GLint -> IO ()) -> GLint -> Ptr GLint -> m ()
+ffiintPtrintIOV fp v0 v1 = liftIO (dynintPtrintIOV fp v0 v1)
+
+foreign import CALLCONV "dynamic" dynintPtrshortIOV :: FunPtr (GLint -> Ptr GLshort -> IO ()) -> GLint -> Ptr GLshort -> IO ()
 
 ffiintPtrshortIOV :: MonadIO m => FunPtr (GLint -> Ptr GLshort -> IO ()) -> GLint -> Ptr GLshort -> m ()
 ffiintPtrshortIOV fp v0 v1 = liftIO (dynintPtrshortIOV fp v0 v1)
diff --git a/dist/build/autogen/Graphics/GL/Internal/Shared.hs b/dist/build/autogen/Graphics/GL/Internal/Shared.hs
--- a/dist/build/autogen/Graphics/GL/Internal/Shared.hs
+++ b/dist/build/autogen/Graphics/GL/Internal/Shared.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Internal.Shared where
 
 import Control.Monad.IO.Class
@@ -21319,6 +21319,12 @@
 pattern GL_R8_EXT = 0x8229
 
 pattern GL_RG8_EXT = 0x822B
+
+pattern GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES = 0x8D68
+
+pattern GL_TEXTURE_BINDING_EXTERNAL_OES = 0x8D67
+
+pattern GL_TEXTURE_EXTERNAL_OES = 0x8D65
 
 pattern GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB
 
diff --git a/dist/build/autogen/Graphics/GL/Standard10.hs b/dist/build/autogen/Graphics/GL/Standard10.hs
--- a/dist/build/autogen/Graphics/GL/Standard10.hs
+++ b/dist/build/autogen/Graphics/GL/Standard10.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Standard10 (
   -- * Graphics.GL.Standard10
     glAccum
diff --git a/dist/build/autogen/Graphics/GL/Standard11.hs b/dist/build/autogen/Graphics/GL/Standard11.hs
--- a/dist/build/autogen/Graphics/GL/Standard11.hs
+++ b/dist/build/autogen/Graphics/GL/Standard11.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Standard11 (
   -- * Graphics.GL.Standard11
     module Graphics.GL.Standard10
diff --git a/dist/build/autogen/Graphics/GL/Standard12.hs b/dist/build/autogen/Graphics/GL/Standard12.hs
--- a/dist/build/autogen/Graphics/GL/Standard12.hs
+++ b/dist/build/autogen/Graphics/GL/Standard12.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Standard12 (
   -- * Graphics.GL.Standard12
     module Graphics.GL.Standard11
diff --git a/dist/build/autogen/Graphics/GL/Standard13.hs b/dist/build/autogen/Graphics/GL/Standard13.hs
--- a/dist/build/autogen/Graphics/GL/Standard13.hs
+++ b/dist/build/autogen/Graphics/GL/Standard13.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Standard13 (
   -- * Graphics.GL.Standard13
     module Graphics.GL.Standard12
diff --git a/dist/build/autogen/Graphics/GL/Standard14.hs b/dist/build/autogen/Graphics/GL/Standard14.hs
--- a/dist/build/autogen/Graphics/GL/Standard14.hs
+++ b/dist/build/autogen/Graphics/GL/Standard14.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Standard14 (
   -- * Graphics.GL.Standard14
     module Graphics.GL.Standard13
diff --git a/dist/build/autogen/Graphics/GL/Standard15.hs b/dist/build/autogen/Graphics/GL/Standard15.hs
--- a/dist/build/autogen/Graphics/GL/Standard15.hs
+++ b/dist/build/autogen/Graphics/GL/Standard15.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Standard15 (
   -- * Graphics.GL.Standard15
     module Graphics.GL.Standard14
diff --git a/dist/build/autogen/Graphics/GL/Standard20.hs b/dist/build/autogen/Graphics/GL/Standard20.hs
--- a/dist/build/autogen/Graphics/GL/Standard20.hs
+++ b/dist/build/autogen/Graphics/GL/Standard20.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Standard20 (
   -- * Graphics.GL.Standard20
     module Graphics.GL.Standard15
diff --git a/dist/build/autogen/Graphics/GL/Standard21.hs b/dist/build/autogen/Graphics/GL/Standard21.hs
--- a/dist/build/autogen/Graphics/GL/Standard21.hs
+++ b/dist/build/autogen/Graphics/GL/Standard21.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Standard21 (
   -- * Graphics.GL.Standard21
     module Graphics.GL.Standard20
diff --git a/dist/build/autogen/Graphics/GL/Standard30.hs b/dist/build/autogen/Graphics/GL/Standard30.hs
--- a/dist/build/autogen/Graphics/GL/Standard30.hs
+++ b/dist/build/autogen/Graphics/GL/Standard30.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Standard30 (
   -- * Graphics.GL.Standard30
     module Graphics.GL.Standard21
diff --git a/dist/build/autogen/Graphics/GL/Standard31.hs b/dist/build/autogen/Graphics/GL/Standard31.hs
--- a/dist/build/autogen/Graphics/GL/Standard31.hs
+++ b/dist/build/autogen/Graphics/GL/Standard31.hs
@@ -1,5 +1,5 @@
 -- This file was automatically generated.
-{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
 module Graphics.GL.Standard31 (
   -- * Graphics.GL.Standard31
     module Graphics.GL.Standard30
diff --git a/extensions.txt b/extensions.txt
--- a/extensions.txt
+++ b/extensions.txt
@@ -411,7 +411,8 @@
 GL_EXT_texture_rg https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_rg.txt
 GL_EXT_texture_sRGB https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/texture_sRGB.txt
 GL_EXT_texture_sRGB_decode https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/texture_sRGB_decode.txt
-GL_EXT_texture_sRGB_decode https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_sRGB_decode.txt
+GL_EXT_texture_sRGB_R8 https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_sRGB_R8.txt
+GL_EXT_texture_sRGB_RG8 https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_sRGB_RG8.txt
 GL_EXT_texture_shared_exponent https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/texture_shared_exponent.txt
 GL_EXT_texture_snorm https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/texture_snorm.txt
 GL_EXT_texture_storage https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_storage.txt
@@ -441,6 +442,7 @@
 GL_EXT_wgl_swap_control https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/wgl_swap_control.txt
 GL_EXT_wgl_swap_control_tear https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/wgl_swap_control_tear.txt
 GL_EXT_x11_sync_object https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/x11_sync_object.txt
+GL_EXT_YUV_target https://www.khronos.org/registry/gles/extensions/EXT/EXT_YUV_target.txt
 GL_FJ_shader_binary_GCCSO https://www.khronos.org/registry/gles/extensions/FJ/FJ_shader_binary_GCCSO.txt
 GL_GREMEDY_frame_terminator https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/GREMEDY/frame_terminator.txt
 GL_GREMEDY_string_marker https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/GREMEDY/string_marker.txt
diff --git a/gl.cabal b/gl.cabal
--- a/gl.cabal
+++ b/gl.cabal
@@ -1,5 +1,5 @@
 name:          gl
-version:       0.7.2.4
+version:       0.7.3
 synopsis:      Complete OpenGL raw bindings
 description:   Complete OpenGL raw bindings
 license:       BSD3
@@ -477,6 +477,8 @@
     Graphics.GL.Ext.EXT.TextureRg
     Graphics.GL.Ext.EXT.TextureSRGB
     Graphics.GL.Ext.EXT.TextureSRGBDecode
+    Graphics.GL.Ext.EXT.TextureSRGBR8
+    Graphics.GL.Ext.EXT.TextureSRGBRG8
     Graphics.GL.Ext.EXT.TextureSharedExponent
     Graphics.GL.Ext.EXT.TextureSnorm
     Graphics.GL.Ext.EXT.TextureStorage
@@ -492,6 +494,7 @@
     Graphics.GL.Ext.EXT.VertexShader
     Graphics.GL.Ext.EXT.VertexWeighting
     Graphics.GL.Ext.EXT.X11SyncObject
+    Graphics.GL.Ext.EXT.YUVTarget
     Graphics.GL.Ext.FJ
     Graphics.GL.Ext.FJ.ShaderBinaryGCCSO
     Graphics.GL.Ext.GREMEDY
diff --git a/gl.xml b/gl.xml
# file too large to diff: gl.xml
