diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,11 +1,11 @@
 [![Build Status](https://travis-ci.org/Noeda/caramia.svg?branch=master)](https://travis-ci.org/Noeda/caramia)
 
-This is an OpenGL bindings library for real-time graphics for Haskell, using
-OpenGL 3.3.
+This is a highish-level OpenGL bindings library for real-time graphics for
+Haskell, using OpenGL 3.3.
 
 Requirements:
 
-  * GHC 7.6+
+  * GHC 7.8+
   * OpenGL 3.3
 
 You need to use `-threaded` flag in executables that use this library.
@@ -66,13 +66,4 @@
   * Multi-threaded rendering.
 
 This library tries to avoid including obsolete or redundant features of OpenGL.
-
-One major flaw(?) of this library is that OpenGL resources cannot be easily
-released promptly. This may or may not be a problem for you. OpenGL resources
-may refer to each other behind the scenes so if we implement a mechanism to
-release resources early, this mechanism needs to take care of resources
-referring to each other.
-
-Expect bugs. While this library has been tested in some of the author's toy
-programs, the library currently lacks automatic tests.
 
diff --git a/caramia.cabal b/caramia.cabal
--- a/caramia.cabal
+++ b/caramia.cabal
@@ -1,5 +1,5 @@
 name:                caramia
-version:             0.5.0.0
+version:             0.6.0.0
 synopsis:            Less painful OpenGL 3.3 rendering
 homepage:            https://github.com/Noeda/caramia/
 license:             MIT
@@ -14,12 +14,12 @@
 extra-source-files:  README.md
 
 description:
-    This is an experimental OpenGL bindings library for real-time graphics for
+    This is a highish-level OpenGL bindings library for real-time graphics for
     Haskell, using OpenGL 3.3.
     .
     Requirements:
     .
-        * GHC 7.6+
+        * GHC 7.8+
     .
         * OpenGL 3.3
     .
@@ -81,15 +81,6 @@
     * Multi-threaded rendering.
     .
     This library tries to avoid including obsolete or redundant features of OpenGL.
-    .
-    One major flaw(?) of this library is that OpenGL resources cannot be easily
-    released promptly. This may or may not be a problem for you. OpenGL resources
-    may refer to each other behind the scenes so if we implement a mechanism to
-    release resources early, this mechanism needs to take care of resources
-    referring to each other.
-    .
-    Expect bugs. While this library has been tested in some of the author's toy
-    programs, the library currently lacks automatic tests.
 
 flag build-toys
     default:         False
@@ -112,7 +103,6 @@
                        Graphics.Caramia.ImageFormats
                        Graphics.Caramia.ImageFormats.Internal
                        Graphics.Caramia.Internal.ContextLocalData
-                       Graphics.Caramia.Internal.FlextGL
                        Graphics.Caramia.Internal.OpenGLCApi
                        Graphics.Caramia.Internal.OpenGLDebug
                        Graphics.Caramia.Internal.TexStorage
@@ -132,17 +122,17 @@
 
   ghc-options:         -Wall -fno-warn-name-shadowing
 
-  build-depends:       base >=4.6 && <5.0.0.0
+  build-depends:       base         >=4.7 && <5.0.0.0
                       ,bytestring   >=0.10 && <1.0
                       ,containers   >=0.5 && <1.0
                       ,exceptions   >=0.6 && <1.0
                       ,lens         >=4.6  && <5.0
                       ,linear       >=1.15 && <2.0
-                      ,OpenGLRaw    >=1.5 && <2.0
                       ,semigroups   >=0.15 && <1.0
                       ,text         >=0.9 && <2.0
                       ,transformers >=0.4 && <1.0
                       ,vector       >=0.10 && <1.0
+                      ,gl           >=0.6.2 && <0.7
 
   if !os(windows)
     build-depends:     unix >=2.7 && <3.0
diff --git a/src/Graphics/Caramia/Blend/Internal.hs b/src/Graphics/Caramia/Blend/Internal.hs
--- a/src/Graphics/Caramia/Blend/Internal.hs
+++ b/src/Graphics/Caramia/Blend/Internal.hs
@@ -9,7 +9,6 @@
 import Control.Monad.Catch
 import Control.Monad.IO.Class
 import Foreign
-import Foreign.C.Types
 
 -- | Describes which equation to use in blending.
 --
@@ -44,28 +43,28 @@
   deriving ( Eq, Ord, Show, Read, Typeable, Enum )
 
 toConstantBE :: BlendEquation -> GLenum
-toConstantBE BEAdd = gl_FUNC_ADD
-toConstantBE BESubtract = gl_FUNC_SUBTRACT
-toConstantBE BEReverseSubtract = gl_FUNC_REVERSE_SUBTRACT
-toConstantBE BEMin = gl_MIN
-toConstantBE BEMax = gl_MAX
+toConstantBE BEAdd = GL_FUNC_ADD
+toConstantBE BESubtract = GL_FUNC_SUBTRACT
+toConstantBE BEReverseSubtract = GL_FUNC_REVERSE_SUBTRACT
+toConstantBE BEMin = GL_MIN
+toConstantBE BEMax = GL_MAX
 
 toConstantBF :: BlendFunc -> GLenum
-toConstantBF BFZero = gl_ZERO
-toConstantBF BFOne = gl_ONE
-toConstantBF BFSrcColor = gl_SRC_COLOR
-toConstantBF BFOneMinusSrcColor = gl_ONE_MINUS_SRC_COLOR
-toConstantBF BFDstColor = gl_DST_COLOR
-toConstantBF BFOneMinusDstColor = gl_ONE_MINUS_DST_COLOR
-toConstantBF BFSrcAlpha = gl_SRC_ALPHA
-toConstantBF BFOneMinusSrcAlpha = gl_ONE_MINUS_SRC_ALPHA
-toConstantBF BFDstAlpha = gl_DST_ALPHA
-toConstantBF BFOneMinusDstAlpha = gl_ONE_MINUS_DST_ALPHA
-toConstantBF BFConstantColor = gl_CONSTANT_COLOR
-toConstantBF BFOneMinusConstantColor = gl_ONE_MINUS_CONSTANT_COLOR
-toConstantBF BFConstantAlpha = gl_CONSTANT_ALPHA
-toConstantBF BFOneMinusConstantAlpha = gl_ONE_MINUS_CONSTANT_ALPHA
-toConstantBF BFSrcAlphaSaturate = gl_SRC_ALPHA_SATURATE
+toConstantBF BFZero = GL_ZERO
+toConstantBF BFOne = GL_ONE
+toConstantBF BFSrcColor = GL_SRC_COLOR
+toConstantBF BFOneMinusSrcColor = GL_ONE_MINUS_SRC_COLOR
+toConstantBF BFDstColor = GL_DST_COLOR
+toConstantBF BFOneMinusDstColor = GL_ONE_MINUS_DST_COLOR
+toConstantBF BFSrcAlpha = GL_SRC_ALPHA
+toConstantBF BFOneMinusSrcAlpha = GL_ONE_MINUS_SRC_ALPHA
+toConstantBF BFDstAlpha = GL_DST_ALPHA
+toConstantBF BFOneMinusDstAlpha = GL_ONE_MINUS_DST_ALPHA
+toConstantBF BFConstantColor = GL_CONSTANT_COLOR
+toConstantBF BFOneMinusConstantColor = GL_ONE_MINUS_CONSTANT_COLOR
+toConstantBF BFConstantAlpha = GL_CONSTANT_ALPHA
+toConstantBF BFOneMinusConstantAlpha = GL_ONE_MINUS_CONSTANT_ALPHA
+toConstantBF BFSrcAlphaSaturate = GL_SRC_ALPHA_SATURATE
 
 -- | Captures the blending parameters.
 data BlendSpec = BlendSpec
@@ -86,24 +85,24 @@
                         (toConstantBF dstAlphaFunc)
     glBlendEquationSeparate (toConstantBE colorEquation)
                             (toConstantBE alphaEquation)
-    glBlendColor (CFloat $ viewRed blendColor)
-                 (CFloat $ viewGreen blendColor)
-                 (CFloat $ viewBlue blendColor)
-                 (CFloat $ viewAlpha blendColor)
+    glBlendColor (viewRed blendColor)
+                 (viewGreen blendColor)
+                 (viewBlue blendColor)
+                 (viewAlpha blendColor)
 
 withBlendings :: (MonadIO m, MonadMask m)
               => BlendSpec
               -> m a
               -> m a
 withBlendings spec@(BlendSpec {..}) action = do
-    old_be_color <- gi gl_BLEND_EQUATION_RGB
-    old_be_alpha <- gi gl_BLEND_EQUATION_ALPHA
-    old_src_color <- gi gl_BLEND_SRC_RGB
-    old_src_alpha <- gi gl_BLEND_SRC_ALPHA
-    old_dst_color <- gi gl_BLEND_DST_RGB
-    old_dst_alpha <- gi gl_BLEND_DST_ALPHA
+    old_be_color <- gi GL_BLEND_EQUATION_RGB
+    old_be_alpha <- gi GL_BLEND_EQUATION_ALPHA
+    old_src_color <- gi GL_BLEND_SRC_RGB
+    old_src_alpha <- gi GL_BLEND_SRC_ALPHA
+    old_dst_color <- gi GL_BLEND_DST_RGB
+    old_dst_alpha <- gi GL_BLEND_DST_ALPHA
     (r, g, b, a) <- liftIO $ allocaArray 4 $ \color_ptr -> do
-        glGetFloatv gl_BLEND_COLOR color_ptr
+        glGetFloatv GL_BLEND_COLOR color_ptr
         r <- peekElemOff color_ptr 0
         g <- peekElemOff color_ptr 1
         b <- peekElemOff color_ptr 2
diff --git a/src/Graphics/Caramia/Buffer.hs b/src/Graphics/Caramia/Buffer.hs
--- a/src/Graphics/Caramia/Buffer.hs
+++ b/src/Graphics/Caramia/Buffer.hs
@@ -51,6 +51,8 @@
 import Graphics.Caramia.Internal.OpenGLCApi
 import Graphics.Caramia.Prelude hiding ( map )
 import Graphics.Caramia.Resource
+import Graphics.GL.Ext.ARB.BufferStorage
+import Graphics.GL.Ext.ARB.InvalidateSubdata
 
 -- | The frequency of access to a buffer.
 --
@@ -86,20 +88,20 @@
 canMapWith NoAccess _ = False
 
 toConstant :: AccessFrequency -> AccessNature -> GLuint
-toConstant Stream Draw = gl_STREAM_DRAW
-toConstant Stream Read = gl_STREAM_READ
-toConstant Stream Copy = gl_STREAM_COPY
-toConstant Static Draw = gl_STATIC_DRAW
-toConstant Static Read = gl_STATIC_READ
-toConstant Static Copy = gl_STATIC_COPY
-toConstant Dynamic Draw = gl_DYNAMIC_DRAW
-toConstant Dynamic Read = gl_DYNAMIC_READ
-toConstant Dynamic Copy = gl_DYNAMIC_COPY
+toConstant Stream Draw = GL_STREAM_DRAW
+toConstant Stream Read = GL_STREAM_READ
+toConstant Stream Copy = GL_STREAM_COPY
+toConstant Static Draw = GL_STATIC_DRAW
+toConstant Static Read = GL_STATIC_READ
+toConstant Static Copy = GL_STATIC_COPY
+toConstant Dynamic Draw = GL_DYNAMIC_DRAW
+toConstant Dynamic Read = GL_DYNAMIC_READ
+toConstant Dynamic Copy = GL_DYNAMIC_COPY
 
 toConstantF :: AccessFlags -> GLbitfield
-toConstantF ReadAccess      = gl_MAP_READ_BIT
-toConstantF WriteAccess     = gl_MAP_WRITE_BIT
-toConstantF ReadWriteAccess = gl_MAP_READ_BIT .|. gl_MAP_WRITE_BIT
+toConstantF ReadAccess      = GL_MAP_READ_BIT
+toConstantF WriteAccess     = GL_MAP_WRITE_BIT
+toConstantF ReadWriteAccess = GL_MAP_READ_BIT .|. GL_MAP_WRITE_BIT
 toConstantF NoAccess        = 0
 
 toConstantMF :: S.Set MapFlag -> GLbitfield
@@ -107,7 +109,7 @@
     | S.null ss = 0
     | otherwise =
         if UnSynchronized `S.member` ss
-          then gl_MAP_UNSYNCHRONIZED_BIT
+          then GL_MAP_UNSYNCHRONIZED_BIT
           else 0
 
 -- | This data describes how a buffer should behave and what operations can be
@@ -171,8 +173,7 @@
     (usage, access) = accessHints creation
 
     createBuffer = do
-        fancy_buffers <- has_GL_ARB_buffer_storage
-        if fancy_buffers
+        if gl_ARB_buffer_storage
           then createBufferByBufferStorage
           else createBufferOldWay
 
@@ -342,7 +343,7 @@
     when (mapped bufstatus) $
         withResource (resource buffer) $ \(Buffer_ buf) -> mask_ $ do
             result <- mglUnmapNamedBuffer buf
-            when (fromIntegral result == gl_FALSE) $
+            when (result == GL_FALSE) $
                 throwM $ BufferCorruption buffer
             atomicModifyIORef' (status buffer) $ \old ->
                 ( old { mapped = False }, () )
@@ -476,9 +477,8 @@
 --
 -- See <https://www.opengl.org/wiki/Buffer_Object#Invalidation>.
 invalidateBuffer :: MonadIO m => Buffer -> m ()
-invalidateBuffer buf = do
-    has_it <- has_GL_ARB_invalidate_subdata
-    when has_it $
+invalidateBuffer buf =
+    when gl_ARB_invalidate_subdata $
         withResource (resource buf) $ \(Buffer_ name) ->
             glInvalidateBufferData name
 
diff --git a/src/Graphics/Caramia/Context.hs b/src/Graphics/Caramia/Context.hs
--- a/src/Graphics/Caramia/Context.hs
+++ b/src/Graphics/Caramia/Context.hs
@@ -32,16 +32,16 @@
 
 import Graphics.Caramia.Prelude
 import Graphics.Caramia.Internal.ContextLocalData
+import Graphics.Caramia.Internal.OpenGLCApi
 import Graphics.Caramia.Internal.OpenGLDebug
-import Graphics.Caramia.Internal.FlextGL
 
 import Control.Concurrent
 import Control.Monad.IO.Class
 import Control.Monad.Catch
 import System.IO.Unsafe
 import System.Environment
-import Graphics.Rendering.OpenGL.Raw.GetProcAddress
-import Foreign.Ptr
+import Foreign.Marshal.Alloc
+import Foreign.Storable
 
 import qualified Data.Map.Strict as M
 import qualified Data.IntMap.Strict as IM
@@ -89,10 +89,6 @@
             error $ "giveContext: current thread is not bound. How can it have " <>
                    "an OpenGL context?"
 
-        flextInit (\str -> castFunPtrToPtr <$> getProcAddress str) >>= \case
-            f@(Failure _) -> throwM f
-            _ -> return ()
-
         v@(major, minor) <- getGLVersion
         unless (major > 3 ||
                 (major == 3 && minor >= 3)) $
@@ -114,8 +110,19 @@
         -- Enable sRGB framebuffers
         -- There seems to be no reason not to enable it; you can turn off sRGB
         -- handling in other ways.
-        glEnable gl_FRAMEBUFFER_SRGB
-        glEnable gl_BLEND
+        glEnable GL_FRAMEBUFFER_SRGB
+        glEnable GL_BLEND
+
+    getGLVersion = alloca $ \major_ptr -> alloca $ \minor_ptr -> do
+        -- in case glGetIntegerv is completely broken, set initial values for
+        -- major and minor pointers
+        poke major_ptr 0
+        poke minor_ptr 0
+        glGetIntegerv GL_MAJOR_VERSION major_ptr
+        glGetIntegerv GL_MINOR_VERSION minor_ptr
+        major <- fromIntegral <$> peek major_ptr
+        minor <- fromIntegral <$> peek minor_ptr
+        return (major, minor)
 
 -- | Sets the new viewport size. You should call this if the display size has
 -- changed; otherwise your rendering may look twisted and stretched.
diff --git a/src/Graphics/Caramia/Framebuffer.hs b/src/Graphics/Caramia/Framebuffer.hs
--- a/src/Graphics/Caramia/Framebuffer.hs
+++ b/src/Graphics/Caramia/Framebuffer.hs
@@ -39,7 +39,6 @@
 import Data.Bits
 import qualified Data.IntSet as IS
 import Data.List ( nub )
-import Foreign.C.Types
 import Foreign.Marshal.Alloc
 import Foreign.Marshal.Array
 import Foreign.Storable
@@ -73,7 +72,7 @@
     attacher = \attachment ->
         withResource (Tex.resource tex) $ \(Tex.Texture_ texname) ->
             glFramebufferTexture
-                gl_DRAW_FRAMEBUFFER
+                GL_DRAW_FRAMEBUFFER
                 attachment
                 texname
                 0
@@ -87,7 +86,7 @@
     attacher = \attachment ->
         withResource (Tex.resource tex) $ \(Tex.Texture_ texname) ->
             glFramebufferTexture
-                gl_DRAW_FRAMEBUFFER
+                GL_DRAW_FRAMEBUFFER
                 attachment
                 texname
                 (safeFromIntegral mipmap_layer)
@@ -102,7 +101,7 @@
     attacher = \attachment ->
         withResource (Tex.resource tex) $ \(Tex.Texture_ texname) ->
             glFramebufferTextureLayer
-                gl_DRAW_FRAMEBUFFER
+                GL_DRAW_FRAMEBUFFER
                 attachment
                 texname
                 (safeFromIntegral mipmap_layer)
@@ -110,9 +109,9 @@
   , texture = tex }
 
 toConstantA :: Attachment -> GLenum
-toConstantA (ColorAttachment x) = gl_COLOR_ATTACHMENT0 + fromIntegral x
-toConstantA DepthAttachment = gl_DEPTH_ATTACHMENT
-toConstantA StencilAttachment = gl_STENCIL_ATTACHMENT
+toConstantA (ColorAttachment x) = GL_COLOR_ATTACHMENT0 + fromIntegral x
+toConstantA DepthAttachment = GL_DEPTH_ATTACHMENT
+toConstantA StencilAttachment = GL_STENCIL_ATTACHMENT
 
 -- | Creates a new framebuffer.
 newFramebuffer :: MonadIO m
@@ -157,9 +156,9 @@
                     forM_ [0..max_bufs-1] $ \bufnum ->
                         pokeElemOff buf_ptr bufnum $
                             if IS.member bufnum color_attachments
-                                then gl_COLOR_ATTACHMENT0 +
+                                then GL_COLOR_ATTACHMENT0 +
                                      fromIntegral bufnum
-                                else gl_NONE
+                                else GL_NONE
                     glDrawBuffers (fromIntegral max_bufs) buf_ptr
 
             return $ Framebuffer_ fbuf_name
@@ -200,26 +199,26 @@
 
     setThisFramebuffer res = do
         withResource res $ \(Framebuffer_ fbuf_name) ->
-            glBindFramebuffer gl_FRAMEBUFFER fbuf_name
+            glBindFramebuffer GL_FRAMEBUFFER fbuf_name
         glViewport 0 0 (fromIntegral fw) (fromIntegral fh)
 
     withThisFramebuffer res action = mask $ \restore -> do
-        old_draw_framebuffer <- gi gl_DRAW_FRAMEBUFFER_BINDING
-        old_read_framebuffer <- gi gl_READ_FRAMEBUFFER_BINDING
+        old_draw_framebuffer <- gi GL_DRAW_FRAMEBUFFER_BINDING
+        old_read_framebuffer <- gi GL_READ_FRAMEBUFFER_BINDING
         (x, y, w, h) <- liftIO $ allocaArray 4 $ \viewport_ptr -> do
-            glGetIntegerv gl_VIEWPORT viewport_ptr
+            glGetIntegerv GL_VIEWPORT viewport_ptr
             x <- peekElemOff viewport_ptr 0
             y <- peekElemOff viewport_ptr 1
             w <- peekElemOff viewport_ptr 2
             h <- peekElemOff viewport_ptr 3
             return (x, y, w, h)
         withResource res $ \(Framebuffer_ fbuf_name) -> do
-            glBindFramebuffer gl_FRAMEBUFFER fbuf_name
+            glBindFramebuffer GL_FRAMEBUFFER fbuf_name
             glViewport 0 0 (fromIntegral fw) (fromIntegral fh)
             finally (restore action) $ do
                 glViewport x y w h
-                glBindFramebuffer gl_DRAW_FRAMEBUFFER old_draw_framebuffer
-                glBindFramebuffer gl_READ_FRAMEBUFFER old_read_framebuffer
+                glBindFramebuffer GL_DRAW_FRAMEBUFFER old_draw_framebuffer
+                glBindFramebuffer GL_READ_FRAMEBUFFER old_read_framebuffer
 
 -- | Returns the maximum number of draw buffers in the current context.
 --
@@ -228,9 +227,9 @@
 getMaximumDrawBuffers = do
     _ <- currentContextID
     -- number of draw buffers
-    num_drawbuffers <- gi gl_MAX_DRAW_BUFFERS
+    num_drawbuffers <- gi GL_MAX_DRAW_BUFFERS
     -- number of attachments
-    num_attachments <- gi gl_MAX_COLOR_ATTACHMENTS
+    num_attachments <- gi GL_MAX_COLOR_ATTACHMENTS
     return (fromIntegral $ min num_drawbuffers num_attachments)
 
 -- | Specifies what to clear in a `clear` invocation.
@@ -262,37 +261,34 @@
 clear clearing fbuf = liftIO $ withBinding fbuf $ mask_ $
     recColor (clearColor clearing)
   where
-    bits = maybe 0 (const gl_COLOR_BUFFER_BIT) (clearColor clearing) .|.
-           maybe 0 (const gl_DEPTH_BUFFER_BIT) (clearDepth clearing) .|.
-           maybe 0 (const gl_STENCIL_BUFFER_BIT) (clearStencil clearing)
+    bits = maybe 0 (const GL_COLOR_BUFFER_BIT) (clearColor clearing) .|.
+           maybe 0 (const GL_DEPTH_BUFFER_BIT) (clearDepth clearing) .|.
+           maybe 0 (const GL_STENCIL_BUFFER_BIT) (clearStencil clearing)
 
     recColor Nothing = recDepth (clearDepth clearing)
     recColor (Just (viewRgba -> (r, g, b, a))) =
         allocaArray 4 $ \ptr -> do
-            glGetFloatv gl_COLOR_CLEAR_VALUE ptr
-            glClearColor (CFloat r)
-                         (CFloat g)
-                         (CFloat b)
-                         (CFloat a)
+            glGetFloatv GL_COLOR_CLEAR_VALUE ptr
+            glClearColor r g b a
             recDepth (clearDepth clearing)
             nr <- peekElemOff ptr 0
             ng <- peekElemOff ptr 1
             nb <- peekElemOff ptr 2
             na <- peekElemOff ptr 3
-            glClearColor (nr :: CFloat) ng nb na
+            glClearColor nr ng nb na
 
     recDepth Nothing = recStencil (clearStencil clearing)
     recDepth (Just depth) = do
         old_depth <- alloca $ \ptr ->
-            glGetDoublev gl_DEPTH_CLEAR_VALUE ptr *> peek ptr
-        glClearDepth (CDouble $ float2Double depth)
+            glGetDoublev GL_DEPTH_CLEAR_VALUE ptr *> peek ptr
+        glClearDepth $ float2Double depth
         recStencil (clearStencil clearing)
         glClearDepth old_depth
 
     recStencil Nothing = glClear bits
     recStencil (Just stencil) = do
         old_stencil <- alloca $ \ptr ->
-            glGetIntegerv gl_STENCIL_CLEAR_VALUE ptr *> peek ptr
+            glGetIntegerv GL_STENCIL_CLEAR_VALUE ptr *> peek ptr
         glClearStencil (safeFromIntegral stencil)
         glClear bits
         glClearStencil old_stencil
diff --git a/src/Graphics/Caramia/Framebuffer/Internal.hs b/src/Graphics/Caramia/Framebuffer/Internal.hs
--- a/src/Graphics/Caramia/Framebuffer/Internal.hs
+++ b/src/Graphics/Caramia/Framebuffer/Internal.hs
@@ -49,28 +49,28 @@
 setBinding :: MonadIO m => Framebuffer -> m ()
 setBinding ScreenFramebuffer = do
     (w, h) <- getDimensions ScreenFramebuffer
-    glBindFramebuffer gl_FRAMEBUFFER 0
+    glBindFramebuffer GL_FRAMEBUFFER 0
     glViewport 0 0 (fromIntegral w) (fromIntegral h)
 setBinding fbuf = liftIO $ setter fbuf
 
 withBinding :: (MonadIO m, MonadMask m) => Framebuffer -> m a -> m a
 withBinding ScreenFramebuffer action = do
     (ox, oy, ow, oh) <- liftIO $ allocaArray 4 $ \viewport_ptr -> do
-        glGetIntegerv gl_VIEWPORT viewport_ptr
+        glGetIntegerv GL_VIEWPORT viewport_ptr
         ox <- peekElemOff viewport_ptr 0
         oy <- peekElemOff viewport_ptr 1
         ow <- peekElemOff viewport_ptr 2
         oh <- peekElemOff viewport_ptr 3
         return (ox, oy, ow, oh)
     (w, h) <- getDimensions ScreenFramebuffer
-    old_draw <- gi gl_DRAW_FRAMEBUFFER_BINDING
-    old_read <- gi gl_READ_FRAMEBUFFER_BINDING
-    finally (glBindFramebuffer gl_FRAMEBUFFER 0 >>
+    old_draw <- gi GL_DRAW_FRAMEBUFFER_BINDING
+    old_read <- gi GL_READ_FRAMEBUFFER_BINDING
+    finally (glBindFramebuffer GL_FRAMEBUFFER 0 >>
              glViewport 0 0 (fromIntegral w) (fromIntegral h) >>
              action) $ do
             glViewport ox oy ow oh
-            glBindFramebuffer gl_DRAW_FRAMEBUFFER old_draw
-            glBindFramebuffer gl_READ_FRAMEBUFFER old_read
+            glBindFramebuffer GL_DRAW_FRAMEBUFFER old_draw
+            glBindFramebuffer GL_READ_FRAMEBUFFER old_read
 withBinding fbuf action = binder fbuf action
 
 -- | Returns the size of a framebuffer.
@@ -79,7 +79,7 @@
 getDimensions :: MonadIO m => Framebuffer -> m (Int, Int)
 getDimensions ScreenFramebuffer =
     liftIO $ allocaArray 4 $ \vptr -> do
-        glGetIntegerv gl_VIEWPORT vptr
+        glGetIntegerv GL_VIEWPORT vptr
         w <- peekElemOff vptr 2
         h <- peekElemOff vptr 3
         return (fromIntegral w, fromIntegral h)
diff --git a/src/Graphics/Caramia/ImageFormats/Internal.hs b/src/Graphics/Caramia/ImageFormats/Internal.hs
--- a/src/Graphics/Caramia/ImageFormats/Internal.hs
+++ b/src/Graphics/Caramia/ImageFormats/Internal.hs
@@ -10,6 +10,8 @@
 import Graphics.Caramia.Prelude
 
 import Graphics.Caramia.Internal.OpenGLCApi
+import Graphics.GL.Ext.EXT.TextureCompressionS3tc
+import Graphics.GL.Ext.EXT.TextureSRGB
 import Foreign.C.Types
 
 -- | Given a format, returns `True` if that format can be rendered to. That is,
@@ -184,71 +186,71 @@
   deriving ( Eq, Ord, Show, Read, Typeable, Enum )
 
 toConstantIF :: ImageFormat -> GLenum
-toConstantIF R8 = gl_R8
-toConstantIF R8I = gl_R8I
-toConstantIF R8UI = gl_R8UI
-toConstantIF R16 = gl_R16
-toConstantIF R16I = gl_R16I
-toConstantIF R16UI = gl_R16UI
-toConstantIF R16F = gl_R16F
-toConstantIF R32F = gl_R32F
-toConstantIF R32I = gl_R32I
-toConstantIF R32UI = gl_R32UI
-toConstantIF RG8 = gl_RG8
-toConstantIF RG8I = gl_RG8I
-toConstantIF RG8UI = gl_RG8UI
-toConstantIF RG16 = gl_RG16
-toConstantIF RG16I = gl_RG16I
-toConstantIF RG16UI = gl_RG16UI
-toConstantIF RG16F = gl_RG16F
-toConstantIF RG32F = gl_RG32F
-toConstantIF RG32I = gl_RG32I
-toConstantIF RG32UI = gl_RG32UI
-toConstantIF R11F_G11F_B10F = gl_R11F_G11F_B10F
-toConstantIF RGBA32F = gl_RGBA32F
-toConstantIF RGBA32I = gl_RGBA32I
-toConstantIF RGBA32UI = gl_RGBA32UI
-toConstantIF RGBA16 = gl_RGBA16
-toConstantIF RGBA16F = gl_RGBA16F
-toConstantIF RGBA16I = gl_RGBA16I
-toConstantIF RGBA16UI = gl_RGBA16UI
-toConstantIF RGBA8 = gl_RGBA8
-toConstantIF RGBA8UI = gl_RGBA8UI
-toConstantIF SRGB8_ALPHA8 = gl_SRGB8_ALPHA8
-toConstantIF RGB10_A2 = gl_RGB10_A2
-toConstantIF RGB32F = gl_RGB32F
-toConstantIF RGB32I = gl_RGB32I
-toConstantIF RGB32UI = gl_RGB32UI
-toConstantIF RGB16F = gl_RGB16F
-toConstantIF RGB16I = gl_RGB16I
-toConstantIF RGB16UI = gl_RGB16UI
-toConstantIF RGB16 = gl_RGB16
-toConstantIF RGB8 = gl_RGB8
-toConstantIF RGB8I = gl_RGB8I
-toConstantIF RGB8UI = gl_RGB8UI
-toConstantIF SRGB8 = gl_SRGB8
-toConstantIF RGB9_E5 = gl_RGB9_E5
-toConstantIF COMPRESSED_RG_RGTC2 = gl_COMPRESSED_RG_RGTC2
-toConstantIF COMPRESSED_SIGNED_RG_RGTC2 = gl_COMPRESSED_SIGNED_RG_RGTC2
-toConstantIF COMPRESSED_RED_RGTC1 = gl_COMPRESSED_RED_RGTC1
-toConstantIF COMPRESSED_SIGNED_RED_RGTC1 = gl_COMPRESSED_SIGNED_RED_RGTC1
-toConstantIF COMPRESSED_RGB_S3TC_DXT1 = gl_COMPRESSED_RGB_S3TC_DXT1_EXT
-toConstantIF COMPRESSED_RGBA_S3TC_DXT1 = gl_COMPRESSED_RGBA_S3TC_DXT1_EXT
-toConstantIF COMPRESSED_RGBA_S3TC_DXT3 = gl_COMPRESSED_RGBA_S3TC_DXT3_EXT
-toConstantIF COMPRESSED_RGBA_S3TC_DXT5 = gl_COMPRESSED_RGBA_S3TC_DXT5_EXT
-toConstantIF COMPRESSED_SRGB_S3TC_DXT1 = gl_COMPRESSED_SRGB_S3TC_DXT1_EXT
+toConstantIF R8 = GL_R8
+toConstantIF R8I = GL_R8I
+toConstantIF R8UI = GL_R8UI
+toConstantIF R16 = GL_R16
+toConstantIF R16I = GL_R16I
+toConstantIF R16UI = GL_R16UI
+toConstantIF R16F = GL_R16F
+toConstantIF R32F = GL_R32F
+toConstantIF R32I = GL_R32I
+toConstantIF R32UI = GL_R32UI
+toConstantIF RG8 = GL_RG8
+toConstantIF RG8I = GL_RG8I
+toConstantIF RG8UI = GL_RG8UI
+toConstantIF RG16 = GL_RG16
+toConstantIF RG16I = GL_RG16I
+toConstantIF RG16UI = GL_RG16UI
+toConstantIF RG16F = GL_RG16F
+toConstantIF RG32F = GL_RG32F
+toConstantIF RG32I = GL_RG32I
+toConstantIF RG32UI = GL_RG32UI
+toConstantIF R11F_G11F_B10F = GL_R11F_G11F_B10F
+toConstantIF RGBA32F = GL_RGBA32F
+toConstantIF RGBA32I = GL_RGBA32I
+toConstantIF RGBA32UI = GL_RGBA32UI
+toConstantIF RGBA16 = GL_RGBA16
+toConstantIF RGBA16F = GL_RGBA16F
+toConstantIF RGBA16I = GL_RGBA16I
+toConstantIF RGBA16UI = GL_RGBA16UI
+toConstantIF RGBA8 = GL_RGBA8
+toConstantIF RGBA8UI = GL_RGBA8UI
+toConstantIF SRGB8_ALPHA8 = GL_SRGB8_ALPHA8
+toConstantIF RGB10_A2 = GL_RGB10_A2
+toConstantIF RGB32F = GL_RGB32F
+toConstantIF RGB32I = GL_RGB32I
+toConstantIF RGB32UI = GL_RGB32UI
+toConstantIF RGB16F = GL_RGB16F
+toConstantIF RGB16I = GL_RGB16I
+toConstantIF RGB16UI = GL_RGB16UI
+toConstantIF RGB16 = GL_RGB16
+toConstantIF RGB8 = GL_RGB8
+toConstantIF RGB8I = GL_RGB8I
+toConstantIF RGB8UI = GL_RGB8UI
+toConstantIF SRGB8 = GL_SRGB8
+toConstantIF RGB9_E5 = GL_RGB9_E5
+toConstantIF COMPRESSED_RG_RGTC2 = GL_COMPRESSED_RG_RGTC2
+toConstantIF COMPRESSED_SIGNED_RG_RGTC2 = GL_COMPRESSED_SIGNED_RG_RGTC2
+toConstantIF COMPRESSED_RED_RGTC1 = GL_COMPRESSED_RED_RGTC1
+toConstantIF COMPRESSED_SIGNED_RED_RGTC1 = GL_COMPRESSED_SIGNED_RED_RGTC1
+toConstantIF COMPRESSED_RGB_S3TC_DXT1 = GL_COMPRESSED_RGB_S3TC_DXT1_EXT
+toConstantIF COMPRESSED_RGBA_S3TC_DXT1 = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT
+toConstantIF COMPRESSED_RGBA_S3TC_DXT3 = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
+toConstantIF COMPRESSED_RGBA_S3TC_DXT5 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
+toConstantIF COMPRESSED_SRGB_S3TC_DXT1 = GL_COMPRESSED_SRGB_S3TC_DXT1_EXT
 toConstantIF COMPRESSED_SRGB_ALPHA_S3TC_DXT1 =
-    gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
+    GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
 toConstantIF COMPRESSED_SRGB_ALPHA_S3TC_DXT3 =
-    gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
+    GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
 toConstantIF COMPRESSED_SRGB_ALPHA_S3TC_DXT5 =
-    gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
-toConstantIF DEPTH_COMPONENT32 = gl_DEPTH_COMPONENT32
-toConstantIF DEPTH_COMPONENT32F = gl_DEPTH_COMPONENT32F
-toConstantIF DEPTH_COMPONENT24 = gl_DEPTH_COMPONENT24
-toConstantIF DEPTH_COMPONENT16 = gl_DEPTH_COMPONENT16
-toConstantIF DEPTH32F_STENCIL8 = gl_DEPTH32F_STENCIL8
-toConstantIF DEPTH24_STENCIL8 = gl_DEPTH24_STENCIL8
+    GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
+toConstantIF DEPTH_COMPONENT32 = GL_DEPTH_COMPONENT32
+toConstantIF DEPTH_COMPONENT32F = GL_DEPTH_COMPONENT32F
+toConstantIF DEPTH_COMPONENT24 = GL_DEPTH_COMPONENT24
+toConstantIF DEPTH_COMPONENT16 = GL_DEPTH_COMPONENT16
+toConstantIF DEPTH32F_STENCIL8 = GL_DEPTH32F_STENCIL8
+toConstantIF DEPTH24_STENCIL8 = GL_DEPTH24_STENCIL8
 
 -- | Specification formats.
 --
@@ -265,14 +267,14 @@
   deriving ( Eq, Ord, Show, Read, Typeable, Enum )
 
 toConstantST :: SpecificationType -> GLenum
-toConstantST FWord8 = gl_UNSIGNED_BYTE
-toConstantST FWord16 = gl_UNSIGNED_SHORT
-toConstantST FWord32 = gl_UNSIGNED_INT
-toConstantST FInt8 = gl_BYTE
-toConstantST FInt16 = gl_SHORT
-toConstantST FInt32 = gl_INT
-toConstantST FFloat = gl_FLOAT
-toConstantST FHalfFloat = gl_HALF_FLOAT
+toConstantST FWord8 = GL_UNSIGNED_BYTE
+toConstantST FWord16 = GL_UNSIGNED_SHORT
+toConstantST FWord32 = GL_UNSIGNED_INT
+toConstantST FInt8 = GL_BYTE
+toConstantST FInt16 = GL_SHORT
+toConstantST FInt32 = GL_INT
+toConstantST FFloat = GL_FLOAT
+toConstantST FHalfFloat = GL_HALF_FLOAT
 
 -- TODO: add special interpretation formats to `SpecificationType`.
 --
diff --git a/src/Graphics/Caramia/Internal/FlextGL.hs b/src/Graphics/Caramia/Internal/FlextGL.hs
deleted file mode 100644
--- a/src/Graphics/Caramia/Internal/FlextGL.hs
+++ /dev/null
@@ -1,43737 +0,0 @@
-{-# LANGUAGE CPP, ForeignFunctionInterface, EmptyDataDecls #-}
-#ifdef __GLASGOW_HASKELL__
-{-# LANGUAGE DeriveDataTypeable, StandaloneDeriving #-}
-#endif
--- WARNING: This file was automatically generated
--- Do not edit.
-
-
-
-module Graphics.Caramia.Internal.FlextGL
-    ( flextInit
-    , getGLVersion
-    , FlextInitResult(..)
-    , has_GL_ARB_texture_storage
-    , has_GL_KHR_debug
-    , has_GL_EXT_direct_state_access
-    , has_GL_ARB_buffer_storage
-    , has_GL_ARB_separate_shader_objects
-    , has_GL_ATI_meminfo
-    , has_GL_NVX_gpu_memory_info
-    , has_GL_ARB_invalidate_subdata
-    , glCullFace
-    , glFrontFace
-    , glHint
-    , glLineWidth
-    , glPointSize
-    , glPolygonMode
-    , glScissor
-    , glTexParameterf
-    , glTexParameterfv
-    , glTexParameteri
-    , glTexParameteriv
-    , glTexImage1D
-    , glTexImage2D
-    , glDrawBuffer
-    , glClear
-    , glClearColor
-    , glClearStencil
-    , glClearDepth
-    , glStencilMask
-    , glColorMask
-    , glDepthMask
-    , glDisable
-    , glEnable
-    , glFinish
-    , glFlush
-    , glBlendFunc
-    , glLogicOp
-    , glStencilFunc
-    , glStencilOp
-    , glDepthFunc
-    , glPixelStoref
-    , glPixelStorei
-    , glReadBuffer
-    , glReadPixels
-    , glGetBooleanv
-    , glGetDoublev
-    , glGetError
-    , glGetFloatv
-    , glGetIntegerv
-    , glGetString
-    , glGetTexImage
-    , glGetTexParameterfv
-    , glGetTexParameteriv
-    , glGetTexLevelParameterfv
-    , glGetTexLevelParameteriv
-    , glIsEnabled
-    , glDepthRange
-    , glViewport
-    , glDrawArrays
-    , glDrawElements
-    , glPolygonOffset
-    , glCopyTexImage1D
-    , glCopyTexImage2D
-    , glCopyTexSubImage1D
-    , glCopyTexSubImage2D
-    , glTexSubImage1D
-    , glTexSubImage2D
-    , glBindTexture
-    , glDeleteTextures
-    , glGenTextures
-    , glIsTexture
-    , glDrawRangeElements
-    , glTexImage3D
-    , glTexSubImage3D
-    , glCopyTexSubImage3D
-    , glActiveTexture
-    , glSampleCoverage
-    , glCompressedTexImage3D
-    , glCompressedTexImage2D
-    , glCompressedTexImage1D
-    , glCompressedTexSubImage3D
-    , glCompressedTexSubImage2D
-    , glCompressedTexSubImage1D
-    , glGetCompressedTexImage
-    , glBlendFuncSeparate
-    , glMultiDrawArrays
-    , glMultiDrawElements
-    , glPointParameterf
-    , glPointParameterfv
-    , glPointParameteri
-    , glPointParameteriv
-    , glBlendColor
-    , glBlendEquation
-    , glGenQueries
-    , glDeleteQueries
-    , glIsQuery
-    , glBeginQuery
-    , glEndQuery
-    , glGetQueryiv
-    , glGetQueryObjectiv
-    , glGetQueryObjectuiv
-    , glBindBuffer
-    , glDeleteBuffers
-    , glGenBuffers
-    , glIsBuffer
-    , glBufferData
-    , glBufferSubData
-    , glGetBufferSubData
-    , glMapBuffer
-    , glUnmapBuffer
-    , glGetBufferParameteriv
-    , glGetBufferPointerv
-    , glBlendEquationSeparate
-    , glDrawBuffers
-    , glStencilOpSeparate
-    , glStencilFuncSeparate
-    , glStencilMaskSeparate
-    , glAttachShader
-    , glBindAttribLocation
-    , glCompileShader
-    , glCreateProgram
-    , glCreateShader
-    , glDeleteProgram
-    , glDeleteShader
-    , glDetachShader
-    , glDisableVertexAttribArray
-    , glEnableVertexAttribArray
-    , glGetActiveAttrib
-    , glGetActiveUniform
-    , glGetAttachedShaders
-    , glGetAttribLocation
-    , glGetProgramiv
-    , glGetProgramInfoLog
-    , glGetShaderiv
-    , glGetShaderInfoLog
-    , glGetShaderSource
-    , glGetUniformLocation
-    , glGetUniformfv
-    , glGetUniformiv
-    , glGetVertexAttribdv
-    , glGetVertexAttribfv
-    , glGetVertexAttribiv
-    , glGetVertexAttribPointerv
-    , glIsProgram
-    , glIsShader
-    , glLinkProgram
-    , glShaderSource
-    , glUseProgram
-    , glUniform1f
-    , glUniform2f
-    , glUniform3f
-    , glUniform4f
-    , glUniform1i
-    , glUniform2i
-    , glUniform3i
-    , glUniform4i
-    , glUniform1fv
-    , glUniform2fv
-    , glUniform3fv
-    , glUniform4fv
-    , glUniform1iv
-    , glUniform2iv
-    , glUniform3iv
-    , glUniform4iv
-    , glUniformMatrix2fv
-    , glUniformMatrix3fv
-    , glUniformMatrix4fv
-    , glValidateProgram
-    , glVertexAttrib1d
-    , glVertexAttrib1dv
-    , glVertexAttrib1f
-    , glVertexAttrib1fv
-    , glVertexAttrib1s
-    , glVertexAttrib1sv
-    , glVertexAttrib2d
-    , glVertexAttrib2dv
-    , glVertexAttrib2f
-    , glVertexAttrib2fv
-    , glVertexAttrib2s
-    , glVertexAttrib2sv
-    , glVertexAttrib3d
-    , glVertexAttrib3dv
-    , glVertexAttrib3f
-    , glVertexAttrib3fv
-    , glVertexAttrib3s
-    , glVertexAttrib3sv
-    , glVertexAttrib4Nbv
-    , glVertexAttrib4Niv
-    , glVertexAttrib4Nsv
-    , glVertexAttrib4Nub
-    , glVertexAttrib4Nubv
-    , glVertexAttrib4Nuiv
-    , glVertexAttrib4Nusv
-    , glVertexAttrib4bv
-    , glVertexAttrib4d
-    , glVertexAttrib4dv
-    , glVertexAttrib4f
-    , glVertexAttrib4fv
-    , glVertexAttrib4iv
-    , glVertexAttrib4s
-    , glVertexAttrib4sv
-    , glVertexAttrib4ubv
-    , glVertexAttrib4uiv
-    , glVertexAttrib4usv
-    , glVertexAttribPointer
-    , glUniformMatrix2x3fv
-    , glUniformMatrix3x2fv
-    , glUniformMatrix2x4fv
-    , glUniformMatrix4x2fv
-    , glUniformMatrix3x4fv
-    , glUniformMatrix4x3fv
-    , glColorMaski
-    , glGetBooleani_v
-    , glGetIntegeri_v
-    , glEnablei
-    , glDisablei
-    , glIsEnabledi
-    , glBeginTransformFeedback
-    , glEndTransformFeedback
-    , glBindBufferRange
-    , glBindBufferBase
-    , glTransformFeedbackVaryings
-    , glGetTransformFeedbackVarying
-    , glClampColor
-    , glBeginConditionalRender
-    , glEndConditionalRender
-    , glVertexAttribIPointer
-    , glGetVertexAttribIiv
-    , glGetVertexAttribIuiv
-    , glVertexAttribI1i
-    , glVertexAttribI2i
-    , glVertexAttribI3i
-    , glVertexAttribI4i
-    , glVertexAttribI1ui
-    , glVertexAttribI2ui
-    , glVertexAttribI3ui
-    , glVertexAttribI4ui
-    , glVertexAttribI1iv
-    , glVertexAttribI2iv
-    , glVertexAttribI3iv
-    , glVertexAttribI4iv
-    , glVertexAttribI1uiv
-    , glVertexAttribI2uiv
-    , glVertexAttribI3uiv
-    , glVertexAttribI4uiv
-    , glVertexAttribI4bv
-    , glVertexAttribI4sv
-    , glVertexAttribI4ubv
-    , glVertexAttribI4usv
-    , glGetUniformuiv
-    , glBindFragDataLocation
-    , glGetFragDataLocation
-    , glUniform1ui
-    , glUniform2ui
-    , glUniform3ui
-    , glUniform4ui
-    , glUniform1uiv
-    , glUniform2uiv
-    , glUniform3uiv
-    , glUniform4uiv
-    , glTexParameterIiv
-    , glTexParameterIuiv
-    , glGetTexParameterIiv
-    , glGetTexParameterIuiv
-    , glClearBufferiv
-    , glClearBufferuiv
-    , glClearBufferfv
-    , glClearBufferfi
-    , glGetStringi
-    , glIsRenderbuffer
-    , glBindRenderbuffer
-    , glDeleteRenderbuffers
-    , glGenRenderbuffers
-    , glRenderbufferStorage
-    , glGetRenderbufferParameteriv
-    , glIsFramebuffer
-    , glBindFramebuffer
-    , glDeleteFramebuffers
-    , glGenFramebuffers
-    , glCheckFramebufferStatus
-    , glFramebufferTexture1D
-    , glFramebufferTexture2D
-    , glFramebufferTexture3D
-    , glFramebufferRenderbuffer
-    , glGetFramebufferAttachmentParameteriv
-    , glGenerateMipmap
-    , glBlitFramebuffer
-    , glRenderbufferStorageMultisample
-    , glFramebufferTextureLayer
-    , glMapBufferRange
-    , glFlushMappedBufferRange
-    , glBindVertexArray
-    , glDeleteVertexArrays
-    , glGenVertexArrays
-    , glIsVertexArray
-    , glDrawArraysInstanced
-    , glDrawElementsInstanced
-    , glTexBuffer
-    , glPrimitiveRestartIndex
-    , glCopyBufferSubData
-    , glGetUniformIndices
-    , glGetActiveUniformsiv
-    , glGetActiveUniformName
-    , glGetUniformBlockIndex
-    , glGetActiveUniformBlockiv
-    , glGetActiveUniformBlockName
-    , glUniformBlockBinding
-    , glDrawElementsBaseVertex
-    , glDrawRangeElementsBaseVertex
-    , glDrawElementsInstancedBaseVertex
-    , glMultiDrawElementsBaseVertex
-    , glProvokingVertex
-    , glFenceSync
-    , glIsSync
-    , glDeleteSync
-    , glClientWaitSync
-    , glWaitSync
-    , glGetInteger64v
-    , glGetSynciv
-    , glGetInteger64i_v
-    , glGetBufferParameteri64v
-    , glFramebufferTexture
-    , glTexImage2DMultisample
-    , glTexImage3DMultisample
-    , glGetMultisamplefv
-    , glSampleMaski
-    , glBindFragDataLocationIndexed
-    , glGetFragDataIndex
-    , glGenSamplers
-    , glDeleteSamplers
-    , glIsSampler
-    , glBindSampler
-    , glSamplerParameteri
-    , glSamplerParameteriv
-    , glSamplerParameterf
-    , glSamplerParameterfv
-    , glSamplerParameterIiv
-    , glSamplerParameterIuiv
-    , glGetSamplerParameteriv
-    , glGetSamplerParameterIiv
-    , glGetSamplerParameterfv
-    , glGetSamplerParameterIuiv
-    , glQueryCounter
-    , glGetQueryObjecti64v
-    , glGetQueryObjectui64v
-    , glVertexAttribDivisor
-    , glVertexAttribP1ui
-    , glVertexAttribP1uiv
-    , glVertexAttribP2ui
-    , glVertexAttribP2uiv
-    , glVertexAttribP3ui
-    , glVertexAttribP3uiv
-    , glVertexAttribP4ui
-    , glVertexAttribP4uiv
-    , glTexStorage1D
-    , glTexStorage2D
-    , glTexStorage3D
-    , glDebugMessageControl
-    , glDebugMessageInsert
-    , glDebugMessageCallback
-    , glGetDebugMessageLog
-    , glPushDebugGroup
-    , glPopDebugGroup
-    , glObjectLabel
-    , glGetObjectLabel
-    , glObjectPtrLabel
-    , glGetObjectPtrLabel
-    , glGetPointerv
-    , glDebugMessageControlKHR
-    , glDebugMessageInsertKHR
-    , glDebugMessageCallbackKHR
-    , glGetDebugMessageLogKHR
-    , glPushDebugGroupKHR
-    , glPopDebugGroupKHR
-    , glObjectLabelKHR
-    , glGetObjectLabelKHR
-    , glObjectPtrLabelKHR
-    , glGetObjectPtrLabelKHR
-    , glGetPointervKHR
-    , glMatrixLoadfEXT
-    , glMatrixLoaddEXT
-    , glMatrixMultfEXT
-    , glMatrixMultdEXT
-    , glMatrixLoadIdentityEXT
-    , glMatrixRotatefEXT
-    , glMatrixRotatedEXT
-    , glMatrixScalefEXT
-    , glMatrixScaledEXT
-    , glMatrixTranslatefEXT
-    , glMatrixTranslatedEXT
-    , glMatrixFrustumEXT
-    , glMatrixOrthoEXT
-    , glMatrixPopEXT
-    , glMatrixPushEXT
-    , glClientAttribDefaultEXT
-    , glPushClientAttribDefaultEXT
-    , glTextureParameterfEXT
-    , glTextureParameterfvEXT
-    , glTextureParameteriEXT
-    , glTextureParameterivEXT
-    , glTextureImage1DEXT
-    , glTextureImage2DEXT
-    , glTextureSubImage1DEXT
-    , glTextureSubImage2DEXT
-    , glCopyTextureImage1DEXT
-    , glCopyTextureImage2DEXT
-    , glCopyTextureSubImage1DEXT
-    , glCopyTextureSubImage2DEXT
-    , glGetTextureImageEXT
-    , glGetTextureParameterfvEXT
-    , glGetTextureParameterivEXT
-    , glGetTextureLevelParameterfvEXT
-    , glGetTextureLevelParameterivEXT
-    , glTextureImage3DEXT
-    , glTextureSubImage3DEXT
-    , glCopyTextureSubImage3DEXT
-    , glBindMultiTextureEXT
-    , glMultiTexCoordPointerEXT
-    , glMultiTexEnvfEXT
-    , glMultiTexEnvfvEXT
-    , glMultiTexEnviEXT
-    , glMultiTexEnvivEXT
-    , glMultiTexGendEXT
-    , glMultiTexGendvEXT
-    , glMultiTexGenfEXT
-    , glMultiTexGenfvEXT
-    , glMultiTexGeniEXT
-    , glMultiTexGenivEXT
-    , glGetMultiTexEnvfvEXT
-    , glGetMultiTexEnvivEXT
-    , glGetMultiTexGendvEXT
-    , glGetMultiTexGenfvEXT
-    , glGetMultiTexGenivEXT
-    , glMultiTexParameteriEXT
-    , glMultiTexParameterivEXT
-    , glMultiTexParameterfEXT
-    , glMultiTexParameterfvEXT
-    , glMultiTexImage1DEXT
-    , glMultiTexImage2DEXT
-    , glMultiTexSubImage1DEXT
-    , glMultiTexSubImage2DEXT
-    , glCopyMultiTexImage1DEXT
-    , glCopyMultiTexImage2DEXT
-    , glCopyMultiTexSubImage1DEXT
-    , glCopyMultiTexSubImage2DEXT
-    , glGetMultiTexImageEXT
-    , glGetMultiTexParameterfvEXT
-    , glGetMultiTexParameterivEXT
-    , glGetMultiTexLevelParameterfvEXT
-    , glGetMultiTexLevelParameterivEXT
-    , glMultiTexImage3DEXT
-    , glMultiTexSubImage3DEXT
-    , glCopyMultiTexSubImage3DEXT
-    , glEnableClientStateIndexedEXT
-    , glDisableClientStateIndexedEXT
-    , glGetFloatIndexedvEXT
-    , glGetDoubleIndexedvEXT
-    , glGetPointerIndexedvEXT
-    , glEnableIndexedEXT
-    , glDisableIndexedEXT
-    , glIsEnabledIndexedEXT
-    , glGetIntegerIndexedvEXT
-    , glGetBooleanIndexedvEXT
-    , glCompressedTextureImage3DEXT
-    , glCompressedTextureImage2DEXT
-    , glCompressedTextureImage1DEXT
-    , glCompressedTextureSubImage3DEXT
-    , glCompressedTextureSubImage2DEXT
-    , glCompressedTextureSubImage1DEXT
-    , glGetCompressedTextureImageEXT
-    , glCompressedMultiTexImage3DEXT
-    , glCompressedMultiTexImage2DEXT
-    , glCompressedMultiTexImage1DEXT
-    , glCompressedMultiTexSubImage3DEXT
-    , glCompressedMultiTexSubImage2DEXT
-    , glCompressedMultiTexSubImage1DEXT
-    , glGetCompressedMultiTexImageEXT
-    , glMatrixLoadTransposefEXT
-    , glMatrixLoadTransposedEXT
-    , glMatrixMultTransposefEXT
-    , glMatrixMultTransposedEXT
-    , glNamedBufferDataEXT
-    , glNamedBufferSubDataEXT
-    , glMapNamedBufferEXT
-    , glUnmapNamedBufferEXT
-    , glGetNamedBufferParameterivEXT
-    , glGetNamedBufferPointervEXT
-    , glGetNamedBufferSubDataEXT
-    , glProgramUniform1fEXT
-    , glProgramUniform2fEXT
-    , glProgramUniform3fEXT
-    , glProgramUniform4fEXT
-    , glProgramUniform1iEXT
-    , glProgramUniform2iEXT
-    , glProgramUniform3iEXT
-    , glProgramUniform4iEXT
-    , glProgramUniform1fvEXT
-    , glProgramUniform2fvEXT
-    , glProgramUniform3fvEXT
-    , glProgramUniform4fvEXT
-    , glProgramUniform1ivEXT
-    , glProgramUniform2ivEXT
-    , glProgramUniform3ivEXT
-    , glProgramUniform4ivEXT
-    , glProgramUniformMatrix2fvEXT
-    , glProgramUniformMatrix3fvEXT
-    , glProgramUniformMatrix4fvEXT
-    , glProgramUniformMatrix2x3fvEXT
-    , glProgramUniformMatrix3x2fvEXT
-    , glProgramUniformMatrix2x4fvEXT
-    , glProgramUniformMatrix4x2fvEXT
-    , glProgramUniformMatrix3x4fvEXT
-    , glProgramUniformMatrix4x3fvEXT
-    , glTextureBufferEXT
-    , glMultiTexBufferEXT
-    , glTextureParameterIivEXT
-    , glTextureParameterIuivEXT
-    , glGetTextureParameterIivEXT
-    , glGetTextureParameterIuivEXT
-    , glMultiTexParameterIivEXT
-    , glMultiTexParameterIuivEXT
-    , glGetMultiTexParameterIivEXT
-    , glGetMultiTexParameterIuivEXT
-    , glProgramUniform1uiEXT
-    , glProgramUniform2uiEXT
-    , glProgramUniform3uiEXT
-    , glProgramUniform4uiEXT
-    , glProgramUniform1uivEXT
-    , glProgramUniform2uivEXT
-    , glProgramUniform3uivEXT
-    , glProgramUniform4uivEXT
-    , glNamedProgramLocalParameters4fvEXT
-    , glNamedProgramLocalParameterI4iEXT
-    , glNamedProgramLocalParameterI4ivEXT
-    , glNamedProgramLocalParametersI4ivEXT
-    , glNamedProgramLocalParameterI4uiEXT
-    , glNamedProgramLocalParameterI4uivEXT
-    , glNamedProgramLocalParametersI4uivEXT
-    , glGetNamedProgramLocalParameterIivEXT
-    , glGetNamedProgramLocalParameterIuivEXT
-    , glEnableClientStateiEXT
-    , glDisableClientStateiEXT
-    , glGetFloati_vEXT
-    , glGetDoublei_vEXT
-    , glGetPointeri_vEXT
-    , glNamedProgramStringEXT
-    , glNamedProgramLocalParameter4dEXT
-    , glNamedProgramLocalParameter4dvEXT
-    , glNamedProgramLocalParameter4fEXT
-    , glNamedProgramLocalParameter4fvEXT
-    , glGetNamedProgramLocalParameterdvEXT
-    , glGetNamedProgramLocalParameterfvEXT
-    , glGetNamedProgramivEXT
-    , glGetNamedProgramStringEXT
-    , glNamedRenderbufferStorageEXT
-    , glGetNamedRenderbufferParameterivEXT
-    , glNamedRenderbufferStorageMultisampleEXT
-    , glNamedRenderbufferStorageMultisampleCoverageEXT
-    , glCheckNamedFramebufferStatusEXT
-    , glNamedFramebufferTexture1DEXT
-    , glNamedFramebufferTexture2DEXT
-    , glNamedFramebufferTexture3DEXT
-    , glNamedFramebufferRenderbufferEXT
-    , glGetNamedFramebufferAttachmentParameterivEXT
-    , glGenerateTextureMipmapEXT
-    , glGenerateMultiTexMipmapEXT
-    , glFramebufferDrawBufferEXT
-    , glFramebufferDrawBuffersEXT
-    , glFramebufferReadBufferEXT
-    , glGetFramebufferParameterivEXT
-    , glNamedCopyBufferSubDataEXT
-    , glNamedFramebufferTextureEXT
-    , glNamedFramebufferTextureLayerEXT
-    , glNamedFramebufferTextureFaceEXT
-    , glTextureRenderbufferEXT
-    , glMultiTexRenderbufferEXT
-    , glVertexArrayVertexOffsetEXT
-    , glVertexArrayColorOffsetEXT
-    , glVertexArrayEdgeFlagOffsetEXT
-    , glVertexArrayIndexOffsetEXT
-    , glVertexArrayNormalOffsetEXT
-    , glVertexArrayTexCoordOffsetEXT
-    , glVertexArrayMultiTexCoordOffsetEXT
-    , glVertexArrayFogCoordOffsetEXT
-    , glVertexArraySecondaryColorOffsetEXT
-    , glVertexArrayVertexAttribOffsetEXT
-    , glVertexArrayVertexAttribIOffsetEXT
-    , glEnableVertexArrayEXT
-    , glDisableVertexArrayEXT
-    , glEnableVertexArrayAttribEXT
-    , glDisableVertexArrayAttribEXT
-    , glGetVertexArrayIntegervEXT
-    , glGetVertexArrayPointervEXT
-    , glGetVertexArrayIntegeri_vEXT
-    , glGetVertexArrayPointeri_vEXT
-    , glMapNamedBufferRangeEXT
-    , glFlushMappedNamedBufferRangeEXT
-    , glNamedBufferStorageEXT
-    , glClearNamedBufferDataEXT
-    , glClearNamedBufferSubDataEXT
-    , glNamedFramebufferParameteriEXT
-    , glGetNamedFramebufferParameterivEXT
-    , glProgramUniform1dEXT
-    , glProgramUniform2dEXT
-    , glProgramUniform3dEXT
-    , glProgramUniform4dEXT
-    , glProgramUniform1dvEXT
-    , glProgramUniform2dvEXT
-    , glProgramUniform3dvEXT
-    , glProgramUniform4dvEXT
-    , glProgramUniformMatrix2dvEXT
-    , glProgramUniformMatrix3dvEXT
-    , glProgramUniformMatrix4dvEXT
-    , glProgramUniformMatrix2x3dvEXT
-    , glProgramUniformMatrix2x4dvEXT
-    , glProgramUniformMatrix3x2dvEXT
-    , glProgramUniformMatrix3x4dvEXT
-    , glProgramUniformMatrix4x2dvEXT
-    , glProgramUniformMatrix4x3dvEXT
-    , glTextureBufferRangeEXT
-    , glTextureStorage1DEXT
-    , glTextureStorage2DEXT
-    , glTextureStorage3DEXT
-    , glTextureStorage2DMultisampleEXT
-    , glTextureStorage3DMultisampleEXT
-    , glVertexArrayBindVertexBufferEXT
-    , glVertexArrayVertexAttribFormatEXT
-    , glVertexArrayVertexAttribIFormatEXT
-    , glVertexArrayVertexAttribLFormatEXT
-    , glVertexArrayVertexAttribBindingEXT
-    , glVertexArrayVertexBindingDivisorEXT
-    , glVertexArrayVertexAttribLOffsetEXT
-    , glTexturePageCommitmentEXT
-    , glVertexArrayVertexAttribDivisorEXT
-    , glBufferStorage
-    , glUseProgramStages
-    , glActiveShaderProgram
-    , glCreateShaderProgramv
-    , glBindProgramPipeline
-    , glDeleteProgramPipelines
-    , glGenProgramPipelines
-    , glIsProgramPipeline
-    , glGetProgramPipelineiv
-    , glProgramUniform1i
-    , glProgramUniform1iv
-    , glProgramUniform1f
-    , glProgramUniform1fv
-    , glProgramUniform1d
-    , glProgramUniform1dv
-    , glProgramUniform1ui
-    , glProgramUniform1uiv
-    , glProgramUniform2i
-    , glProgramUniform2iv
-    , glProgramUniform2f
-    , glProgramUniform2fv
-    , glProgramUniform2d
-    , glProgramUniform2dv
-    , glProgramUniform2ui
-    , glProgramUniform2uiv
-    , glProgramUniform3i
-    , glProgramUniform3iv
-    , glProgramUniform3f
-    , glProgramUniform3fv
-    , glProgramUniform3d
-    , glProgramUniform3dv
-    , glProgramUniform3ui
-    , glProgramUniform3uiv
-    , glProgramUniform4i
-    , glProgramUniform4iv
-    , glProgramUniform4f
-    , glProgramUniform4fv
-    , glProgramUniform4d
-    , glProgramUniform4dv
-    , glProgramUniform4ui
-    , glProgramUniform4uiv
-    , glProgramUniformMatrix2fv
-    , glProgramUniformMatrix3fv
-    , glProgramUniformMatrix4fv
-    , glProgramUniformMatrix2dv
-    , glProgramUniformMatrix3dv
-    , glProgramUniformMatrix4dv
-    , glProgramUniformMatrix2x3fv
-    , glProgramUniformMatrix3x2fv
-    , glProgramUniformMatrix2x4fv
-    , glProgramUniformMatrix4x2fv
-    , glProgramUniformMatrix3x4fv
-    , glProgramUniformMatrix4x3fv
-    , glProgramUniformMatrix2x3dv
-    , glProgramUniformMatrix3x2dv
-    , glProgramUniformMatrix2x4dv
-    , glProgramUniformMatrix4x2dv
-    , glProgramUniformMatrix3x4dv
-    , glProgramUniformMatrix4x3dv
-    , glValidateProgramPipeline
-    , glGetProgramPipelineInfoLog
-    , glInvalidateTexSubImage
-    , glInvalidateTexImage
-    , glInvalidateBufferSubData
-    , glInvalidateBufferData
-    , glInvalidateFramebuffer
-    , glInvalidateSubFramebuffer
-    , gl_TEXTURE_LUMINANCE_SIZE_EXT
-    , gl_BGRA_INTEGER
-    , gl_TEXTURE24_ARB
-    , gl_LINEAR_SHARPEN_SGIS
-    , gl_REG_30_ATI
-    , gl_CONTEXT_PROFILE_MASK
-    , gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT
-    , gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT
-    , gl_ELEMENT_ARRAY_BUFFER_BINDING_ARB
-    , gl_STENCIL_ATTACHMENT_EXT
-    , gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG
-    , gl_STENCIL_INDEX4_OES
-    , gl_LAYER_PROVOKING_VERTEX_EXT
-    , gl_TESS_GEN_POINT_MODE_EXT
-    , gl_DEBUG_SEVERITY_HIGH
-    , gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS
-    , gl_PROGRAM_TEX_INDIRECTIONS_ARB
-    , gl_CON_14_ATI
-    , gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE
-    , gl_DEPTH32F_STENCIL8
-    , gl_TEXTURE_MAX_CLAMP_T_SGIX
-    , gl_SAMPLER_1D_SHADOW_ARB
-    , gl_POINT_SPRITE_NV
-    , gl_POINT_DISTANCE_ATTENUATION
-    , gl_RG16F_EXT
-    , gl_TEXTURE_PRIORITY_EXT
-    , gl_CON_27_ATI
-    , gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT
-    , gl_UNIFORM_BARRIER_BIT_EXT
-    , gl_COVERAGE_ATTACHMENT_NV
-    , gl_TEXTURE_TARGET_QCOM
-    , gl_VERTEX_ATTRIB_ARRAY_TYPE_ARB
-    , gl_LUMINANCE_FLOAT16_APPLE
-    , gl_RENDERBUFFER_RED_SIZE_EXT
-    , gl_OUTPUT_TEXTURE_COORD2_EXT
-    , gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY
-    , gl_INVALID_FRAMEBUFFER_OPERATION_OES
-    , gl_MATRIX9_ARB
-    , gl_COLOR_ATTACHMENT0_OES
-    , gl_SHADER_OBJECT_ARB
-    , gl_OBJECT_INFO_LOG_LENGTH_ARB
-    , gl_DEPTH_BUFFER_BIT6_QCOM
-    , gl_MITER_REVERT_NV
-    , gl_LUMINANCE16UI_EXT
-    , gl_FOG_COORDINATE
-    , gl_COMPRESSED_ALPHA
-    , gl_CUBIC_HP
-    , gl_CURRENT_MATRIX_STACK_DEPTH_NV
-    , gl_CONSTANT_NV
-    , gl_PALETTE8_RGB8_OES
-    , gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT
-    , gl_DRAW_BUFFER14_NV
-    , gl_MODELVIEW28_ARB
-    , gl_MIRROR_CLAMP_EXT
-    , gl_CONVOLUTION_WIDTH_EXT
-    , gl_WEIGHT_ARRAY_TYPE_OES
-    , gl_R8I
-    , gl_FRAGMENT_LIGHT1_SGIX
-    , gl_SOURCE2_ALPHA_EXT
-    , gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
-    , gl_OPERAND1_RGB_ARB
-    , gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT
-    , gl_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV
-    , gl_REG_24_ATI
-    , gl_SYNC_FENCE
-    , gl_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT
-    , gl_RGB16F_ARB
-    , gl_MULTIVIEW_EXT
-    , gl_DRAW_BUFFER7_EXT
-    , gl_RGBA_FLOAT32_ATI
-    , gl_STENCIL_OP_VALUE_AMD
-    , gl_SAMPLE_MASK_SGIS
-    , gl_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT
-    , gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES
-    , gl_IMAGE_1D_ARRAY
-    , gl_FUNC_REVERSE_SUBTRACT_EXT
-    , gl_LOSE_CONTEXT_ON_RESET_ARB
-    , gl_WEIGHT_ARRAY_POINTER_OES
-    , gl_DRAW_BUFFER3
-    , gl_DEPTH_STENCIL_ATTACHMENT
-    , gl_NUM_PASSES_ATI
-    , gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB
-    , gl_ACTIVE_SUBROUTINE_MAX_LENGTH
-    , gl_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB
-    , gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT
-    , gl_VERTEX_ARRAY_RANGE_APPLE
-    , gl_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX
-    , gl_SHADER_SOURCE_LENGTH
-    , gl_BOLD_BIT_NV
-    , gl_R16I
-    , gl_DETAIL_TEXTURE_LEVEL_SGIS
-    , gl_ONE_MINUS_SRC1_ALPHA
-    , gl_TEXTURE_BUFFER_BINDING_EXT
-    , gl_MATRIX14_ARB
-    , gl_UNCORRELATED_NV
-    , gl_UNSIGNED_INT64_ARB
-    , gl_TEXTURE_BUFFER_BINDING
-    , gl_ACTIVE_PROGRAM_EXT
-    , gl_FRAGMENT_SHADER_DERIVATIVE_HINT_OES
-    , gl_REPLACEMENT_CODE_ARRAY_TYPE_SUN
-    , gl_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV
-    , gl_MAX_COMPUTE_UNIFORM_BLOCKS
-    , gl_NORMAL_ARRAY_ADDRESS_NV
-    , gl_OP_SET_LT_EXT
-    , gl_TEXTURE_2D_STACK_BINDING_MESAX
-    , gl_CULL_VERTEX_OBJECT_POSITION_EXT
-    , gl_SYNC_GPU_COMMANDS_COMPLETE
-    , gl_FOG_COORDINATE_EXT
-    , gl_MAX_LIGHTS
-    , gl_MAX_VARYING_COMPONENTS
-    , gl_MAX_TRANSFORM_FEEDBACK_BUFFERS
-    , gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS
-    , gl_VERTEX_SHADER_EXT
-    , gl_PERFQUERY_GLOBAL_CONTEXT_INTEL
-    , gl_TEXTURE_LOD_BIAS_R_SGIX
-    , gl_OFFSET_HILO_TEXTURE_2D_NV
-    , gl_FRAMEBUFFER_EXT
-    , gl_CONTEXT_LOST_KHR
-    , gl_CLIENT_ACTIVE_TEXTURE
-    , gl_MATRIX4_NV
-    , gl_COMP_BIT_ATI
-    , gl_ELEMENT_ARRAY_APPLE
-    , gl_QUERY_BUFFER_AMD
-    , gl_SAMPLE_BUFFERS_EXT
-    , gl_MAX_PROGRAM_LOCAL_PARAMETERS_ARB
-    , gl_SKIP_DECODE_EXT
-    , gl_DEPTH_CLEAR_VALUE
-    , gl_DEPENDENT_RGB_TEXTURE_3D_NV
-    , gl_VERTEX_PROGRAM_TWO_SIDE_NV
-    , gl_UNPACK_SKIP_VOLUMES_SGIS
-    , gl_INTENSITY_FLOAT32_ATI
-    , gl_FLOAT_MAT4x2
-    , gl_MAX_TRACK_MATRICES_NV
-    , gl_SMOOTH_POINT_SIZE_GRANULARITY
-    , gl_RGBA_FLOAT16_APPLE
-    , gl_TEXTURE_RANGE_POINTER_APPLE
-    , gl_FRAGMENT_PROGRAM_POSITION_MESA
-    , gl_RGBA8I
-    , gl_ALPHA16_SNORM
-    , gl_UNSIGNED_INT_SAMPLER_1D_EXT
-    , gl_CONVOLUTION_2D_EXT
-    , gl_HALF_FLOAT_ARB
-    , gl_VERTEX_ATTRIB_ARRAY_ENABLED_ARB
-    , gl_SAMPLER_2D_RECT_ARB
-    , gl_DECR_WRAP
-    , gl_MAX_PALETTE_MATRICES_ARB
-    , gl_GREEN_BITS
-    , gl_FOG_INDEX
-    , gl_MAP_WRITE_BIT_EXT
-    , gl_COLORDODGE_NV
-    , gl_VERTEX_ATTRIB_ARRAY6_NV
-    , gl_TEXTURE_SAMPLES_IMG
-    , gl_INT_IMAGE_CUBE
-    , gl_POINT_SPRITE_OES
-    , gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH
-    , gl_ATOMIC_COUNTER_BARRIER_BIT
-    , gl_ALL_ATTRIB_BITS
-    , gl_SRC_ALPHA_SATURATE
-    , gl_SPOT_EXPONENT
-    , gl_DUAL_LUMINANCE8_SGIS
-    , gl_TEXTURE_DT_SIZE_NV
-    , gl_LUMINANCE16_SNORM
-    , gl_DST_COLOR
-    , gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT
-    , gl_FIELDS_NV
-    , gl_GLYPH_WIDTH_BIT_NV
-    , gl_VERTEX_WEIGHT_ARRAY_POINTER_EXT
-    , gl_DRAW_BUFFER9_ARB
-    , gl_VERTEX_ATTRIB_MAP2_ORDER_APPLE
-    , gl_SRGB8_ALPHA8
-    , gl_OBJECT_TYPE_ARB
-    , gl_QUERY_RESULT_EXT
-    , gl_IMAGE_3D
-    , gl_VERTEX_ARRAY_OBJECT_EXT
-    , gl_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV
-    , gl_OP_MAX_EXT
-    , gl_UNSIGNED_SHORT_1_5_5_5_REV
-    , gl_NORMALIZE
-    , gl_QUARTER_BIT_ATI
-    , gl_DEBUG_OUTPUT_SYNCHRONOUS_ARB
-    , gl_REFLECTION_MAP_NV
-    , gl_POINT_SPRITE_ARB
-    , gl_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV
-    , gl_COMBINE_EXT
-    , gl_INDEX_ARRAY_POINTER_EXT
-    , gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB
-    , gl_VIEWPORT_SUBPIXEL_BITS_EXT
-    , gl_OFFSET_TEXTURE_RECTANGLE_SCALE_NV
-    , gl_PERFQUERY_COUNTER_DATA_UINT64_INTEL
-    , gl_ARRAY_BUFFER_ARB
-    , gl_DRAW_BUFFER_EXT
-    , gl_TIMEOUT_EXPIRED_APPLE
-    , gl_NEAREST
-    , gl_BLEND_COLOR_EXT
-    , gl_COLOR_ATTACHMENT7_NV
-    , gl_OP_ROUND_EXT
-    , gl_REFERENCED_BY_FRAGMENT_SHADER
-    , gl_ALPHA_FLOAT16_APPLE
-    , gl_RGBA32UI
-    , gl_RGBA_FLOAT_MODE_ATI
-    , gl_POINT_FADE_THRESHOLD_SIZE
-    , gl_BGRA_INTEGER_EXT
-    , gl_COLOR_FLOAT_APPLE
-    , gl_REPLICATE_BORDER
-    , gl_SAMPLER_1D_ARB
-    , gl_DEPTH_BITS
-    , gl_GEOMETRY_DEFORMATION_SGIX
-    , gl_ACCUM_ADJACENT_PAIRS_NV
-    , gl_RGBA4_DXT5_S3TC
-    , gl_NAND
-    , gl_LUMINANCE16
-    , gl_TEXTURE24
-    , gl_COMPRESSED_RGBA_ASTC_5x4_KHR
-    , gl_COLOR_ATTACHMENT2
-    , gl_MAX_UNIFORM_BUFFER_BINDINGS
-    , gl_LINE_WIDTH_GRANULARITY
-    , gl_TRACE_ARRAYS_BIT_MESA
-    , gl_VERTEX_ATTRIB_MAP2_APPLE
-    , gl_DOUBLE_VEC4_EXT
-    , gl_TEXTURE28_ARB
-    , gl_UNSIGNED_INT_VEC3
-    , gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT
-    , gl_COMPRESSED_SLUMINANCE_EXT
-    , gl_WEIGHT_ARRAY_ARB
-    , gl_SPRITE_TRANSLATION_SGIX
-    , gl_UNSIGNED_INT_SAMPLER_BUFFER
-    , gl_SIGNALED_APPLE
-    , gl_STREAM_DRAW_ARB
-    , gl_3D_COLOR
-    , gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV
-    , gl_REFERENCED_BY_TESS_EVALUATION_SHADER
-    , gl_MODELVIEW15_ARB
-    , gl_TEXTURE_BUFFER_OFFSET
-    , gl_MAX_VARYING_VECTORS
-    , gl_BLEND_SRC_RGB_EXT
-    , gl_FRAGMENT_LIGHT2_SGIX
-    , gl_MANUAL_GENERATE_MIPMAP
-    , gl_UTF8_NV
-    , gl_CLIP_DISTANCE4
-    , gl_WRITE_DISCARD_NV
-    , gl_OFFSET_TEXTURE_2D_SCALE_NV
-    , gl_VERTEX_WEIGHT_ARRAY_EXT
-    , gl_ELEMENT_ARRAY_ADDRESS_NV
-    , gl_FLOAT_MAT3
-    , gl_DEPENDENT_HILO_TEXTURE_2D_NV
-    , gl_POST_COLOR_MATRIX_BLUE_BIAS
-    , gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS
-    , gl_TEXTURE_COORD_ARRAY_STRIDE
-    , gl_TEXTURE_COORD_ARRAY_SIZE_EXT
-    , gl_IMAGE_CLASS_2_X_32
-    , gl_RGB32UI
-    , gl_SEPARATE_ATTRIBS_EXT
-    , gl_MOVE_TO_NV
-    , gl_QUERY_BUFFER_BARRIER_BIT
-    , gl_TEXTURE_CUBE_MAP_POSITIVE_Y_OES
-    , gl_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP
-    , gl_DUDV_ATI
-    , gl_TEXTURE_CUBE_MAP_ARRAY
-    , gl_PN_TRIANGLES_NORMAL_MODE_ATI
-    , gl_TEXTURE_INTENSITY_TYPE
-    , gl_BUFFER_MAP_OFFSET
-    , gl_TEXTURE_COMPARE_MODE
-    , gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT
-    , gl_MAP2_VERTEX_ATTRIB10_4_NV
-    , gl_PATCH_DEFAULT_INNER_LEVEL
-    , gl_DEPTH_STENCIL_TO_BGRA_NV
-    , gl_UNPACK_RESAMPLE_OML
-    , gl_VERTEX_ATTRIB_ARRAY10_NV
-    , gl_RGB10_EXT
-    , gl_LUMINANCE_ALPHA
-    , gl_MAP_INVALIDATE_BUFFER_BIT_EXT
-    , gl_TESS_CONTROL_SHADER_PATCHES_ARB
-    , gl_DRAW_BUFFER15_ATI
-    , gl_READ_ONLY_ARB
-    , gl_FRAGMENT_LIGHT3_SGIX
-    , gl_TEXTURE_CUBE_MAP_POSITIVE_Z
-    , gl_T2F_IUI_V2F_EXT
-    , gl_DRAW_BUFFER0
-    , gl_CLIP_PLANE5_IMG
-    , gl_LINEAR_DETAIL_SGIS
-    , gl_MAX_NUM_ACTIVE_VARIABLES
-    , gl_LIST_PRIORITY_SGIX
-    , gl_EVAL_VERTEX_ATTRIB14_NV
-    , gl_PALETTE8_RGBA4_OES
-    , gl_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV
-    , gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB
-    , gl_OUTPUT_TEXTURE_COORD29_EXT
-    , gl_VERTEX_ID_SWIZZLE_AMD
-    , gl_HIGH_FLOAT
-    , gl_ANY_SAMPLES_PASSED_EXT
-    , gl_RGB8UI_EXT
-    , gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS
-    , gl_BUFFER_MAP_POINTER
-    , gl_COMPRESSED_RGBA_ASTC_8x8_KHR
-    , gl_COLOR_ARRAY_LENGTH_NV
-    , gl_FRAMEBUFFER
-    , gl_TEXTURE16
-    , gl_TEXTURE_SWIZZLE_B
-    , gl_MAX_SAMPLE_MASK_WORDS_NV
-    , gl_SECONDARY_COLOR_ARRAY_POINTER_EXT
-    , gl_INSTRUMENT_MEASUREMENTS_SGIX
-    , gl_INTENSITY4
-    , gl_FRAGMENT_SUBROUTINE
-    , gl_DEBUG_LOGGED_MESSAGES
-    , gl_EDGE_FLAG_ARRAY_POINTER_EXT
-    , gl_SAMPLE_BUFFERS_SGIS
-    , gl_SAMPLE_BUFFERS_3DFX
-    , gl_UNSIGNED_INT_8_8_8_8_REV
-    , gl_COLOR_ARRAY_SIZE_EXT
-    , gl_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB
-    , gl_RG_INTEGER
-    , gl_LARGE_CW_ARC_TO_NV
-    , gl_RENDERBUFFER_STENCIL_SIZE_OES
-    , gl_TEXTURE_CUBE_MAP_POSITIVE_X_EXT
-    , gl_TEXTURE_3D_EXT
-    , gl_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT
-    , gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV
-    , gl_DEBUG_TYPE_PORTABILITY
-    , gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT
-    , gl_DRAW_BUFFER10
-    , gl_SAMPLER_2D_RECT_SHADOW_ARB
-    , gl_GEOMETRY_INPUT_TYPE_EXT
-    , gl_TEXTURE_BINDING_BUFFER_EXT
-    , gl_COMPRESSED_LUMINANCE_ALPHA_ARB
-    , gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES
-    , gl_MAX_TEXTURE_SIZE
-    , gl_RED_EXT
-    , gl_VARIABLE_D_NV
-    , gl_COVERAGE_EDGE_FRAGMENTS_NV
-    , gl_ARRAY_BUFFER_BINDING
-    , gl_GREEN_MAX_CLAMP_INGR
-    , gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS
-    , gl_HSL_COLOR_KHR
-    , gl_INT_SAMPLER_1D
-    , gl_DRAW_BUFFER13
-    , gl_INT_IMAGE_CUBE_EXT
-    , gl_VIDEO_CAPTURE_TO_422_SUPPORTED_NV
-    , gl_DISTANCE_ATTENUATION_EXT
-    , gl_VERTEX_ATTRIB_ARRAY7_NV
-    , gl_SRGB_ALPHA
-    , gl_DOUBLE_EXT
-    , gl_ELEMENT_ARRAY_TYPE_ATI
-    , gl_UNIFORM_BUFFER_UNIFIED_NV
-    , gl_UNSIGNED_INT_SAMPLER_BUFFER_AMD
-    , gl_HISTOGRAM_ALPHA_SIZE
-    , gl_OFFSET_PROJECTIVE_TEXTURE_2D_NV
-    , gl_ARRAY_ELEMENT_LOCK_FIRST_EXT
-    , gl_COMPRESSED_RGB_S3TC_DXT1_EXT
-    , gl_PATH_GEN_COEFF_NV
-    , gl_MAX_VERTEX_UNIFORM_COMPONENTS_ARB
-    , gl_PIXEL_COUNT_AVAILABLE_NV
-    , gl_VERTEX_SHADER_INVOCATIONS_ARB
-    , gl_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB
-    , gl_TESS_EVALUATION_PROGRAM_NV
-    , gl_UNSIGNED_INT_VEC2_EXT
-    , gl_IMAGE_2D_RECT
-    , gl_DONT_CARE
-    , gl_IMAGE_BINDING_ACCESS_EXT
-    , gl_TEXTURE_PRIORITY
-    , gl_DOUBLE_VEC3_EXT
-    , gl_TESS_EVALUATION_SHADER_BIT
-    , gl_PERFQUERY_COUNTER_DURATION_RAW_INTEL
-    , gl_CURRENT_TEXTURE_COORDS
-    , gl_SCISSOR_TEST
-    , gl_MATRIX_INDEX_ARRAY_POINTER_ARB
-    , gl_TEXTURE_HEIGHT
-    , gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB
-    , gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR
-    , gl_SUBTRACT_ARB
-    , gl_SAMPLER_BUFFER
-    , gl_MAX_COLOR_ATTACHMENTS_EXT
-    , gl_MAX_3D_TEXTURE_SIZE
-    , gl_HISTOGRAM_RED_SIZE
-    , gl_DEBUG_SOURCE_API
-    , gl_CND_ATI
-    , gl_FLOAT16_VEC2_NV
-    , gl_MODULATE_COLOR_IMG
-    , gl_RENDERBUFFER_BINDING_ANGLE
-    , gl_MAT_EMISSION_BIT_PGI
-    , gl_MAX_NAME_LENGTH
-    , gl_OUTPUT_TEXTURE_COORD9_EXT
-    , gl_IMAGE_BINDING_LEVEL
-    , gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS
-    , gl_MAX_IMAGE_SAMPLES_EXT
-    , gl_VARIABLE_C_NV
-    , gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS
-    , gl_RASTERIZER_DISCARD_NV
-    , gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG
-    , gl_MAX_DRAW_BUFFERS_ARB
-    , gl_AUX2
-    , gl_NEGATIVE_Y_EXT
-    , gl_PROXY_TEXTURE_2D_ARRAY_EXT
-    , gl_QUERY_DEPTH_PASS_EVENT_BIT_AMD
-    , gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE
-    , gl_CONVOLUTION_BORDER_COLOR_HP
-    , gl_QUERY_COUNTER_BITS_ARB
-    , gl_ISOLINES
-    , gl_UNIFORM_ARRAY_STRIDE
-    , gl_UNSIGNED_INT_SAMPLER_CUBE_EXT
-    , gl_TESS_EVALUATION_SHADER
-    , gl_MAP1_COLOR_4
-    , gl_LINE_STRIP_ADJACENCY
-    , gl_TRIANGLES_ADJACENCY
-    , gl_PATH_MODELVIEW_MATRIX_NV
-    , gl_POST_CONVOLUTION_RED_BIAS
-    , gl_INSTRUMENT_BUFFER_POINTER_SGIX
-    , gl_SAMPLE_ALPHA_TO_MASK_EXT
-    , gl_FOG_COORD_ARRAY_LENGTH_NV
-    , gl_SGX_PROGRAM_BINARY_IMG
-    , gl_CONSTANT_COLOR_EXT
-    , gl_COLOR_ATTACHMENT1
-    , gl_RGB16F
-    , gl_3_BYTES_NV
-    , gl_COLOR_BUFFER_BIT6_QCOM
-    , gl_MAX_ELEMENTS_INDICES_EXT
-    , gl_OUTPUT_TEXTURE_COORD21_EXT
-    , gl_POLYGON_STIPPLE
-    , gl_NEGATIVE_X_EXT
-    , gl_COMPRESSED_RGBA_ASTC_8x6_KHR
-    , gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT
-    , gl_FIRST_VERTEX_CONVENTION_EXT
-    , gl_PATH_FORMAT_PS_NV
-    , gl_DEPTH_STENCIL_EXT
-    , gl_ALIASED_POINT_SIZE_RANGE
-    , gl_POINT_SIZE_MAX
-    , gl_INT_SAMPLER_2D_RECT
-    , gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB
-    , gl_1PASS_EXT
-    , gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES
-    , gl_CLAMP_FRAGMENT_COLOR
-    , gl_PATH_MODELVIEW_STACK_DEPTH_NV
-    , gl_REG_23_ATI
-    , gl_SLUMINANCE_EXT
-    , gl_SCALE_BY_FOUR_NV
-    , gl_DEPTH_COMPONENT32F_NV
-    , gl_MAX_TEXTURE_LOD_BIAS
-    , gl_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX
-    , gl_DISCARD_ATI
-    , gl_DEPTH_COMPONENT32_SGIX
-    , gl_VERTEX_ARRAY_BINDING_APPLE
-    , gl_STREAM_DRAW
-    , gl_STENCIL_ATTACHMENT_OES
-    , gl_SUBPIXEL_PRECISION_BIAS_X_BITS_NV
-    , gl_SIGNED_RGB8_NV
-    , gl_OBJECT_TYPE
-    , gl_FUNC_SUBTRACT
-    , gl_VIEW_COMPATIBILITY_CLASS
-    , gl_DOMAIN
-    , gl_MAX_COMPUTE_ATOMIC_COUNTERS
-    , gl_PIXEL_TEX_GEN_SGIX
-    , gl_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX
-    , gl_TEXTURE_STENCIL_SIZE
-    , gl_QUERY_ALL_EVENT_BITS_AMD
-    , gl_COMPRESSED_RGBA_ASTC_10x5_KHR
-    , gl_TESS_CONTROL_TEXTURE
-    , gl_4PASS_3_SGIS
-    , gl_MAX_IMAGE_UNITS
-    , gl_OUTPUT_TEXTURE_COORD6_EXT
-    , gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER
-    , gl_COMPILE_AND_EXECUTE
-    , gl_MODELVIEW4_ARB
-    , gl_MULTISAMPLE_BUFFER_BIT5_QCOM
-    , gl_TEXTURE27
-    , gl_STORAGE_SHARED_APPLE
-    , gl_TEXTURE_COORD_ARRAY_ADDRESS_NV
-    , gl_EDGE_FLAG_ARRAY_EXT
-    , gl_PATH_DASH_OFFSET_RESET_NV
-    , gl_PALETTE4_RGBA4_OES
-    , gl_FEEDBACK_BUFFER_TYPE
-    , gl_TEXTURE_3D
-    , gl_UNSIGNED_INT_SAMPLER_2D_EXT
-    , gl_RENDERBUFFER_DEPTH_SIZE_EXT
-    , gl_DUAL_ALPHA16_SGIS
-    , gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT
-    , gl_MAT_SHININESS_BIT_PGI
-    , gl_4PASS_2_SGIS
-    , gl_READ_FRAMEBUFFER_BINDING_APPLE
-    , gl_UNSIGNED_SHORT_5_6_5_REV
-    , gl_UNSIGNED_INT_2_10_10_10_REV
-    , gl_RGB2_EXT
-    , gl_DEBUG_LOGGED_MESSAGES_ARB
-    , gl_TEXTURE8
-    , gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV
-    , gl_RGB5_A1
-    , gl_BUFFER_VARIABLE
-    , gl_OP_ADD_EXT
-    , gl_EDGE_FLAG_ARRAY_STRIDE
-    , gl_CLIP_PLANE1_IMG
-    , gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB
-    , gl_SMOOTH
-    , gl_CURRENT_PALETTE_MATRIX_OES
-    , gl_TEXTURE_LOD_BIAS
-    , gl_IMAGE_2D_ARRAY
-    , gl_RGBA16F_EXT
-    , gl_BUFFER_ACCESS_OES
-    , gl_MAX_PROGRAM_ENV_PARAMETERS_ARB
-    , gl_MEDIUM_FLOAT
-    , gl_BLUE_MAX_CLAMP_INGR
-    , gl_INTERPOLATE_ARB
-    , gl_LUMINANCE16F_ARB
-    , gl_HILO_NV
-    , gl_ALPHA8_OES
-    , gl_RGB_INTEGER
-    , gl_CON_29_ATI
-    , gl_PLUS_CLAMPED_ALPHA_NV
-    , gl_VIDEO_COLOR_CONVERSION_MIN_NV
-    , gl_INDEX_ARRAY_TYPE
-    , gl_VERTEX_ARRAY_SIZE
-    , gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT
-    , gl_FRAMEBUFFER_SRGB_EXT
-    , gl_REPLICATE_BORDER_HP
-    , gl_VERTEX_ARRAY_BUFFER_BINDING_ARB
-    , gl_COMPRESSED_RGBA8_ETC2_EAC
-    , gl_MATRIX2_ARB
-    , gl_OUTPUT_TEXTURE_COORD19_EXT
-    , gl_TEXTURE_COMPRESSION_HINT
-    , gl_MATRIX10_ARB
-    , gl_LEFT
-    , gl_FOG_DENSITY
-    , gl_DEPTH_PASS_INSTRUMENT_MAX_SGIX
-    , gl_REPLACEMENT_CODE_ARRAY_STRIDE_SUN
-    , gl_OFFSET_TEXTURE_2D_BIAS_NV
-    , gl_VIDEO_COLOR_CONVERSION_OFFSET_NV
-    , gl_UNPACK_LSB_FIRST
-    , gl_RGBA4_S3TC
-    , gl_UNIFORM_BUFFER_BINDING
-    , gl_DEPTH_SAMPLES_NV
-    , gl_VERTEX_SHADER_BIT_EXT
-    , gl_RGB16_EXT
-    , gl_CULL_FACE
-    , gl_RED
-    , gl_INVERTED_SCREEN_W_REND
-    , gl_EQUAL
-    , gl_IMAGE_BUFFER_EXT
-    , gl_MATRIX12_ARB
-    , gl_SMOOTH_QUADRATIC_CURVE_TO_NV
-    , gl_INT8_VEC4_NV
-    , gl_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB
-    , gl_CMYK_EXT
-    , gl_VERTEX_ATTRIB_MAP1_ORDER_APPLE
-    , gl_MAX_COLOR_TEXTURE_SAMPLES
-    , gl_LIGHT3
-    , gl_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB
-    , gl_TEXTURE_LEQUAL_R_SGIX
-    , gl_POINT_SIZE_ARRAY_TYPE_OES
-    , gl_LESS
-    , gl_XOR_NV
-    , gl_ALPHA8_SNORM
-    , gl_DRAW_BUFFER5_NV
-    , gl_MAP1_TEXTURE_COORD_2
-    , gl_VERTEX_WEIGHT_ARRAY_TYPE_EXT
-    , gl_EVAL_VERTEX_ATTRIB10_NV
-    , gl_PATH_TERMINAL_END_CAP_NV
-    , gl_DOUBLE_MAT3x4_EXT
-    , gl_PIXEL_MAP_I_TO_I_SIZE
-    , gl_ALL_STATIC_DATA_IBM
-    , gl_ACCUM_GREEN_BITS
-    , gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH
-    , gl_OBJECT_LINEAR_NV
-    , gl_TESS_CONTROL_SHADER_BIT_EXT
-    , gl_DUAL_LUMINANCE12_SGIS
-    , gl_LINEAR_CLIPMAP_LINEAR_SGIX
-    , gl_TEXTURE_MIN_LOD_SGIS
-    , gl_MIN_SPARSE_LEVEL_AMD
-    , gl_COMPRESSED_SIGNED_RED_RGTC1_EXT
-    , gl_SWIZZLE_STR_DR_ATI
-    , gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS
-    , gl_STENCIL_REF
-    , gl_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB
-    , gl_STENCIL_TEST
-    , gl_MAX_DRAW_BUFFERS
-    , gl_MULTISAMPLE
-    , gl_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT
-    , gl_R
-    , gl_PROVOKING_VERTEX
-    , gl_STENCIL_CLEAR_VALUE
-    , gl_COLOR_INDEX4_EXT
-    , gl_IMAGE_BINDING_FORMAT
-    , gl_POINT_SPRITE
-    , gl_INT_SAMPLER_CUBE_MAP_ARRAY
-    , gl_IMPLEMENTATION_COLOR_READ_FORMAT_OES
-    , gl_COMPILE
-    , gl_SIGNED_RGB_NV
-    , gl_DEBUG_SEVERITY_MEDIUM
-    , gl_RGBA16_SNORM
-    , gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS
-    , gl_OBJECT_LINK_STATUS_ARB
-    , gl_TEXTURE_WRAP_T
-    , gl_SAMPLE_MASK_EXT
-    , gl_CONTEXT_LOST
-    , gl_STENCIL_INDEX4
-    , gl_POST_COLOR_MATRIX_RED_SCALE
-    , gl_COMBINER_AB_DOT_PRODUCT_NV
-    , gl_MAX_RENDERBUFFER_SIZE_OES
-    , gl_RG
-    , gl_INTENSITY16_SNORM
-    , gl_DEBUG_TYPE_ERROR_KHR
-    , gl_RGB_SCALE_ARB
-    , gl_POINT_BIT
-    , gl_ALPHA16I_EXT
-    , gl_RGBA16UI
-    , gl_DEBUG_SEVERITY_MEDIUM_AMD
-    , gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES
-    , gl_DEPTH_SCALE
-    , gl_ACTIVE_SUBROUTINE_UNIFORMS
-    , gl_REFERENCED_BY_VERTEX_SHADER
-    , gl_PROGRAM_INSTRUCTIONS_ARB
-    , gl_COPY_WRITE_BUFFER_BINDING
-    , gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS
-    , gl_ASYNC_HISTOGRAM_SGIX
-    , gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
-    , gl_COLOR_TABLE_INTENSITY_SIZE_SGI
-    , gl_CONTEXT_ROBUST_ACCESS
-    , gl_DEPTH_COMPONENT32F
-    , gl_BLEND_EQUATION
-    , gl_ATOMIC_COUNTER_BUFFER
-    , gl_VERTEX_ARRAY_COUNT_EXT
-    , gl_3DC_XY_AMD
-    , gl_UNSIGNED_INT64_VEC3_NV
-    , gl_OUTPUT_TEXTURE_COORD20_EXT
-    , gl_OBJECT_VALIDATE_STATUS_ARB
-    , gl_VERTEX_ARRAY_RANGE_LENGTH_APPLE
-    , gl_CURRENT_RASTER_COLOR
-    , gl_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG
-    , gl_RGBA4_EXT
-    , gl_LOCATION_COMPONENT
-    , gl_COMPRESSED_LUMINANCE
-    , gl_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG
-    , gl_PROGRAM_LENGTH_ARB
-    , gl_CONVOLUTION_FILTER_SCALE
-    , gl_STREAM_COPY
-    , gl_FRAGMENT_SHADER_BIT
-    , gl_SLICE_ACCUM_SUN
-    , gl_TEXTURE_2D_ARRAY_EXT
-    , gl_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV
-    , gl_DEPTH_BUFFER_BIT3_QCOM
-    , gl_FOG_END
-    , gl_SOFTLIGHT_NV
-    , gl_CON_13_ATI
-    , gl_TABLE_TOO_LARGE
-    , gl_QUERY_BUFFER_BINDING_AMD
-    , gl_SAMPLE_LOCATION_NV
-    , gl_PRESENT_TIME_NV
-    , gl_NUM_SPARSE_LEVELS_ARB
-    , gl_UNSIGNED_INT_IMAGE_2D_RECT_EXT
-    , gl_YCRCB_422_SGIX
-    , gl_SIGNED_INTENSITY8_NV
-    , gl_ITALIC_BIT_NV
-    , gl_MINMAX_FORMAT_EXT
-    , gl_FRAMEBUFFER_BLEND
-    , gl_DEPTH_BIAS
-    , gl_TEXTURE_STENCIL_SIZE_EXT
-    , gl_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT
-    , gl_VIEW_CLASS_BPTC_FLOAT
-    , gl_TEXTURE_CLIPMAP_DEPTH_SGIX
-    , gl_CONVOLUTION_HEIGHT_EXT
-    , gl_OVERLAY_NV
-    , gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
-    , gl_INTENSITY32I_EXT
-    , gl_TRACK_MATRIX_TRANSFORM_NV
-    , gl_MAX_SAMPLE_MASK_WORDS
-    , gl_DYNAMIC_COPY
-    , gl_EVAL_VERTEX_ATTRIB11_NV
-    , gl_MULTIPLY_KHR
-    , gl_FRAMEBUFFER_UNDEFINED
-    , gl_RECT_NV
-    , gl_MAX_FRAMEBUFFER_WIDTH
-    , gl_RG8_SNORM
-    , gl_VIEWPORT_INDEX_PROVOKING_VERTEX
-    , gl_PACK_IMAGE_HEIGHT
-    , gl_STENCIL_BACK_VALUE_MASK
-    , gl_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB
-    , gl_INT16_VEC3_NV
-    , gl_MAT_COLOR_INDEXES_BIT_PGI
-    , gl_CON_2_ATI
-    , gl_UNKNOWN_CONTEXT_RESET_EXT
-    , gl_DT_SCALE_NV
-    , gl_ARRAY_BUFFER
-    , gl_DRAW_BUFFER3_EXT
-    , gl_TEXTURE_LIGHT_EXT
-    , gl_LINE_WIDTH_RANGE
-    , gl_TEXTURE_BIT
-    , gl_MAX_CLIP_DISTANCES_APPLE
-    , gl_COLOR_TABLE_INTENSITY_SIZE
-    , gl_EDGE_FLAG_ARRAY_BUFFER_BINDING
-    , gl_COVERAGE_BUFFER_BIT_NV
-    , gl_OP_SUB_EXT
-    , gl_RENDERBUFFER_GREEN_SIZE_EXT
-    , gl_UNSIGNED_INT_SAMPLER_1D_ARRAY
-    , gl_UNSIGNED_INT_SAMPLER_2D_RECT
-    , gl_FASTEST
-    , gl_EXPAND_NEGATE_NV
-    , gl_COUNTER_RANGE_AMD
-    , gl_ZERO
-    , gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT
-    , gl_SECONDARY_COLOR_ARRAY
-    , gl_DEPTH_BOUNDS_TEST_EXT
-    , gl_SCREEN_COORDINATES_REND
-    , gl_VERTEX_ATTRIB_ARRAY_STRIDE
-    , gl_FUNC_SUBTRACT_OES
-    , gl_TEXTURE29
-    , gl_PIXEL_TEX_GEN_Q_CEILING_SGIX
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES
-    , gl_COMPRESSED_RGB
-    , gl_MAX_ELEMENTS_VERTICES_EXT
-    , gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV
-    , gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR
-    , gl_UNSIGNED_INT
-    , gl_UNPACK_CMYK_HINT_EXT
-    , gl_ALPHA16
-    , gl_IMAGE_2D_MULTISAMPLE_EXT
-    , gl_TEXTURE_4D_BINDING_SGIS
-    , gl_SUPERSAMPLE_SCALE_Y_NV
-    , gl_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT
-    , gl_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB
-    , gl_QUERY_RESULT_AVAILABLE
-    , gl_COMBINE
-    , gl_UNSIGNED_SHORT_15_1_MESA
-    , gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT
-    , gl_FRAMEBUFFER_SRGB
-    , gl_COLOR_RENDERABLE
-    , gl_BLEND_SRC_ALPHA_EXT
-    , gl_SOURCE2_ALPHA
-    , gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS
-    , gl_COMBINER7_NV
-    , gl_MAX_COLOR_MATRIX_STACK_DEPTH_SGI
-    , gl_FORCE_BLUE_TO_ONE_NV
-    , gl_COLOR_ATTACHMENT4_NV
-    , gl_UNPACK_SWAP_BYTES
-    , gl_DOUBLE_MAT3x4
-    , gl_COLOR_ATTACHMENT9
-    , gl_LUMINANCE8_ALPHA8_OES
-    , gl_OPERAND1_RGB_EXT
-    , gl_DOUBLE_VEC3
-    , gl_MATRIX1_NV
-    , gl_AND_INVERTED
-    , gl_POINT_SIZE_ARRAY_STRIDE_OES
-    , gl_WEIGHT_ARRAY_OES
-    , gl_TEXTURE7
-    , gl_MAP_READ_BIT
-    , gl_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL
-    , gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT
-    , gl_GENERATE_MIPMAP
-    , gl_SPOT_CUTOFF
-    , gl_TRANSPOSE_PROGRAM_MATRIX_EXT
-    , gl_ORDER
-    , gl_TEXTURE_GEN_T
-    , gl_MAX_SERVER_WAIT_TIMEOUT
-    , gl_REPLACE_OLDEST_SUN
-    , gl_PATH_DASH_ARRAY_COUNT_NV
-    , gl_VIEWPORT_BOUNDS_RANGE_NV
-    , gl_NEGATIVE_W_EXT
-    , gl_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT
-    , gl_VERTEX_SHADER_LOCALS_EXT
-    , gl_TEXTURE_1D_ARRAY
-    , gl_VIEWPORT_INDEX_PROVOKING_VERTEX_NV
-    , gl_RENDERBUFFER_SAMPLES_IMG
-    , gl_MAX_PROGRAM_NATIVE_ATTRIBS_ARB
-    , gl_INVERSE_TRANSPOSE_NV
-    , gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT
-    , gl_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV
-    , gl_ACTIVE_VARYINGS_NV
-    , gl_SPRITE_SGIX
-    , gl_LUMINANCE4_ALPHA4
-    , gl_TEXTURE_LOD_BIAS_EXT
-    , gl_REPLACEMENT_CODE_ARRAY_POINTER_SUN
-    , gl_COMPRESSED_RGBA_ASTC_10x8_KHR
-    , gl_DST_OUT_NV
-    , gl_VERTEX_SHADER_INVARIANTS_EXT
-    , gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV
-    , gl_SRC1_ALPHA
-    , gl_UNSIGNED_INT_8_8_8_8_EXT
-    , gl_NAMED_STRING_LENGTH_ARB
-    , gl_READ_BUFFER_EXT
-    , gl_STENCIL_INDEX8_EXT
-    , gl_ACTIVE_VERTEX_UNITS_ARB
-    , gl_INT_IMAGE_2D_ARRAY
-    , gl_SELECT
-    , gl_PROGRAM_NATIVE_TEMPORARIES_ARB
-    , gl_PN_TRIANGLES_POINT_MODE_LINEAR_ATI
-    , gl_TEXTURE18_ARB
-    , gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI
-    , gl_PROGRAM_RESULT_COMPONENTS_NV
-    , gl_DIFFERENCE_KHR
-    , gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT
-    , gl_MAX_ASYNC_READ_PIXELS_SGIX
-    , gl_FLOAT_MAT2x3_NV
-    , gl_AUX_BUFFERS
-    , gl_POST_COLOR_MATRIX_BLUE_SCALE_SGI
-    , gl_ALPHA_FLOAT32_ATI
-    , gl_TIMEOUT_IGNORED_APPLE
-    , gl_STENCIL_INDEX16_EXT
-    , gl_CURRENT_RASTER_NORMAL_SGIX
-    , gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER
-    , gl_PIXEL_SUBSAMPLE_4444_SGIX
-    , gl_CLAMP_TO_BORDER_NV
-    , gl_INT16_VEC2_NV
-    , gl_IMAGE_2D
-    , gl_BLEND_DST_ALPHA_OES
-    , gl_DRAW_BUFFER12_EXT
-    , gl_DEBUG_TYPE_MARKER
-    , gl_FLOAT_MAT3x4
-    , gl_ADD_ATI
-    , gl_UNSIGNED_INT_IMAGE_1D_ARRAY
-    , gl_EVAL_VERTEX_ATTRIB13_NV
-    , gl_TRACE_NAME_MESA
-    , gl_UNPACK_PREMULTIPLY_ALPHA_WEBGL
-    , gl_T2F_N3F_V3F
-    , gl_COMPRESSED_SLUMINANCE_ALPHA
-    , gl_PIXEL_MAP_G_TO_G
-    , gl_FOG
-    , gl_WRITE_PIXEL_DATA_RANGE_POINTER_NV
-    , gl_COMPRESSED_RGB_PVRTC_2BPPV1_IMG
-    , gl_INVERT
-    , gl_MATRIX_INDEX_ARRAY_STRIDE_ARB
-    , gl_TEXTURE_CLIPMAP_CENTER_SGIX
-    , gl_VERTEX_WEIGHTING_EXT
-    , gl_INTERLEAVED_ATTRIBS_NV
-    , gl_REG_18_ATI
-    , gl_MODELVIEW20_ARB
-    , gl_STANDARD_FONT_FORMAT_NV
-    , gl_SHADER_STORAGE_BUFFER_BINDING
-    , gl_MIN_SAMPLE_SHADING_VALUE
-    , gl_MAP2_GRID_DOMAIN
-    , gl_MATRIX6_NV
-    , gl_LOSE_CONTEXT_ON_RESET
-    , gl_COPY_READ_BUFFER_NV
-    , gl_PIXEL_TILE_CACHE_SIZE_SGIX
-    , gl_FEEDBACK_BUFFER_SIZE
-    , gl_CLAMP_TO_EDGE
-    , gl_COLOR_INDEX16_EXT
-    , gl_QUERY_COUNTER_BITS
-    , gl_TEXTURE_FREE_MEMORY_ATI
-    , gl_INT64_NV
-    , gl_MAX_TESS_CONTROL_INPUT_COMPONENTS
-    , gl_TEXTURE_VIEW_MIN_LEVEL_EXT
-    , gl_SELECTION_BUFFER_SIZE
-    , gl_POLYGON_TOKEN
-    , gl_BLEND_PREMULTIPLIED_SRC_NV
-    , gl_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG
-    , gl_FRONT_FACE
-    , gl_TEXTURE_COORD_ARRAY_EXT
-    , gl_ALPHA12_EXT
-    , gl_RELATIVE_ROUNDED_RECT4_NV
-    , gl_COLOR_ATTACHMENT5_EXT
-    , gl_COLOR_ENCODING
-    , gl_DEPTH_COMPONENT16_SGIX
-    , gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV
-    , gl_SECONDARY_COLOR_ARRAY_STRIDE
-    , gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX
-    , gl_TEXTURE12_ARB
-    , gl_DEBUG_SEVERITY_MEDIUM_KHR
-    , gl_MAX_DEPTH
-    , gl_VERTEX_ATTRIB_ARRAY_DIVISOR_NV
-    , gl_SURFACE_REGISTERED_NV
-    , gl_SPARSE_STORAGE_BIT_ARB
-    , gl_TEXTURE_COORD_ARRAY_SIZE
-    , gl_COPY_PIXEL_TOKEN
-    , gl_T2F_IUI_N3F_V3F_EXT
-    , gl_PROGRAM_POINT_SIZE_EXT
-    , gl_TEXTURE_MEMORY_LAYOUT_INTEL
-    , gl_RGBA8_SNORM
-    , gl_TEXTURE_ENV_BIAS_SGIX
-    , gl_RGB32I_EXT
-    , gl_INT_SAMPLER_1D_ARRAY
-    , gl_FRAMEBUFFER_UNSUPPORTED
-    , gl_ACTIVE_UNIFORM_MAX_LENGTH
-    , gl_RGB32F_EXT
-    , gl_MAX_CUBE_MAP_TEXTURE_SIZE_ARB
-    , gl_SHADER_IMAGE_ATOMIC
-    , gl_FRAMEBUFFER_COMPLETE
-    , gl_MAX_PALETTE_MATRICES_OES
-    , gl_VIRTUAL_PAGE_SIZE_X_AMD
-    , gl_PATH_MAX_PROJECTION_STACK_DEPTH_NV
-    , gl_TEXTURE26_ARB
-    , gl_MAX_VIEWPORTS
-    , gl_IMAGE_CUBE_EXT
-    , gl_TEXTURE_BINDING_CUBE_MAP_ARRAY
-    , gl_TEXTURE_BINDING_1D_ARRAY
-    , gl_STENCIL_WRITEMASK
-    , gl_LOGIC_OP
-    , gl_DEBUG_SEVERITY_LOW_AMD
-    , gl_QUAD_LUMINANCE8_SGIS
-    , gl_GEOMETRY_LINKED_INPUT_TYPE_EXT
-    , gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB
-    , gl_MAX_VERTEX_IMAGE_UNIFORMS
-    , gl_SAMPLER_CUBE_MAP_ARRAY_EXT
-    , gl_PATH_COMPUTED_LENGTH_NV
-    , gl_FIXED_ONLY
-    , gl_UNPACK_RESAMPLE_SGIX
-    , gl_NUM_SHADER_BINARY_FORMATS
-    , gl_TEXTURE6
-    , gl_TEXTURE_IMAGE_TYPE
-    , gl_COMBINER_AB_OUTPUT_NV
-    , gl_COMPRESSED_ALPHA_ARB
-    , gl_VARIABLE_E_NV
-    , gl_MAX_TEXTURE_BUFFER_SIZE_EXT
-    , gl_RENDERBUFFER_GREEN_SIZE_OES
-    , gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET
-    , gl_PERFQUERY_COUNTER_RAW_INTEL
-    , gl_SMAPHS30_PROGRAM_BINARY_DMP
-    , gl_GENERATE_MIPMAP_SGIS
-    , gl_PROXY_HISTOGRAM
-    , gl_BACK_NORMALS_HINT_PGI
-    , gl_TEXTURE_RESIDENT_EXT
-    , gl_INT_IMAGE_2D_MULTISAMPLE_EXT
-    , gl_SRGB_READ
-    , gl_FRAGMENT_PROGRAM_CALLBACK_MESA
-    , gl_FONT_NUM_GLYPH_INDICES_BIT_NV
-    , gl_TEXCOORD4_BIT_PGI
-    , gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE
-    , gl_MAX_COLOR_ATTACHMENTS
-    , gl_DEBUG_TYPE_PUSH_GROUP_KHR
-    , gl_MAX_SAMPLES_IMG
-    , gl_MATRIX_INDEX_ARRAY_SIZE_ARB
-    , gl_FIXED_OES
-    , gl_TEXTURE_COMPRESSED_ARB
-    , gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS
-    , gl_MAX_TEXTURE_COORDS
-    , gl_DEPTH_PASS_INSTRUMENT_SGIX
-    , gl_VERTEX_PROGRAM_BINDING_NV
-    , gl_PATH_STROKE_MASK_NV
-    , gl_RG_EXT
-    , gl_EFFECTIVE_RASTER_SAMPLES_EXT
-    , gl_QUAD_INTENSITY4_SGIS
-    , gl_BINORMAL_ARRAY_TYPE_EXT
-    , gl_MATRIX_INDEX_ARRAY_SIZE_OES
-    , gl_SLIM10U_SGIX
-    , gl_RENDERBUFFER_INTERNAL_FORMAT
-    , gl_MAX_PROGRAM_TEXEL_OFFSET
-    , gl_PIXEL_TRANSFORM_2D_EXT
-    , gl_DRAW_BUFFER15_EXT
-    , gl_UNSIGNED_INT_IMAGE_CUBE_EXT
-    , gl_TEXTURE_CUBE_MAP
-    , gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV
-    , gl_CLIP_NEAR_HINT_PGI
-    , gl_RELATIVE_CUBIC_CURVE_TO_NV
-    , gl_LINEAR_SHARPEN_COLOR_SGIS
-    , gl_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT
-    , gl_MAP2_BINORMAL_EXT
-    , gl_CONTEXT_ROBUST_ACCESS_KHR
-    , gl_EVAL_VERTEX_ATTRIB12_NV
-    , gl_TRIANGULAR_NV
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR
-    , gl_SHADER_COMPILER
-    , gl_READ_FRAMEBUFFER_ANGLE
-    , gl_TEXTURE1_ARB
-    , gl_MATRIX5_ARB
-    , gl_TOP_LEVEL_ARRAY_STRIDE
-    , gl_FRAGMENT_LIGHT4_SGIX
-    , gl_MAX_CONVOLUTION_WIDTH
-    , gl_COLOR_TABLE_BLUE_SIZE
-    , gl_VIDEO_CAPTURE_FRAME_HEIGHT_NV
-    , gl_LIGHT1
-    , gl_MODELVIEW29_ARB
-    , gl_HISTOGRAM_ALPHA_SIZE_EXT
-    , gl_NUM_EXTENSIONS
-    , gl_VERTEX_SUBROUTINE
-    , gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT
-    , gl_RGBA32F
-    , gl_DEPTH_BUFFER_BIT7_QCOM
-    , gl_TEXTURE_BINDING_RENDERBUFFER_NV
-    , gl_ALPHA_SNORM
-    , gl_PROGRAM_OUTPUT
-    , gl_C4UB_V3F
-    , gl_CLEAR
-    , gl_INTERNALFORMAT_DEPTH_SIZE
-    , gl_ACTIVE_VARIABLES
-    , gl_TEXTURE17_ARB
-    , gl_SAMPLES_ARB
-    , gl_INDEX_TEST_FUNC_EXT
-    , gl_MAX_SAMPLES
-    , gl_DUAL_INTENSITY12_SGIS
-    , gl_TEXTURE_DEFORMATION_BIT_SGIX
-    , gl_COMBINER0_NV
-    , gl_MAX_ACTIVE_LIGHTS_SGIX
-    , gl_DSDT8_MAG8_NV
-    , gl_SAMPLE_COVERAGE_VALUE_ARB
-    , gl_PIXEL_MAP_I_TO_A_SIZE
-    , gl_FONT_ASCENDER_BIT_NV
-    , gl_MATRIX_STRIDE
-    , gl_COMPILE_STATUS
-    , gl_MAX_MODELVIEW_STACK_DEPTH
-    , gl_POST_COLOR_MATRIX_ALPHA_BIAS_SGI
-    , gl_OP_FRAC_EXT
-    , gl_MATRIX2_NV
-    , gl_IMAGE_2D_RECT_EXT
-    , gl_MATRIX21_ARB
-    , gl_EVAL_VERTEX_ATTRIB8_NV
-    , gl_UNSIGNED_INT16_VEC2_NV
-    , gl_OPERAND2_RGB_EXT
-    , gl_FRAGMENT_SHADER_DERIVATIVE_HINT
-    , gl_BUFFER_MAPPED_ARB
-    , gl_CLAMP
-    , gl_MATRIX16_ARB
-    , gl_MAX_VERTEX_SHADER_LOCALS_EXT
-    , gl_MAX_COMBINED_IMAGE_UNIFORMS
-    , gl_MODELVIEW26_ARB
-    , gl_VERTEX_ATTRIB_ARRAY_UNIFIED_NV
-    , gl_DEPTH_TEST
-    , gl_CURRENT_BINORMAL_EXT
-    , gl_BEVEL_NV
-    , gl_ALPHA4
-    , gl_FRAGMENT_ALPHA_MODULATE_IMG
-    , gl_BOOL_VEC2
-    , gl_TEXTURE21
-    , gl_RED_MIN_CLAMP_INGR
-    , gl_PN_TRIANGLES_ATI
-    , gl_PATH_STROKE_WIDTH_NV
-    , gl_SPOT_DIRECTION
-    , gl_FOG_COORD_ARRAY_BUFFER_BINDING
-    , gl_TEXTURE_COMPONENTS
-    , gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT
-    , gl_RGBA16
-    , gl_TEXTURE_BUFFER_DATA_STORE_BINDING
-    , gl_FRAME_NV
-    , gl_SEPARATE_SPECULAR_COLOR
-    , gl_DRAW_BUFFER0_ARB
-    , gl_HSL_SATURATION_NV
-    , gl_DRAW_BUFFER4_ARB
-    , gl_VERTEX_ARRAY_LENGTH_NV
-    , gl_PATH_MAX_MODELVIEW_STACK_DEPTH_NV
-    , gl_TEXTURE_HI_SIZE_NV
-    , gl_MAX_WIDTH
-    , gl_MAX_DEBUG_MESSAGE_LENGTH
-    , gl_PIXEL_MAP_I_TO_B_SIZE
-    , gl_LAST_VERTEX_CONVENTION
-    , gl_IMAGE_1D_EXT
-    , gl_VIDEO_BUFFER_BINDING_NV
-    , gl_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB
-    , gl_MAX_EXT
-    , gl_EIGHTH_BIT_ATI
-    , gl_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV
-    , gl_RENDERBUFFER_WIDTH_EXT
-    , gl_SAMPLE_MASK_VALUE_SGIS
-    , gl_ZOOM_Y
-    , gl_PIXEL_MAP_I_TO_A
-    , gl_RGBA32F_EXT
-    , gl_DEBUG_SEVERITY_NOTIFICATION_KHR
-    , gl_ABGR_EXT
-    , gl_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT
-    , gl_NUM_SAMPLE_COUNTS
-    , gl_RENDERBUFFER_FREE_MEMORY_ATI
-    , gl_LINEAR_SHARPEN_ALPHA_SGIS
-    , gl_LINE_TOKEN
-    , gl_DRAW_BUFFER4_NV
-    , gl_VERTEX_PROGRAM_POINT_SIZE
-    , gl_INT_IMAGE_2D_RECT_EXT
-    , gl_QUERY_DEPTH_FAIL_EVENT_BIT_AMD
-    , gl_DEBUG_CALLBACK_FUNCTION
-    , gl_VERTEX_WEIGHT_ARRAY_SIZE_EXT
-    , gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB
-    , gl_INDEX_ARRAY_EXT
-    , gl_OP_RECIP_SQRT_EXT
-    , gl_TEXTURE_IMMUTABLE_LEVELS
-    , gl_SAMPLER_2D_ARRAY_EXT
-    , gl_DUP_FIRST_CUBIC_CURVE_TO_NV
-    , gl_FRAGMENT_DEPTH
-    , gl_PIXEL_TILE_GRID_WIDTH_SGIX
-    , gl_TEXTURE_ENV_COLOR
-    , gl_IMAGE_SCALE_X_HP
-    , gl_FRAMEBUFFER_SRGB_CAPABLE_EXT
-    , gl_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX
-    , gl_FLOAT_RGBA_MODE_NV
-    , gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB
-    , gl_INTENSITY_SNORM
-    , gl_RGB32I
-    , gl_SHARED_EDGE_NV
-    , gl_SECONDARY_COLOR_ARRAY_TYPE
-    , gl_PROJECTION
-    , gl_NORMAL_ARRAY_STRIDE_EXT
-    , gl_MAX_IMAGE_UNITS_EXT
-    , gl_MAX_PROGRAM_GENERIC_ATTRIBS_NV
-    , gl_RETURN
-    , gl_EVAL_VERTEX_ATTRIB0_NV
-    , gl_INVERT_RGB_NV
-    , gl_MAX_3D_TEXTURE_SIZE_EXT
-    , gl_PATH_PROJECTION_STACK_DEPTH_NV
-    , gl_PIXEL_TEX_GEN_MODE_SGIX
-    , gl_RG16_SNORM_EXT
-    , gl_QUERY_WAIT_INVERTED
-    , gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE
-    , gl_TRACE_PIXELS_BIT_MESA
-    , gl_VERTEX_ARRAY_KHR
-    , gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB
-    , gl_RGB_INTEGER_EXT
-    , gl_POST_COLOR_MATRIX_COLOR_TABLE
-    , gl_MAX_CULL_DISTANCES
-    , gl_LINE_BIT
-    , gl_STATE_RESTORE
-    , gl_TEXTURE_BUFFER_FORMAT_ARB
-    , gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT
-    , gl_PROGRAM_BINARY_FORMATS_OES
-    , gl_MAX_DEBUG_LOGGED_MESSAGES_AMD
-    , gl_EDGE_FLAG_ARRAY
-    , gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
-    , gl_MATRIX_INDEX_ARRAY_POINTER_OES
-    , gl_COMPRESSED_RGBA_ASTC_4x4x4_OES
-    , gl_COLOR_ARRAY_BUFFER_BINDING_ARB
-    , gl_MAX_CONVOLUTION_HEIGHT_EXT
-    , gl_COMPRESSED_RGB_ARB
-    , gl_SYNC_FLUSH_COMMANDS_BIT_APPLE
-    , gl_GLYPH_HORIZONTAL_BEARING_X_BIT_NV
-    , gl_MAP1_VERTEX_4
-    , gl_MATRIX_PALETTE_ARB
-    , gl_TEXTURE_3D_BINDING_EXT
-    , gl_TRANSPOSE_PROJECTION_MATRIX_ARB
-    , gl_TEXTURE_MULTI_BUFFER_HINT_SGIX
-    , gl_FUNC_ADD_EXT
-    , gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB
-    , gl_TEXTURE_BORDER_COLOR_EXT
-    , gl_TEXTURE_MATERIAL_FACE_EXT
-    , gl_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV
-    , gl_IMAGE_BINDING_LAYERED_EXT
-    , gl_PIXEL_MAP_A_TO_A_SIZE
-    , gl_VERTEX_SHADER_OPTIMIZED_EXT
-    , gl_MODELVIEW10_ARB
-    , gl_WIDE_LINE_HINT_PGI
-    , gl_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB
-    , gl_MAX_TESS_GEN_LEVEL_EXT
-    , gl_PATH_MITER_LIMIT_NV
-    , gl_DOUBLE_MAT2x3_EXT
-    , gl_DEPTH_EXT
-    , gl_DOT4_ATI
-    , gl_INT64_VEC2_NV
-    , gl_TRIANGLE_STRIP
-    , gl_SAMPLE_MASK_INVERT_SGIS
-    , gl_STATIC_READ_ARB
-    , gl_BUMP_ROT_MATRIX_SIZE_ATI
-    , gl_UNPACK_SKIP_IMAGES
-    , gl_CURRENT_BIT
-    , gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS
-    , gl_DUP_LAST_CUBIC_CURVE_TO_NV
-    , gl_MODELVIEW14_ARB
-    , gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS
-    , gl_TEXTURE_RECTANGLE_NV
-    , gl_EVAL_VERTEX_ATTRIB6_NV
-    , gl_MAX_SPARSE_TEXTURE_SIZE_ARB
-    , gl_TEXTURE_FILTER4_SIZE_SGIS
-    , gl_RENDERBUFFER_COLOR_SAMPLES_NV
-    , gl_PIXEL_PACK_BUFFER_BINDING
-    , gl_R11F_G11F_B10F
-    , gl_DETAIL_TEXTURE_2D_SGIS
-    , gl_BGRA_EXT
-    , gl_COLOR_TABLE_ALPHA_SIZE
-    , gl_COLOR_BUFFER_BIT4_QCOM
-    , gl_RESCALE_NORMAL_EXT
-    , gl_COMPRESSED_SRGB
-    , gl_C4F_N3F_V3F
-    , gl_INT_IMAGE_2D_ARRAY_EXT
-    , gl_PACK_IMAGE_DEPTH_SGIS
-    , gl_VERTEX_ARRAY_RANGE_POINTER_APPLE
-    , gl_GEOMETRY_SHADER
-    , gl_COLOR_TABLE
-    , gl_COVERAGE_BUFFERS_NV
-    , gl_EDGE_FLAG
-    , gl_LINE_SMOOTH
-    , gl_SAMPLER_1D_ARRAY
-    , gl_TEXTURE_COMPRESSED_BLOCK_HEIGHT
-    , gl_PREVIOUS_ARB
-    , gl_PROXY_POST_CONVOLUTION_COLOR_TABLE
-    , gl_RECIP_ADD_SIGNED_ALPHA_IMG
-    , gl_4PASS_2_EXT
-    , gl_ALL_BARRIER_BITS_EXT
-    , gl_TEXTURE_VIEW
-    , gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
-    , gl_RENDERBUFFER_BINDING_OES
-    , gl_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX
-    , gl_COMPRESSED_RED
-    , gl_STATIC_VERTEX_ARRAY_IBM
-    , gl_BLEND_EQUATION_RGB_OES
-    , gl_RGBA16_EXT
-    , gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV
-    , gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS
-    , gl_OUTPUT_TEXTURE_COORD14_EXT
-    , gl_RENDERBUFFER_ALPHA_SIZE_OES
-    , gl_COLOR_TABLE_SCALE
-    , gl_DRAW_BUFFER15
-    , gl_CON_4_ATI
-    , gl_CLIP_DISTANCE2
-    , gl_DEPTH_CLAMP_NV
-    , gl_SRC_IN_NV
-    , gl_RGB8UI
-    , gl_SAMPLER_2D_SHADOW
-    , gl_PIXEL_MAP_R_TO_R_SIZE
-    , gl_MAX_TEXTURE_LOD_BIAS_EXT
-    , gl_INVARIANT_EXT
-    , gl_ATOMIC_COUNTER_BUFFER_BINDING
-    , gl_RGBA8
-    , gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH
-    , gl_FLOAT_MAT4x3_NV
-    , gl_FENCE_CONDITION_NV
-    , gl_COMBINE_ALPHA
-    , gl_RED_BIT_ATI
-    , gl_RENDERBUFFER_SAMPLES_APPLE
-    , gl_ATOMIC_COUNTER_BUFFER_SIZE
-    , gl_R16
-    , gl_UNPACK_COMPRESSED_BLOCK_SIZE
-    , gl_ACTIVE_TEXTURE_ARB
-    , gl_MIRROR_CLAMP_TO_BORDER_EXT
-    , gl_MIXED_DEPTH_SAMPLES_SUPPORTED_NV
-    , gl_RGB16_SNORM
-    , gl_SOURCE0_RGB_ARB
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES
-    , gl_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD
-    , gl_VIBRANCE_SCALE_NV
-    , gl_MATRIX_INDEX_ARRAY_ARB
-    , gl_BLEND_SRC_ALPHA_OES
-    , gl_DEBUG_SOURCE_SHADER_COMPILER
-    , gl_MIXED_STENCIL_SAMPLES_SUPPORTED_NV
-    , gl_TEXTURE_3D_BINDING_OES
-    , gl_IMAGE_TEXEL_SIZE
-    , gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY
-    , gl_TEXTURE_HEIGHT_QCOM
-    , gl_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX
-    , gl_ACCUM_BUFFER_BIT
-    , gl_SECONDARY_COLOR_ARRAY_LIST_IBM
-    , gl_MODELVIEW2_ARB
-    , gl_ACTIVE_PROGRAM
-    , gl_INNOCENT_CONTEXT_RESET_EXT
-    , gl_GCCSO_SHADER_BINARY_FJ
-    , gl_STACK_UNDERFLOW
-    , gl_REG_13_ATI
-    , gl_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA
-    , gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT
-    , gl_USE_MISSING_GLYPH_NV
-    , gl_LINES
-    , gl_ROUNDED_RECT4_NV
-    , gl_RGB_SCALE_EXT
-    , gl_FONT_X_MAX_BOUNDS_BIT_NV
-    , gl_DOT_PRODUCT_TEXTURE_RECTANGLE_NV
-    , gl_MODELVIEW
-    , gl_TEXTURE_LOD_BIAS_T_SGIX
-    , gl_MAX_DEBUG_LOGGED_MESSAGES_ARB
-    , gl_SECONDARY_COLOR_ARRAY_TYPE_EXT
-    , gl_SAMPLES_PASSED
-    , gl_COLOR_COMPONENTS
-    , gl_PREFER_DOUBLEBUFFER_HINT_PGI
-    , gl_COLOR_BUFFER_BIT0_QCOM
-    , gl_INTENSITY_FLOAT16_ATI
-    , gl_PACK_CMYK_HINT_EXT
-    , gl_DRAW_BUFFER9_ATI
-    , gl_SOURCE1_RGB_EXT
-    , gl_FONT_MAX_ADVANCE_WIDTH_BIT_NV
-    , gl_ELEMENT_ARRAY_TYPE_APPLE
-    , gl_PACK_SKIP_VOLUMES_SGIS
-    , gl_LUMINANCE8_ALPHA8_SNORM
-    , gl_MAX_GEOMETRY_SHADER_INVOCATIONS
-    , gl_SAMPLER_2D_ARRAY_SHADOW_NV
-    , gl_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR
-    , gl_SAMPLE_COVERAGE_INVERT_ARB
-    , gl_FONT_X_MIN_BOUNDS_BIT_NV
-    , gl_INDEX_ARRAY_BUFFER_BINDING_ARB
-    , gl_CONVOLUTION_FILTER_BIAS_EXT
-    , gl_VERTEX_STATE_PROGRAM_NV
-    , gl_CURRENT_COLOR
-    , gl_SAMPLER_2D_ARRAY_SHADOW
-    , gl_CURRENT_MATRIX_INDEX_ARB
-    , gl_SET
-    , gl_PACK_ALIGNMENT
-    , gl_PROGRAM_POINT_SIZE
-    , gl_2PASS_0_EXT
-    , gl_NORMAL_ARRAY
-    , gl_PACK_MAX_COMPRESSED_SIZE_SGIX
-    , gl_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI
-    , gl_UNSIGNED_INT_IMAGE_3D_EXT
-    , gl_COMBINER_COMPONENT_USAGE_NV
-    , gl_CLAMP_TO_BORDER_EXT
-    , gl_DEPTH24_STENCIL8_EXT
-    , gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV
-    , gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
-    , gl_MAX_FRAGMENT_INTERPOLATION_OFFSET
-    , gl_UNSIGNED_INT16_VEC3_NV
-    , gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
-    , gl_MODELVIEW11_ARB
-    , gl_DUAL_TEXTURE_SELECT_SGIS
-    , gl_PROXY_TEXTURE_3D_EXT
-    , gl_FRAGMENT_LIGHT6_SGIX
-    , gl_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT
-    , gl_DEPTH_STENCIL
-    , gl_DEBUG_SOURCE_THIRD_PARTY
-    , gl_EYE_POINT_SGIS
-    , gl_HILO16_NV
-    , gl_CLEAR_TEXTURE
-    , gl_INTENSITY_FLOAT16_APPLE
-    , gl_TEXTURE_FORMAT_QCOM
-    , gl_VERTEX_PROGRAM_NV
-    , gl_IMAGE_PIXEL_FORMAT
-    , gl_COMPRESSED_LUMINANCE_ARB
-    , gl_MAX_TESS_PATCH_COMPONENTS
-    , gl_READ_PIXEL_DATA_RANGE_NV
-    , gl_MAX_FRAGMENT_ATOMIC_COUNTERS
-    , gl_LAYOUT_DEFAULT_INTEL
-    , gl_WEIGHT_ARRAY_POINTER_ARB
-    , gl_GENERIC_ATTRIB_NV
-    , gl_MAX_FRAGMENT_UNIFORM_BLOCKS
-    , gl_ALPHA_MAX_CLAMP_INGR
-    , gl_TRANSPOSE_AFFINE_2D_NV
-    , gl_CUBIC_CURVE_TO_NV
-    , gl_VERTEX_ARRAY_ADDRESS_NV
-    , gl_AUTO_GENERATE_MIPMAP
-    , gl_TEXTURE_COORD_ARRAY_LENGTH_NV
-    , gl_OP_MUL_EXT
-    , gl_EVAL_VERTEX_ATTRIB5_NV
-    , gl_REPLACE
-    , gl_CON_10_ATI
-    , gl_TEXTURE_SHADOW
-    , gl_MAX_PROGRAM_LOOP_DEPTH_NV
-    , gl_TEXTURE_OBJECT_VALID_QCOM
-    , gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT
-    , gl_IMAGE_BINDING_NAME_EXT
-    , gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS
-    , gl_NEGATIVE_ONE_TO_ONE
-    , gl_ALPHA_MIN_SGIX
-    , gl_VERTICES_SUBMITTED_ARB
-    , gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT
-    , gl_UNPACK_SKIP_ROWS_EXT
-    , gl_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT
-    , gl_MODELVIEW19_ARB
-    , gl_BACK_RIGHT
-    , gl_PERFQUERY_DONOT_FLUSH_INTEL
-    , gl_ALPHA16F_EXT
-    , gl_LOSE_CONTEXT_ON_RESET_KHR
-    , gl_PIXEL_MAP_B_TO_B
-    , gl_VIEWPORT
-    , gl_DETAIL_TEXTURE_MODE_SGIS
-    , gl_PROGRAMMABLE_SAMPLE_LOCATION_NV
-    , gl_STENCIL_BACK_FUNC_ATI
-    , gl_UNIFORM_SIZE
-    , gl_RGBA_INTEGER
-    , gl_MATRIX17_ARB
-    , gl_MAX_TEXTURE_BUFFER_SIZE_ARB
-    , gl_DEBUG_OUTPUT_KHR
-    , gl_INTENSITY8_SNORM
-    , gl_TEXTURE_WIDTH
-    , gl_UNSIGNED_INT_IMAGE_1D_EXT
-    , gl_MAX_SPARSE_TEXTURE_SIZE_AMD
-    , gl_POLYGON
-    , gl_REG_10_ATI
-    , gl_INCR
-    , gl_CONSTANT_ALPHA_EXT
-    , gl_QUAD_ALPHA8_SGIS
-    , gl_MAP1_GRID_SEGMENTS
-    , gl_VIEW_CLASS_BPTC_UNORM
-    , gl_CON_28_ATI
-    , gl_VERTEX_ATTRIB_MAP2_SIZE_APPLE
-    , gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE
-    , gl_ATC_RGBA_EXPLICIT_ALPHA_AMD
-    , gl_TEXTURE_BUFFER_SIZE_EXT
-    , gl_ONE_EXT
-    , gl_TEXTURE_COLOR_TABLE_SGI
-    , gl_CONTINUOUS_AMD
-    , gl_BUMP_TEX_UNITS_ATI
-    , gl_ALL_SHADER_BITS
-    , gl_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM
-    , gl_NUM_VIRTUAL_PAGE_SIZES_ARB
-    , gl_MAX_COMPUTE_WORK_GROUP_COUNT
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES
-    , gl_FLOAT_RGBA16_NV
-    , gl_CONST_EYE_NV
-    , gl_DRAW_INDIRECT_ADDRESS_NV
-    , gl_NORMAL_ARRAY_POINTER_EXT
-    , gl_ALWAYS
-    , gl_CLIP_PLANE3_IMG
-    , gl_REG_0_ATI
-    , gl_DUAL_INTENSITY8_SGIS
-    , gl_COMPARE_REF_TO_TEXTURE
-    , gl_FRAMEBUFFER_UNSUPPORTED_EXT
-    , gl_STENCIL_BUFFER_BIT6_QCOM
-    , gl_PIXEL_UNPACK_BUFFER
-    , gl_UNSIGNED_INT_8_8_8_8
-    , gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT
-    , gl_INDEX_LOGIC_OP
-    , gl_TEXTURE_LUMINANCE_TYPE
-    , gl_STENCIL_EXT
-    , gl_VERTEX_ARRAY_RANGE_LENGTH_NV
-    , gl_RGBA16I
-    , gl_DEPTH_CLAMP_NEAR_AMD
-    , gl_PACK_ROW_BYTES_APPLE
-    , gl_FRAGMENT_TEXTURE
-    , gl_UNPACK_SKIP_PIXELS
-    , gl_COLOR_TABLE_SCALE_SGI
-    , gl_COMPRESSED_SIGNED_RG11_EAC
-    , gl_TEXTURE_VIEW_MIN_LAYER_EXT
-    , gl_REFLECTION_MAP
-    , gl_AUTO_NORMAL
-    , gl_MIN_EXT
-    , gl_POST_CONVOLUTION_BLUE_SCALE_EXT
-    , gl_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL
-    , gl_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP
-    , gl_DUAL_INTENSITY16_SGIS
-    , gl_MAX_CUBE_MAP_TEXTURE_SIZE
-    , gl_UNIFORM_BUFFER_SIZE
-    , gl_RGBA16F
-    , gl_CLIP_DISTANCE5
-    , gl_NUM_FRAGMENT_REGISTERS_ATI
-    , gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER
-    , gl_SAMPLE_COVERAGE_INVERT
-    , gl_MAX_ELEMENTS_INDICES
-    , gl_EVAL_VERTEX_ATTRIB1_NV
-    , gl_MIRROR_CLAMP_TO_EDGE_EXT
-    , gl_MAX_DEBUG_MESSAGE_LENGTH_KHR
-    , gl_TEXTURE_COORD_ARRAY_TYPE
-    , gl_SINGLE_COLOR
-    , gl_RESAMPLE_REPLICATE_SGIX
-    , gl_SAMPLER_CUBE_SHADOW_EXT
-    , gl_COLOR_ATTACHMENT4_EXT
-    , gl_TEXTURE_MAX_ANISOTROPY_EXT
-    , gl_INTERLACE_OML
-    , gl_EYE_LINEAR_NV
-    , gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR
-    , gl_TEXTURE_TARGET
-    , gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV
-    , gl_LINE_STIPPLE_PATTERN
-    , gl_VERTEX_ATTRIB_ARRAY14_NV
-    , gl_COMPRESSED_SRGB_EXT
-    , gl_DRAW_BUFFER13_NV
-    , gl_BUFFER_USAGE
-    , gl_OPERAND2_ALPHA
-    , gl_TESS_EVALUATION_SUBROUTINE
-    , gl_UNSIGNED_INT_24_8_OES
-    , gl_QUERY_OBJECT_EXT
-    , gl_INCR_WRAP_EXT
-    , gl_SRC_OVER_NV
-    , gl_UNSIGNED_INT_10F_11F_11F_REV
-    , gl_PROGRAM_PIPELINE_OBJECT_EXT
-    , gl_CON_23_ATI
-    , gl_TRANSFORM_FEEDBACK_BUFFER_START_NV
-    , gl_DEPTH_COMPONENT16_OES
-    , gl_MAP1_VERTEX_ATTRIB10_4_NV
-    , gl_PROGRAM_TEMPORARIES_ARB
-    , gl_DEBUG_OUTPUT_SYNCHRONOUS
-    , gl_SAMPLE_COVERAGE_VALUE
-    , gl_FLOAT_RGB32_NV
-    , gl_REG_2_ATI
-    , gl_LOGIC_OP_MODE
-    , gl_STENCIL_BITS
-    , gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB
-    , gl_MAX_FRAGMENT_LIGHTS_SGIX
-    , gl_RGB_SNORM
-    , gl_RESAMPLE_AVERAGE_OML
-    , gl_TEXTURE5_ARB
-    , gl_OFFSET_TEXTURE_SCALE_NV
-    , gl_TEXTURE0
-    , gl_RGB12_EXT
-    , gl_OBJECT_LINEAR
-    , gl_EXP
-    , gl_INTERLEAVED_ATTRIBS_EXT
-    , gl_PRIMITIVES_GENERATED_NV
-    , gl_MAX_MULTISAMPLE_COVERAGE_MODES_NV
-    , gl_SAMPLER_2D_RECT_SHADOW
-    , gl_TEXTURE_VIEW_NUM_LEVELS
-    , gl_ALPHA32I_EXT
-    , gl_MAX_GEOMETRY_UNIFORM_BLOCKS
-    , gl_MAX_PROGRAM_ADDRESS_REGISTERS_ARB
-    , gl_SWIZZLE_STQ_ATI
-    , gl_RENDERBUFFER_SAMPLES
-    , gl_SYNC_CL_EVENT_COMPLETE_ARB
-    , gl_PRESENT_DURATION_NV
-    , gl_ACTIVE_SUBROUTINES
-    , gl_PATH_STENCIL_REF_NV
-    , gl_VERTEX_ATTRIB_RELATIVE_OFFSET
-    , gl_GEOMETRY_INPUT_TYPE
-    , gl_CURRENT_MATRIX_NV
-    , gl_POST_TEXTURE_FILTER_SCALE_SGIX
-    , gl_DRAW_FRAMEBUFFER
-    , gl_OBJECT_POINT_SGIS
-    , gl_STENCIL_BACK_WRITEMASK
-    , gl_UNSIGNED_INT64_VEC4_NV
-    , gl_VERTEX_ARRAY_STRIDE_EXT
-    , gl_TEXTURE_ALPHA_MODULATE_IMG
-    , gl_OP_FLOOR_EXT
-    , gl_TYPE
-    , gl_OP_MULTIPLY_MATRIX_EXT
-    , gl_RESAMPLE_ZERO_FILL_SGIX
-    , gl_BOOL
-    , gl_UNSIGNED_SHORT_5_5_5_1
-    , gl_DEBUG_SOURCE_OTHER
-    , gl_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV
-    , gl_MULTISAMPLE_BUFFER_BIT1_QCOM
-    , gl_ROUNDED_RECT_NV
-    , gl_RGB4_S3TC
-    , gl_MAX_PROGRAM_MATRICES_ARB
-    , gl_PATH_GEN_MODE_NV
-    , gl_DRAW_BUFFER0_ATI
-    , gl_MAX_TEXTURE_COORDS_ARB
-    , gl_RGBA32I_EXT
-    , gl_IMPLEMENTATION_COLOR_READ_FORMAT
-    , gl_COLOR_INDEX1_EXT
-    , gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB
-    , gl_STATIC_COPY
-    , gl_NORMAL_MAP_OES
-    , gl_COLOR_ATTACHMENT5
-    , gl_SRGB8_NV
-    , gl_MAX_4D_TEXTURE_SIZE_SGIS
-    , gl_COLOR_ATTACHMENT_EXT
-    , gl_STENCIL_BUFFER_BIT5_QCOM
-    , gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER
-    , gl_INVALID_FRAMEBUFFER_OPERATION
-    , gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS
-    , gl_DEBUG_SOURCE_API_ARB
-    , gl_NEGATE_BIT_ATI
-    , gl_DRAW_BUFFER10_ATI
-    , gl_UNSIGNED_SHORT_5_5_5_1_EXT
-    , gl_ELEMENT_ARRAY_UNIFIED_NV
-    , gl_TEXTURE_COORD_ARRAY
-    , gl_MODELVIEW31_ARB
-    , gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN
-    , gl_FRAGMENT_COLOR_EXT
-    , gl_CULL_VERTEX_EXT
-    , gl_CLIENT_PIXEL_STORE_BIT
-    , gl_BYTE
-    , gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS
-    , gl_TRANSPOSE_NV
-    , gl_AUX1
-    , gl_TEXTURE_SAMPLES
-    , gl_DEPTH_COMPONENT16
-    , gl_GUILTY_CONTEXT_RESET_ARB
-    , gl_DRAW_FRAMEBUFFER_BINDING_EXT
-    , gl_PROGRAM_ERROR_STRING_NV
-    , gl_COLOR_ATTACHMENT8_EXT
-    , gl_DEPTH_COMPONENT24_ARB
-    , gl_COLOR_LOGIC_OP
-    , gl_DEPTH_COMPONENT24
-    , gl_BACK_LEFT
-    , gl_DRAW_BUFFER15_ARB
-    , gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT
-    , gl_TRANSFORM_FEEDBACK_BINDING
-    , gl_TESS_GEN_SPACING_EXT
-    , gl_OVERLAY_KHR
-    , gl_PACK_COMPRESSED_SIZE_SGIX
-    , gl_VERTEX_PRECLIP_HINT_SGIX
-    , gl_UNIFORM_BUFFER
-    , gl_PARALLEL_ARRAYS_INTEL
-    , gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT
-    , gl_NORMAL_ARRAY_BUFFER_BINDING_ARB
-    , gl_COMPRESSED_RGBA_ASTC_5x5x4_OES
-    , gl_MAP1_VERTEX_ATTRIB11_4_NV
-    , gl_BUFFER_STORAGE_FLAGS
-    , gl_FIXED_ONLY_ARB
-    , gl_COMPUTE_SHADER_INVOCATIONS_ARB
-    , gl_PROGRAM_TEX_INSTRUCTIONS_ARB
-    , gl_IMAGE_BINDING_LAYER_EXT
-    , gl_INTERNALFORMAT_GREEN_SIZE
-    , gl_LOW_INT
-    , gl_TEXTURE16_ARB
-    , gl_MAX_COMBINED_UNIFORM_BLOCKS
-    , gl_MATRIX3_NV
-    , gl_DOUBLE_MAT3_EXT
-    , gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT
-    , gl_READ_WRITE_ARB
-    , gl_PIXEL_TILE_BEST_ALIGNMENT_SGIX
-    , gl_COLOR_SAMPLES_NV
-    , gl_POST_CONVOLUTION_BLUE_SCALE
-    , gl_MVP_MATRIX_EXT
-    , gl_POINT_SPRITE_COORD_ORIGIN
-    , gl_VERTEX_STREAM1_ATI
-    , gl_DRAW_BUFFER5_ARB
-    , gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES
-    , gl_VERTEX_ATTRIB_ARRAY3_NV
-    , gl_MATRIX24_ARB
-    , gl_OP_MIN_EXT
-    , gl_EMBOSS_MAP_NV
-    , gl_IMAGE_ROTATE_ANGLE_HP
-    , gl_CONVOLUTION_HINT_SGIX
-    , gl_DOUBLE_VEC2_EXT
-    , gl_VARIANT_ARRAY_TYPE_EXT
-    , gl_FRACTIONAL_ODD
-    , gl_OBJECT_ACTIVE_ATTRIBUTES_ARB
-    , gl_OUTPUT_TEXTURE_COORD23_EXT
-    , gl_PATH_COORD_COUNT_NV
-    , gl_IMAGE_CLASS_1_X_8
-    , gl_SRGB8
-    , gl_HISTOGRAM_WIDTH_EXT
-    , gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS
-    , gl_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB
-    , gl_CON_7_ATI
-    , gl_INTENSITY16UI_EXT
-    , gl_NAME_STACK_DEPTH
-    , gl_DOUBLE
-    , gl_RGBA_INTEGER_EXT
-    , gl_PATH_FOG_GEN_MODE_NV
-    , gl_FAILURE_NV
-    , gl_POSITION
-    , gl_BLEND_EQUATION_ALPHA_OES
-    , gl_SAMPLER_CUBE_MAP_ARRAY_ARB
-    , gl_DRAW_BUFFER2_NV
-    , gl_DYNAMIC_STORAGE_BIT
-    , gl_MIN_MAP_BUFFER_ALIGNMENT
-    , gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER
-    , gl_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD
-    , gl_COMPRESSED_RGBA_ASTC_4x4x3_OES
-    , gl_RELATIVE_VERTICAL_LINE_TO_NV
-    , gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES
-    , gl_LUMINANCE_ALPHA_FLOAT32_ATI
-    , gl_RGBA16UI_EXT
-    , gl_MAP2_VERTEX_ATTRIB3_4_NV
-    , gl_LOCAL_CONSTANT_DATATYPE_EXT
-    , gl_UNPACK_IMAGE_HEIGHT_EXT
-    , gl_LIGHT_MODEL_TWO_SIDE
-    , gl_FOG_MODE
-    , gl_COLOR4_BIT_PGI
-    , gl_NATIVE_GRAPHICS_HANDLE_PGI
-    , gl_FRAGMENT_LIGHTING_SGIX
-    , gl_UNIFORM_MATRIX_STRIDE
-    , gl_UNSIGNED_INT_SAMPLER_BUFFER_EXT
-    , gl_VERTEX_ATTRIB_ARRAY_POINTER_ARB
-    , gl_RENDERBUFFER_BINDING_EXT
-    , gl_TEXTURE_BORDER_VALUES_NV
-    , gl_UNSIGNED_INT_24_8_EXT
-    , gl_COVERAGE_COMPONENT_NV
-    , gl_LUMINANCE4_ALPHA4_EXT
-    , gl_CLIP_DISTANCE6
-    , gl_MAP2_TEXTURE_COORD_4
-    , gl_FRAGMENT_COLOR_MATERIAL_SGIX
-    , gl_STATIC_DRAW_ARB
-    , gl_MODELVIEW21_ARB
-    , gl_COMPRESSED_RGBA
-    , gl_DRAW_PIXEL_TOKEN
-    , gl_POST_CONVOLUTION_RED_SCALE_EXT
-    , gl_RENDERBUFFER_BLUE_SIZE_EXT
-    , gl_SKIP_COMPONENTS4_NV
-    , gl_FRAMEBUFFER_BARRIER_BIT_EXT
-    , gl_COLOR_TABLE_BIAS
-    , gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER
-    , gl_COLOR_TABLE_BIAS_SGI
-    , gl_TEXTURE_STORAGE_HINT_APPLE
-    , gl_SOURCE2_RGB_EXT
-    , gl_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX
-    , gl_IMAGE_CUBE
-    , gl_DEBUG_SOURCE_WINDOW_SYSTEM
-    , gl_SAMPLE_ALPHA_TO_ONE_ARB
-    , gl_CURRENT_RASTER_POSITION_VALID
-    , gl_POST_CONVOLUTION_COLOR_TABLE
-    , gl_SLUMINANCE8_EXT
-    , gl_R32F_EXT
-    , gl_CON_15_ATI
-    , gl_CLIP_VOLUME_CLIPPING_HINT_EXT
-    , gl_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV
-    , gl_SRC1_COLOR
-    , gl_COLOR_ARRAY_BUFFER_BINDING
-    , gl_DST_NV
-    , gl_COLOR3_BIT_PGI
-    , gl_UNPACK_CLIENT_STORAGE_APPLE
-    , gl_COLOR_SUM_CLAMP_NV
-    , gl_RGB_FLOAT16_ATI
-    , gl_MAX_GEOMETRY_INPUT_COMPONENTS_EXT
-    , gl_UNSIGNED_INT_IMAGE_3D
-    , gl_LUMINANCE8_OES
-    , gl_NEAREST_MIPMAP_LINEAR
-    , gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS
-    , gl_2PASS_1_EXT
-    , gl_INTERNALFORMAT_SHARED_SIZE
-    , gl_CULL_FACE_MODE
-    , gl_CURRENT_QUERY
-    , gl_ACTIVE_ATTRIBUTE_MAX_LENGTH
-    , gl_INDEX_MATERIAL_EXT
-    , gl_TRANSFORM_FEEDBACK_VARYINGS_NV
-    , gl_TEXTURE_GEN_S
-    , gl_CONTEXT_RELEASE_BEHAVIOR
-    , gl_MODELVIEW0_EXT
-    , gl_FLOAT_MAT4x2_NV
-    , gl_READ_FRAMEBUFFER_BINDING_ANGLE
-    , gl_TEXTURE_BINDING_RECTANGLE_ARB
-    , gl_STENCIL_PASS_DEPTH_FAIL
-    , gl_FONT_DESCENDER_BIT_NV
-    , gl_IMAGE_CUBIC_WEIGHT_HP
-    , gl_PROXY_TEXTURE_3D
-    , gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS
-    , gl_ALPHA8I_EXT
-    , gl_TEXTURE_SHARED_SIZE
-    , gl_HISTOGRAM_LUMINANCE_SIZE_EXT
-    , gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
-    , gl_ALL_COMPLETED_NV
-    , gl_VERTEX_BINDING_BUFFER
-    , gl_IMAGE_2D_EXT
-    , gl_FOG_HINT
-    , gl_PATH_STROKE_COVER_MODE_NV
-    , gl_OPERAND3_RGB_NV
-    , gl_NEXT_BUFFER_NV
-    , gl_FLOAT_VEC2
-    , gl_UNSIGNED_NORMALIZED
-    , gl_FONT_UNINTELLIGIBLE_NV
-    , gl_TRANSFORM_FEEDBACK_ATTRIBS_NV
-    , gl_DEPTH_WRITEMASK
-    , gl_COLOR_BUFFER_BIT3_QCOM
-    , gl_EDGE_FLAG_ARRAY_POINTER
-    , gl_COMPRESSED_RGBA_ASTC_5x5_KHR
-    , gl_CLIP_DISTANCE3_APPLE
-    , gl_CLIP_DISTANCE0_APPLE
-    , gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE
-    , gl_MAX_DRAW_BUFFERS_NV
-    , gl_DISCARD_NV
-    , gl_LUMINANCE8_ALPHA8_EXT
-    , gl_TIME_ELAPSED
-    , gl_VERTEX_ATTRIB_ARRAY11_NV
-    , gl_CONSTANT_EXT
-    , gl_LINE
-    , gl_MAX_PROGRAM_PARAMETERS_ARB
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR
-    , gl_DOUBLE_MAT4x3
-    , gl_MAP1_NORMAL
-    , gl_RED_INTEGER_EXT
-    , gl_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB
-    , gl_PIXEL_UNPACK_BUFFER_ARB
-    , gl_SEPARATE_SPECULAR_COLOR_EXT
-    , gl_INTENSITY_EXT
-    , gl_SIGNED_ALPHA_NV
-    , gl_TRIANGLE_LIST_SUN
-    , gl_SAMPLE_PATTERN_EXT
-    , gl_R16_SNORM_EXT
-    , gl_GEOMETRY_OUTPUT_TYPE
-    , gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES
-    , gl_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB
-    , gl_MATRIX20_ARB
-    , gl_ISOLINES_EXT
-    , gl_SKIP_COMPONENTS1_NV
-    , gl_MODELVIEW_STACK_DEPTH
-    , gl_FULL_STIPPLE_HINT_PGI
-    , gl_RENDERBUFFER_COVERAGE_SAMPLES_NV
-    , gl_PIXEL_MAP_B_TO_B_SIZE
-    , gl_DUAL_ALPHA4_SGIS
-    , gl_VERTEX_ARRAY_OBJECT_AMD
-    , gl_EDGEFLAG_BIT_PGI
-    , gl_COMBINER4_NV
-    , gl_SEPARATE_ATTRIBS
-    , gl_DEBUG_SOURCE_THIRD_PARTY_ARB
-    , gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG
-    , gl_DEBUG_SEVERITY_MEDIUM_ARB
-    , gl_COMPRESSED_INTENSITY_ARB
-    , gl_MAX_DEBUG_MESSAGE_LENGTH_AMD
-    , gl_PATH_ERROR_POSITION_NV
-    , gl_MULTISAMPLE_BIT_EXT
-    , gl_CULL_FRAGMENT_NV
-    , gl_IMAGE_COMPATIBILITY_CLASS
-    , gl_TEXTURE_BINDING_BUFFER
-    , gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB
-    , gl_MAX_PROGRAM_PATCH_ATTRIBS_NV
-    , gl_TANGENT_ARRAY_EXT
-    , gl_MATRIX25_ARB
-    , gl_PERTURB_EXT
-    , gl_R11F_G11F_B10F_APPLE
-    , gl_IMAGE_CLASS_2_X_8
-    , gl_UNSIGNED_INT64_NV
-    , gl_REFLECTION_MAP_ARB
-    , gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS
-    , gl_ACCUM_ALPHA_BITS
-    , gl_SPARE0_PLUS_SECONDARY_COLOR_NV
-    , gl_ETC1_RGB8_OES
-    , gl_ACTIVE_RESOURCES
-    , gl_SAMPLE_MASK_VALUE_EXT
-    , gl_OUTPUT_TEXTURE_COORD7_EXT
-    , gl_SEPARABLE_2D_EXT
-    , gl_DEBUG_LOGGED_MESSAGES_AMD
-    , gl_COLOR_ARRAY_TYPE_EXT
-    , gl_COLOR_INDEX8_EXT
-    , gl_SIGNED_HILO_NV
-    , gl_R1UI_N3F_V3F_SUN
-    , gl_ALPHA
-    , gl_DEPTH32F_STENCIL8_NV
-    , gl_GPU_ADDRESS_NV
-    , gl_MAP_TESSELLATION_NV
-    , gl_LUMINANCE_ALPHA_INTEGER_EXT
-    , gl_TEXTURE_BINDING_CUBE_MAP_OES
-    , gl_STRICT_DEPTHFUNC_HINT_PGI
-    , gl_ATOMIC_COUNTER_BUFFER_INDEX
-    , gl_MODELVIEW6_ARB
-    , gl_DEBUG_TYPE_ERROR_ARB
-    , gl_RG32F
-    , gl_Q
-    , gl_CON_21_ATI
-    , gl_FOG_BIT
-    , gl_COMPRESSED_RGB8_ETC2_OES
-    , gl_TESS_GEN_MODE
-    , gl_COLOR_TABLE_GREEN_SIZE
-    , gl_MAX_PROGRAM_SUBROUTINE_NUM_NV
-    , gl_MIN_LOD_WARNING_AMD
-    , gl_ADD_SIGNED_EXT
-    , gl_OP_INDEX_EXT
-    , gl_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX
-    , gl_TEXTURE31
-    , gl_PLUS_DARKER_NV
-    , gl_DOT_PRODUCT_NV
-    , gl_READ_FRAMEBUFFER
-    , gl_CMYKA_EXT
-    , gl_2D
-    , gl_SIGNED_RGB_UNSIGNED_ALPHA_NV
-    , gl_CONSTANT_COLOR1_NV
-    , gl_TEXTURE_TYPE_QCOM
-    , gl_TEXTURE19
-    , gl_WRITE_ONLY_OES
-    , gl_VERTEX_ATTRIB_ARRAY_NORMALIZED
-    , gl_DEPENDENT_AR_TEXTURE_2D_NV
-    , gl_POST_TEXTURE_FILTER_BIAS_SGIX
-    , gl_Z_EXT
-    , gl_MAX_SAMPLES_NV
-    , gl_SRGB_EXT
-    , gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB
-    , gl_ALPHA32F_ARB
-    , gl_VERTEX_ATTRIB_ARRAY1_NV
-    , gl_HILO8_NV
-    , gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW
-    , gl_MAP2_VERTEX_ATTRIB12_4_NV
-    , gl_VERTEX_STREAM4_ATI
-    , gl_UNSIGNED_INT_SAMPLER_3D_EXT
-    , gl_SECONDARY_COLOR_ARRAY_LENGTH_NV
-    , gl_GENERATE_MIPMAP_HINT
-    , gl_COMPRESSED_RGBA_S3TC_DXT5_EXT
-    , gl_FENCE_STATUS_NV
-    , gl_HINT_BIT
-    , gl_MAX_DUAL_SOURCE_DRAW_BUFFERS
-    , gl_LUMINANCE32UI_EXT
-    , gl_INT_IMAGE_CUBE_MAP_ARRAY
-    , gl_MAX_VERTEX_ATTRIB_BINDINGS
-    , gl_TEXTURE_SWIZZLE_RGBA
-    , gl_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV
-    , gl_VIEW_CLASS_S3TC_DXT5_RGBA
-    , gl_FIELD_LOWER_NV
-    , gl_INTERNALFORMAT_BLUE_SIZE
-    , gl_PROGRAM_ERROR_STRING_ARB
-    , gl_COMBINE_ARB
-    , gl_GET_TEXTURE_IMAGE_TYPE
-    , gl_FRAGMENT_LIGHT0_SGIX
-    , gl_EVAL_VERTEX_ATTRIB4_NV
-    , gl_MAX_DRAW_BUFFERS_EXT
-    , gl_QUERY_KHR
-    , gl_IUI_N3F_V2F_EXT
-    , gl_STORAGE_CACHED_APPLE
-    , gl_LO_SCALE_NV
-    , gl_VERTEX_ATTRIB_ARRAY2_NV
-    , gl_UNIFORM_TYPE
-    , gl_MAX_GEOMETRY_VARYING_COMPONENTS_ARB
-    , gl_LUMINANCE12_ALPHA12
-    , gl_NATIVE_GRAPHICS_BEGIN_HINT_PGI
-    , gl_TEXTURE11_ARB
-    , gl_4PASS_1_EXT
-    , gl_MAX_ASYNC_HISTOGRAM_SGIX
-    , gl_TEXTURE8_ARB
-    , gl_TEXTURE_COMPRESSED_BLOCK_WIDTH
-    , gl_VIRTUAL_PAGE_SIZE_Y_ARB
-    , gl_STENCIL_ATTACHMENT
-    , gl_DEPTH_COMPONENT32_OES
-    , gl_SRC2_RGB
-    , gl_INDEX_MATERIAL_FACE_EXT
-    , gl_MAJOR_VERSION
-    , gl_COLOR_ATTACHMENT2_EXT
-    , gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB
-    , gl_PIXEL_BUFFER_BARRIER_BIT_EXT
-    , gl_OUTPUT_FOG_EXT
-    , gl_UNPACK_FLIP_Y_WEBGL
-    , gl_LUMINANCE6_ALPHA2_EXT
-    , gl_QUERY
-    , gl_MAP2_VERTEX_ATTRIB15_4_NV
-    , gl_UNPACK_ROW_LENGTH_EXT
-    , gl_VBO_FREE_MEMORY_ATI
-    , gl_CON_16_ATI
-    , gl_MAX_VERTEX_SHADER_VARIANTS_EXT
-    , gl_MAX_SAMPLES_ANGLE
-    , gl_MAX_PROGRAM_TEMPORARIES_ARB
-    , gl_STATIC_DRAW
-    , gl_RENDERBUFFER_BLUE_SIZE_OES
-    , gl_T2F_IUI_V3F_EXT
-    , gl_MAX_CONVOLUTION_WIDTH_EXT
-    , gl_FRAGMENT_LIGHT5_SGIX
-    , gl_FILE_NAME_NV
-    , gl_PRIMARY_COLOR_ARB
-    , gl_MATRIX7_NV
-    , gl_GREEN_BIT_ATI
-    , gl_FOG_COORDINATE_ARRAY_STRIDE
-    , gl_OPERAND1_RGB
-    , gl_PRIMITIVE_BOUNDING_BOX_EXT
-    , gl_PIXEL_MAP_I_TO_G_SIZE
-    , gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER
-    , gl_ALPHA_TEST_FUNC
-    , gl_PERFQUERY_COUNTER_EVENT_INTEL
-    , gl_DRAW_BUFFER1_ATI
-    , gl_REPLACE_MIDDLE_SUN
-    , gl_NONE_OES
-    , gl_REPLACEMENT_CODE_ARRAY_SUN
-    , gl_TEXTURE15
-    , gl_INT_SAMPLER_BUFFER_EXT
-    , gl_NATIVE_GRAPHICS_END_HINT_PGI
-    , gl_4PASS_0_SGIS
-    , gl_VERTEX_ATTRIB_MAP1_APPLE
-    , gl_RG8UI
-    , gl_RED_SNORM
-    , gl_COLOR_ATTACHMENT10_NV
-    , gl_TIMESTAMP
-    , gl_CONTEXT_RELEASE_BEHAVIOR_KHR
-    , gl_FRACTIONAL_EVEN
-    , gl_BINNING_CONTROL_HINT_QCOM
-    , gl_OUTPUT_VERTEX_EXT
-    , gl_IMAGE_1D_ARRAY_EXT
-    , gl_PROXY_TEXTURE_RECTANGLE_ARB
-    , gl_PROGRAM_NATIVE_PARAMETERS_ARB
-    , gl_STENCIL_PASS_DEPTH_PASS
-    , gl_OUTPUT_TEXTURE_COORD1_EXT
-    , gl_QUERY_BY_REGION_NO_WAIT
-    , gl_NUM_ACTIVE_VARIABLES
-    , gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER
-    , gl_OUT_OF_MEMORY
-    , gl_VERTEX_ARRAY_BINDING
-    , gl_MAX_BINDABLE_UNIFORM_SIZE_EXT
-    , gl_LUMINANCE16I_EXT
-    , gl_INTENSITY4_EXT
-    , gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT
-    , gl_SINGLE_COLOR_EXT
-    , gl_FONT_GLYPHS_AVAILABLE_NV
-    , gl_W_EXT
-    , gl_MIPMAP
-    , gl_CURRENT_QUERY_ARB
-    , gl_MAX_VERTEX_STREAMS_ATI
-    , gl_DRAW_FRAMEBUFFER_NV
-    , gl_POST_CONVOLUTION_GREEN_SCALE
-    , gl_UNSIGNED_NORMALIZED_EXT
-    , gl_READ_PIXEL_DATA_RANGE_LENGTH_NV
-    , gl_MATRIX_PALETTE_OES
-    , gl_DOT_PRODUCT_TEXTURE_1D_NV
-    , gl_SYNC_CL_EVENT_ARB
-    , gl_LOSE_CONTEXT_ON_RESET_EXT
-    , gl_SRC_OUT_NV
-    , gl_ALPHA_MAX_SGIX
-    , gl_TEXTURE_UNSIGNED_REMAP_MODE_NV
-    , gl_PACK_COMPRESSED_BLOCK_DEPTH
-    , gl_VIRTUAL_PAGE_SIZE_X_ARB
-    , gl_DIFFUSE
-    , gl_RENDERER
-    , gl_DEBUG_OUTPUT_SYNCHRONOUS_KHR
-    , gl_MAX_ELEMENT_INDEX
-    , gl_OP_CLAMP_EXT
-    , gl_CURRENT_RASTER_DISTANCE
-    , gl_COMBINER_MAPPING_NV
-    , gl_MAX_VERTEX_HINT_PGI
-    , gl_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL
-    , gl_TEXTURE6_ARB
-    , gl_MAT_DIFFUSE_BIT_PGI
-    , gl_BUMP_ENVMAP_ATI
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR
-    , gl_INT_VEC2
-    , gl_TEXTURE_RECTANGLE
-    , gl_COLOR_INDEXES
-    , gl_OR_INVERTED
-    , gl_CONSTANT_ARB
-    , gl_TESSELLATION_FACTOR_AMD
-    , gl_HALF_BIAS_NORMAL_NV
-    , gl_FOG_COORD_ARRAY_STRIDE
-    , gl_UNIFORM_BUFFER_EXT
-    , gl_GREEN_SCALE
-    , gl_LEQUAL
-    , gl_TRIANGLES
-    , gl_ARRAY_ELEMENT_LOCK_COUNT_EXT
-    , gl_UNSIGNED_SHORT_5_6_5
-    , gl_QUERY_BUFFER_BINDING
-    , gl_DRAW_BUFFER14
-    , gl_SATURATE_BIT_ATI
-    , gl_RGB5_EXT
-    , gl_RGB8I
-    , gl_PROXY_TEXTURE_CUBE_MAP_ARB
-    , gl_CONTRAST_NV
-    , gl_R8
-    , gl_PROGRAM_BINDING_ARB
-    , gl_COLOR_ATTACHMENT0
-    , gl_DEPTH_BUFFER_BIT0_QCOM
-    , gl_OUTPUT_TEXTURE_COORD25_EXT
-    , gl_COMPRESSED_RGB_FXT1_3DFX
-    , gl_TEXTURE4_ARB
-    , gl_PASS_THROUGH_NV
-    , gl_SHADER_BINARY_DMP
-    , gl_RENDER_MODE
-    , gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT
-    , gl_ARRAY_BUFFER_BINDING_ARB
-    , gl_MODELVIEW7_ARB
-    , gl_LARGE_CCW_ARC_TO_NV
-    , gl_YCRCB_SGIX
-    , gl_MAX_PROGRAM_TEXEL_OFFSET_EXT
-    , gl_HISTOGRAM_GREEN_SIZE
-    , gl_DRAW_BUFFER1_ARB
-    , gl_BLEND_DST_ALPHA_EXT
-    , gl_FRAGMENT_DEPTH_EXT
-    , gl_DRAW_BUFFER3_ARB
-    , gl_LINEAR_CLIPMAP_NEAREST_SGIX
-    , gl_PRIMITIVES_SUBMITTED_ARB
-    , gl_TRANSFORM_FEEDBACK_BUFFER_SIZE
-    , gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES
-    , gl_SYNC_X11_FENCE_EXT
-    , gl_WEIGHT_ARRAY_BUFFER_BINDING_ARB
-    , gl_MAX_TEXTURE_STACK_DEPTH
-    , gl_CON_1_ATI
-    , gl_PIXEL_MAP_I_TO_I
-    , gl_MAX_DEBUG_LOGGED_MESSAGES
-    , gl_LINE_QUALITY_HINT_SGIX
-    , gl_STACK_OVERFLOW_KHR
-    , gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE
-    , gl_INDEX_ARRAY_ADDRESS_NV
-    , gl_MAX_LABEL_LENGTH_KHR
-    , gl_STRICT_SCISSOR_HINT_PGI
-    , gl_SHADER_OPERATION_NV
-    , gl_BLUE_BIT_ATI
-    , gl_MIN_SAMPLE_SHADING_VALUE_OES
-    , gl_MAX_COMBINED_ATOMIC_COUNTERS
-    , gl_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI
-    , gl_INT_SAMPLER_2D
-    , gl_PROXY_TEXTURE_CUBE_MAP_EXT
-    , gl_TRANSFORM_FEEDBACK
-    , gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT
-    , gl_MODELVIEW1_ARB
-    , gl_UNKNOWN_CONTEXT_RESET_KHR
-    , gl_INT8_VEC3_NV
-    , gl_BUFFER_IMMUTABLE_STORAGE
-    , gl_SHADER_STORAGE_BUFFER_SIZE
-    , gl_STENCIL_COMPONENTS
-    , gl_VERTEX_STREAM5_ATI
-    , gl_4_BYTES_NV
-    , gl_R32UI
-    , gl_IMAGE_CLASS_11_11_10
-    , gl_DOT_PRODUCT_TEXTURE_2D_NV
-    , gl_CLIPPING_OUTPUT_PRIMITIVES_ARB
-    , gl_SAMPLE_MASK_VALUE
-    , gl_MAX_VERTEX_BINDABLE_UNIFORMS_EXT
-    , gl_PROXY_HISTOGRAM_EXT
-    , gl_REG_26_ATI
-    , gl_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT
-    , gl_TEXTURE_UPDATE_BARRIER_BIT_EXT
-    , gl_COLOR_WRITEMASK
-    , gl_LIGHT7
-    , gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT
-    , gl_COLOR_ATTACHMENT6
-    , gl_COMPUTE_SHADER_BIT
-    , gl_TRIANGLE_STRIP_ADJACENCY
-    , gl_PROGRAM_FORMAT_ASCII_ARB
-    , gl_FLOAT_RGB16_NV
-    , gl_DEPTH_RANGE
-    , gl_MAX_GEOMETRY_IMAGE_UNIFORMS
-    , gl_FLOAT_R16_NV
-    , gl_EYE_PLANE_ABSOLUTE_NV
-    , gl_REPLACE_EXT
-    , gl_TRANSFORM_FEEDBACK_BUFFER_START_EXT
-    , gl_DRAW_BUFFER4_EXT
-    , gl_PROGRAM_MATRIX_EXT
-    , gl_VERTEX_ATTRIB_ARRAY5_NV
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR
-    , gl_UNSIGNED_BYTE_3_3_2
-    , gl_LUMINANCE_FLOAT32_APPLE
-    , gl_BLEND_SRC_RGB_OES
-    , gl_DEBUG_CALLBACK_FUNCTION_ARB
-    , gl_ADJACENT_PAIRS_NV
-    , gl_QUERY_BY_REGION_NO_WAIT_INVERTED
-    , gl_ELEMENT_ARRAY_BUFFER_BINDING
-    , gl_TEXTURE
-    , gl_FLOAT_MAT2x4
-    , gl_PROGRAM_ATTRIB_COMPONENTS_NV
-    , gl_MAX_SPARSE_3D_TEXTURE_SIZE_AMD
-    , gl_DRAW_BUFFER6
-    , gl_MODELVIEW1_EXT
-    , gl_VERTEX_ARRAY_POINTER
-    , gl_SCALE_BY_ONE_HALF_NV
-    , gl_RIGHT
-    , gl_FRAMEZOOM_SGIX
-    , gl_COLOR_ATTACHMENT10
-    , gl_VERTEX_ARRAY_RANGE_NV
-    , gl_POST_CONVOLUTION_ALPHA_BIAS_EXT
-    , gl_SHADER_BINARY_FORMATS
-    , gl_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV
-    , gl_QUERY_RESULT_AVAILABLE_EXT
-    , gl_MAP1_TEXTURE_COORD_3
-    , gl_RGB
-    , gl_PATH_MODELVIEW_NV
-    , gl_SRGB
-    , gl_PATH_JOIN_STYLE_NV
-    , gl_DEPTH_BUFFER_BIT1_QCOM
-    , gl_DARKEN_KHR
-    , gl_OBJECT_COMPILE_STATUS_ARB
-    , gl_UNSIGNED_INT_10F_11F_11F_REV_APPLE
-    , gl_QUAD_STRIP
-    , gl_RGBA_S3TC
-    , gl_DEPTH_COMPONENT24_OES
-    , gl_CONDITION_SATISFIED
-    , gl_DUAL_LUMINANCE_ALPHA8_SGIS
-    , gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB
-    , gl_TESS_CONTROL_SHADER_BIT
-    , gl_COLOR_ATTACHMENT6_NV
-    , gl_STENCIL_INDEX4_EXT
-    , gl_CLIENT_STORAGE_BIT
-    , gl_SHADE_MODEL
-    , gl_COLOR_MATRIX_SGI
-    , gl_UNPACK_COMPRESSED_BLOCK_HEIGHT
-    , gl_VIEWPORT_BOUNDS_RANGE_EXT
-    , gl_VERTEX_ARRAY_EXT
-    , gl_PRIMITIVE_ID_NV
-    , gl_DOT3_RGB
-    , gl_TEXTURE_GATHER
-    , gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV
-    , gl_DEPTH_COMPONENT32_ARB
-    , gl_RGBA
-    , gl_TEXTURE28
-    , gl_MAX_GEOMETRY_OUTPUT_VERTICES_ARB
-    , gl_RED_INTEGER
-    , gl_REG_4_ATI
-    , gl_DT_BIAS_NV
-    , gl_MINOR_VERSION
-    , gl_FONT_UNDERLINE_THICKNESS_BIT_NV
-    , gl_MAX_COMPUTE_SHARED_MEMORY_SIZE
-    , gl_SWIZZLE_STQ_DQ_ATI
-    , gl_IS_PER_PATCH
-    , gl_DECR
-    , gl_UNSIGNED_NORMALIZED_ARB
-    , gl_PROGRAM_BINARY_LENGTH_OES
-    , gl_ALREADY_SIGNALED_APPLE
-    , gl_MATRIX29_ARB
-    , gl_UNSIGNED_SHORT_5_6_5_EXT
-    , gl_DEPTH_COMPONENT24_SGIX
-    , gl_INT_SAMPLER_1D_ARRAY_EXT
-    , gl_MAX_FRAMEZOOM_FACTOR_SGIX
-    , gl_FRAMEBUFFER_DEFAULT_LAYERS
-    , gl_PRIMITIVE_RESTART
-    , gl_LINEARLIGHT_NV
-    , gl_AFFINE_3D_NV
-    , gl_SAMPLER_3D_OES
-    , gl_REG_31_ATI
-    , gl_SAMPLE_LOCATION_SUBPIXEL_BITS_NV
-    , gl_RELATIVE_HORIZONTAL_LINE_TO_NV
-    , gl_TEXTURE_LO_SIZE_NV
-    , gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX
-    , gl_DEPTH_BUFFER_BIT4_QCOM
-    , gl_MAX_NAME_STACK_DEPTH
-    , gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV
-    , gl_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX
-    , gl_FRAGMENT_SHADER
-    , gl_CONDITION_SATISFIED_APPLE
-    , gl_AUX0
-    , gl_NUM_COMPRESSED_TEXTURE_FORMATS_ARB
-    , gl_DRAW_BUFFER6_EXT
-    , gl_COPY_READ_BUFFER_BINDING
-    , gl_LOCAL_CONSTANT_EXT
-    , gl_COMPRESSED_SIGNED_RED_RGTC1
-    , gl_OCCLUSION_QUERY_EVENT_MASK_AMD
-    , gl_TEXTURE_BASE_LEVEL_SGIS
-    , gl_EDGE_FLAG_ARRAY_LIST_IBM
-    , gl_LUMINANCE16F_EXT
-    , gl_OPERAND0_RGB_ARB
-    , gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
-    , gl_DRAW_BUFFER7_ATI
-    , gl_COMPRESSED_R11_EAC
-    , gl_DEBUG_TYPE_PORTABILITY_KHR
-    , gl_SOURCE0_ALPHA_ARB
-    , gl_UNIFORM_BARRIER_BIT
-    , gl_SCISSOR_BOX
-    , gl_ATTENUATION_EXT
-    , gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS
-    , gl_UNIFORM_BLOCK_BINDING
-    , gl_SOURCE2_RGB
-    , gl_WEIGHT_ARRAY_BUFFER_BINDING
-    , gl_ALPHA8UI_EXT
-    , gl_VIEW_CLASS_S3TC_DXT3_RGBA
-    , gl_COLOR_TABLE_RED_SIZE
-    , gl_SHADER_STORAGE_BUFFER
-    , gl_ONE_MINUS_DST_ALPHA
-    , gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV
-    , gl_BLEND_SRC
-    , gl_COORD_REPLACE
-    , gl_INT_IMAGE_2D_EXT
-    , gl_TEXTURE_RANGE_LENGTH_APPLE
-    , gl_FRAMEZOOM_FACTOR_SGIX
-    , gl_C3F_V3F
-    , gl_MAX_RECTANGLE_TEXTURE_SIZE_ARB
-    , gl_MATRIX0_ARB
-    , gl_COLOR_ATTACHMENT14_NV
-    , gl_VIRTUAL_PAGE_SIZE_INDEX_ARB
-    , gl_DEBUG_TYPE_OTHER
-    , gl_MAP1_VERTEX_ATTRIB4_4_NV
-    , gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB
-    , gl_BLEND_EQUATION_ALPHA_EXT
-    , gl_R1UI_T2F_V3F_SUN
-    , gl_POINT_FADE_THRESHOLD_SIZE_ARB
-    , gl_MIN_PROGRAM_TEXEL_OFFSET_EXT
-    , gl_RENDERBUFFER_ALPHA_SIZE
-    , gl_UTF16_NV
-    , gl_STENCIL_BUFFER_BIT
-    , gl_OUTPUT_TEXTURE_COORD17_EXT
-    , gl_SLUMINANCE
-    , gl_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV
-    , gl_TEXTURE13_ARB
-    , gl_TEXTURE_SWIZZLE_A_EXT
-    , gl_RELATIVE_LINE_TO_NV
-    , gl_DSDT8_NV
-    , gl_PROGRAM_ERROR_POSITION_NV
-    , gl_POINT_SIZE_MIN
-    , gl_TRACE_ALL_BITS_MESA
-    , gl_PROGRAM_STRING_NV
-    , gl_DETAIL_TEXTURE_FUNC_POINTS_SGIS
-    , gl_ACCUM_CLEAR_VALUE
-    , gl_MAP1_VERTEX_ATTRIB6_4_NV
-    , gl_TEXTURE_PRE_SPECULAR_HP
-    , gl_READ_BUFFER_NV
-    , gl_GLYPH_HAS_KERNING_BIT_NV
-    , gl_DISPATCH_INDIRECT_BUFFER_BINDING
-    , gl_MAX_COMPUTE_IMAGE_UNIFORMS
-    , gl_POINT
-    , gl_S
-    , gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB
-    , gl_EVAL_VERTEX_ATTRIB2_NV
-    , gl_LIGHT4
-    , gl_PROGRAM_ALU_INSTRUCTIONS_ARB
-    , gl_VERTEX_PROGRAM_POSITION_MESA
-    , gl_MINMAX_FORMAT
-    , gl_TEXTURE_INDEX_SIZE_EXT
-    , gl_POINT_SIZE_MAX_SGIS
-    , gl_ACCUM_BLUE_BITS
-    , gl_TEXTURE_CUBE_MAP_NEGATIVE_X_OES
-    , gl_REG_8_ATI
-    , gl_TEXTURE_IMAGE_VALID_QCOM
-    , gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT
-    , gl_FRAMEBUFFER_OES
-    , gl_VIEW_CLASS_RGTC1_RED
-    , gl_RENDERBUFFER_RED_SIZE
-    , gl_PIXEL_BUFFER_BARRIER_BIT
-    , gl_SECONDARY_COLOR_ARRAY_STRIDE_EXT
-    , gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS
-    , gl_DRAW_BUFFER4_ATI
-    , gl_UNSIGNED_INT_VEC3_EXT
-    , gl_YCBAYCR8A_4224_NV
-    , gl_MATRIX_EXT
-    , gl_TANGENT_ARRAY_STRIDE_EXT
-    , gl_EYE_LINE_SGIS
-    , gl_IMAGE_CLASS_2_X_16
-    , gl_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI
-    , gl_INDEX_ARRAY_STRIDE
-    , gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE
-    , gl_MATRIX30_ARB
-    , gl_CON_19_ATI
-    , gl_IMPLEMENTATION_COLOR_READ_TYPE_OES
-    , gl_GUILTY_CONTEXT_RESET_EXT
-    , gl_COLOR_ARRAY_TYPE
-    , gl_MODELVIEW3_ARB
-    , gl_RG32F_EXT
-    , gl_TEXTURE_BINDING_2D_MULTISAMPLE
-    , gl_UNPACK_COMPRESSED_BLOCK_WIDTH
-    , gl_VERTEX_BINDING_OFFSET
-    , gl_VIDEO_COLOR_CONVERSION_MATRIX_NV
-    , gl_RGB32UI_EXT
-    , gl_COMBINER_MUX_SUM_NV
-    , gl_VERSION
-    , gl_RGBA16F_ARB
-    , gl_DEBUG_TYPE_PERFORMANCE_KHR
-    , gl_QUERY_RESULT_NO_WAIT_AMD
-    , gl_COPY_INVERTED
-    , gl_DOUBLEBUFFER
-    , gl_DEBUG_GROUP_STACK_DEPTH_KHR
-    , gl_NORMAL_ARRAY_LENGTH_NV
-    , gl_LIGHT_MODEL_COLOR_CONTROL
-    , gl_DISCRETE_AMD
-    , gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV
-    , gl_TEXTURE_RENDERBUFFER_NV
-    , gl_ADD_SIGNED_ARB
-    , gl_EYE_DISTANCE_TO_POINT_SGIS
-    , gl_ASYNC_TEX_IMAGE_SGIX
-    , gl_TEXTURE9_ARB
-    , gl_FRAMEBUFFER_COMPLETE_OES
-    , gl_TEXTURE_2D_ARRAY
-    , gl_COVERAGE_COMPONENT4_NV
-    , gl_WEIGHT_ARRAY_SIZE_ARB
-    , gl_LUMINANCE16_ALPHA16_EXT
-    , gl_FLOAT_R32_NV
-    , gl_SECONDARY_COLOR_ARRAY_SIZE
-    , gl_PHONG_HINT_WIN
-    , gl_SHADER_STORAGE_BLOCK
-    , gl_YCRCBA_SGIX
-    , gl_PRIMITIVE_RESTART_NV
-    , gl_GEOMETRY_DEFORMATION_BIT_SGIX
-    , gl_MAP_COLOR
-    , gl_VERTEX_SHADER_ARB
-    , gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB
-    , gl_RELATIVE_LARGE_CW_ARC_TO_NV
-    , gl_COVERAGE_MODULATION_NV
-    , gl_RGB16I
-    , gl_TRANSFORM_FEEDBACK_RECORD_NV
-    , gl_TEXTURE3
-    , gl_VERTEX_TEXTURE
-    , gl_COMPRESSED_RGBA_ASTC_6x6x6_OES
-    , gl_MAX_COMBINED_DIMENSIONS
-    , gl_IMAGE_CLASS_1_X_32
-    , gl_SAMPLER_3D_ARB
-    , gl_TEXTURE_BINDING
-    , gl_INT_IMAGE_1D
-    , gl_QUAD_INTENSITY8_SGIS
-    , gl_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT
-    , gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT
-    , gl_BUFFER_SIZE_ARB
-    , gl_SAMPLE_PATTERN_SGIS
-    , gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT
-    , gl_FIELD_UPPER_NV
-    , gl_COLOR_MATRIX_STACK_DEPTH_SGI
-    , gl_POST_CONVOLUTION_COLOR_TABLE_SGI
-    , gl_BLEND_COLOR
-    , gl_NORMAL_MAP
-    , gl_MAP_STENCIL
-    , gl_STENCIL_INDEX8
-    , gl_8X_BIT_ATI
-    , gl_COLOR_TABLE_RED_SIZE_SGI
-    , gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT
-    , gl_CAVEAT_SUPPORT
-    , gl_TEXTURE_2D
-    , gl_MAX_TEXTURE_COORDS_NV
-    , gl_TEXTURE4
-    , gl_STORAGE_PRIVATE_APPLE
-    , gl_DEBUG_OBJECT_MESA
-    , gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES
-    , gl_SGX_BINARY_IMG
-    , gl_IR_INSTRUMENT1_SGIX
-    , gl_DEPTH_COMPONENTS
-    , gl_TEXTURE_BINDING_BUFFER_ARB
-    , gl_ALPHA_FLOAT16_ATI
-    , gl_TEXTURE_MAX_LEVEL_APPLE
-    , gl_READ_FRAMEBUFFER_EXT
-    , gl_ATTRIB_ARRAY_POINTER_NV
-    , gl_FRAMEBUFFER_RENDERABLE
-    , gl_REG_29_ATI
-    , gl_INDEX_ARRAY_BUFFER_BINDING
-    , gl_TEXTURE26
-    , gl_SIGNED_LUMINANCE_ALPHA_NV
-    , gl_DEPTH_STENCIL_TEXTURE_MODE
-    , gl_CURRENT_RASTER_SECONDARY_COLOR
-    , gl_INVALID_INDEX
-    , gl_POINT_SMOOTH_HINT
-    , gl_PIXEL_MAP_I_TO_B
-    , gl_BLEND_EQUATION_RGB_EXT
-    , gl_VERTEX_ATTRIB_ARRAY_SIZE_ARB
-    , gl_INVALID_OPERATION
-    , gl_QUERY_RESULT_AVAILABLE_ARB
-    , gl_LUMINANCE8_ALPHA8
-    , gl_QUERY_TARGET
-    , gl_TEXTURE_WRAP_S
-    , gl_COLOR_TABLE_WIDTH_SGI
-    , gl_RGB5
-    , gl_VERTEX_PROGRAM_ARB
-    , gl_HSL_HUE_KHR
-    , gl_ELEMENT_ARRAY_LENGTH_NV
-    , gl_BOOL_VEC2_ARB
-    , gl_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB
-    , gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB
-    , gl_STREAM_COPY_ARB
-    , gl_LUMINANCE8_SNORM
-    , gl_TIME_ELAPSED_EXT
-    , gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE
-    , gl_TEXTURE_BLUE_SIZE
-    , gl_TRANSLATE_3D_NV
-    , gl_SHADOW_AMBIENT_SGIX
-    , gl_UNSIGNED_INT_8_24_REV_MESA
-    , gl_GLYPH_VERTICAL_BEARING_X_BIT_NV
-    , gl_POLYGON_OFFSET_FACTOR_EXT
-    , gl_VERTEX_SUBROUTINE_UNIFORM
-    , gl_SHADER_PIXEL_LOCAL_STORAGE_EXT
-    , gl_R1UI_C4F_N3F_V3F_SUN
-    , gl_POLYGON_OFFSET_CLAMP_EXT
-    , gl_PIXEL_COUNTER_BITS_NV
-    , gl_PATH_STENCIL_FUNC_NV
-    , gl_SUCCESS_NV
-    , gl_REG_5_ATI
-    , gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES
-    , gl_AUX_DEPTH_STENCIL_APPLE
-    , gl_SPECULAR
-    , gl_TEXTURE_CUBE_MAP_POSITIVE_X_OES
-    , gl_TEXTURE_SPARSE_ARB
-    , gl_REG_17_ATI
-    , gl_PROXY_TEXTURE_2D_EXT
-    , gl_MUL_ATI
-    , gl_COVERAGE_SAMPLES_NV
-    , gl_MAX_DEEP_3D_TEXTURE_DEPTH_NV
-    , gl_POINT_SIZE_MIN_EXT
-    , gl_COMPRESSED_RGBA_S3TC_DXT3_ANGLE
-    , gl_COLOR_ARRAY_LIST_IBM
-    , gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV
-    , gl_DRAW_BUFFER
-    , gl_DEBUG_TYPE_POP_GROUP
-    , gl_VIEW_CLASS_S3TC_DXT1_RGB
-    , gl_TEXTURE17
-    , gl_BUFFER_OBJECT_EXT
-    , gl_DRAW_BUFFER1_EXT
-    , gl_MODELVIEW23_ARB
-    , gl_TEXTURE_APPLICATION_MODE_EXT
-    , gl_RG16_EXT
-    , gl_SYNC_STATUS
-    , gl_CURRENT_NORMAL
-    , gl_CLIP_PLANE0
-    , gl_MAP1_VERTEX_3
-    , gl_MAP_READ_BIT_EXT
-    , gl_VIEW_CLASS_S3TC_DXT1_RGBA
-    , gl_TEXTURE_MAX_CLAMP_R_SGIX
-    , gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH
-    , gl_FEEDBACK_BUFFER_POINTER
-    , gl_SURFACE_MAPPED_NV
-    , gl_SELECTION_BUFFER_POINTER
-    , gl_PROXY_TEXTURE_COLOR_TABLE_SGI
-    , gl_IMAGE_BUFFER
-    , gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV
-    , gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS
-    , gl_ATTRIB_ARRAY_TYPE_NV
-    , gl_IMAGE_CLASS_4_X_16
-    , gl_READ_PIXELS_FORMAT
-    , gl_TEXTURE_CUBE_MAP_ARB
-    , gl_NUM_PROGRAM_BINARY_FORMATS_OES
-    , gl_FOG_FUNC_POINTS_SGIS
-    , gl_RGBA12_EXT
-    , gl_ALPHA8_EXT
-    , gl_AMBIENT
-    , gl_PALETTE8_RGBA8_OES
-    , gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB
-    , gl_DOUBLE_MAT4_EXT
-    , gl_CONSTANT_COLOR
-    , gl_CURRENT_SECONDARY_COLOR_EXT
-    , gl_LUMINANCE12_ALPHA4
-    , gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS
-    , gl_STENCIL_BACK_FAIL_ATI
-    , gl_TEXTURE_COMPARE_FUNC_EXT
-    , gl_OFFSET
-    , gl_DARKEN_NV
-    , gl_NUM_VIDEO_CAPTURE_STREAMS_NV
-    , gl_4PASS_3_EXT
-    , gl_DOUBLE_MAT2_EXT
-    , gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS
-    , gl_TEXTURE_FETCH_BARRIER_BIT
-    , gl_COLOR_ATTACHMENT13
-    , gl_DOT_PRODUCT_REFLECT_CUBE_MAP_NV
-    , gl_CURRENT_QUERY_EXT
-    , gl_TRANSFORM_FEEDBACK_BINDING_NV
-    , gl_LAYER_NV
-    , gl_RGB5_A1_OES
-    , gl_BLEND_DST_ALPHA
-    , gl_WRITE_ONLY
-    , gl_PIXEL_MAP_I_TO_R
-    , gl_TESS_EVALUATION_TEXTURE
-    , gl_MALI_PROGRAM_BINARY_ARM
-    , gl_FRONT
-    , gl_UNSIGNED_SHORT_5_6_5_REV_EXT
-    , gl_CURRENT_TANGENT_EXT
-    , gl_DEPTH_TEXTURE_MODE
-    , gl_IMAGE_BINDING_NAME
-    , gl_UNSIGNED_INT_IMAGE_BUFFER
-    , gl_UNSIGNED_INT_24_8
-    , gl_2PASS_0_SGIS
-    , gl_OPERAND2_RGB_ARB
-    , gl_SRGB_ALPHA_EXT
-    , gl_INTENSITY16I_EXT
-    , gl_COMPRESSED_RED_RGTC1
-    , gl_FRAMEBUFFER_RENDERABLE_LAYERED
-    , gl_PACK_SKIP_PIXELS
-    , gl_SMALL_CW_ARC_TO_NV
-    , gl_OUTPUT_TEXTURE_COORD27_EXT
-    , gl_MODELVIEW8_ARB
-    , gl_IS_PER_PATCH_EXT
-    , gl_INVERSE_NV
-    , gl_FLOAT16_NV
-    , gl_MAP_FLUSH_EXPLICIT_BIT_EXT
-    , gl_RED_NV
-    , gl_LOW_FLOAT
-    , gl_NO_RESET_NOTIFICATION_ARB
-    , gl_DEBUG_PRINT_MESA
-    , gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT
-    , gl_SAMPLES_PASSED_ARB
-    , gl_PATH_OBJECT_BOUNDING_BOX_NV
-    , gl_4PASS_0_EXT
-    , gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT
-    , gl_SHARED_TEXTURE_PALETTE_EXT
-    , gl_MIN_PROGRAM_TEXEL_OFFSET
-    , gl_NORMAL_ARRAY_COUNT_EXT
-    , gl_RELATIVE_ROUNDED_RECT8_NV
-    , gl_COMBINER_CD_DOT_PRODUCT_NV
-    , gl_ACTIVE_STENCIL_FACE_EXT
-    , gl_QUERY_NO_WAIT
-    , gl_DRAW_BUFFER11_NV
-    , gl_VERTEX_ATTRIB_ARRAY9_NV
-    , gl_DYNAMIC_READ_ARB
-    , gl_LINE_WIDTH
-    , gl_DEBUG_SEVERITY_HIGH_ARB
-    , gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONS
-    , gl_TEXTURE_CUBE_MAP_ARRAY_ARB
-    , gl_TEXTURE9
-    , gl_VERTEX_STREAM3_ATI
-    , gl_MAX_COMPUTE_WORK_GROUP_SIZE
-    , gl_MIRROR_CLAMP_TO_EDGE
-    , gl_TEXTURE_DEPTH_TYPE_ARB
-    , gl_REG_22_ATI
-    , gl_OP_NEGATE_EXT
-    , gl_MATRIX8_ARB
-    , gl_COMBINER6_NV
-    , gl_ACTIVE_ATTRIBUTES
-    , gl_TEXTURE_1D_STACK_BINDING_MESAX
-    , gl_TRANSPOSE_CURRENT_MATRIX_ARB
-    , gl_MAP1_VERTEX_ATTRIB8_4_NV
-    , gl_RG32I
-    , gl_SAMPLE_ALPHA_TO_ONE
-    , gl_DSDT8_MAG8_INTENSITY8_NV
-    , gl_POINT_SIZE_RANGE
-    , gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV
-    , gl_NEAREST_CLIPMAP_LINEAR_SGIX
-    , gl_MATERIAL_SIDE_HINT_PGI
-    , gl_DRAW_BUFFER11_ATI
-    , gl_SHADER_STORAGE_BARRIER_BIT
-    , gl_MAP_UNSYNCHRONIZED_BIT_EXT
-    , gl_INTENSITY16F_ARB
-    , gl_REFERENCED_BY_TESS_CONTROL_SHADER
-    , gl_PATH_DASH_OFFSET_NV
-    , gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS
-    , gl_PATH_COVER_DEPTH_FUNC_NV
-    , gl_TRANSFORM_FEEDBACK_ACTIVE
-    , gl_FONT_HEIGHT_BIT_NV
-    , gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB
-    , gl_UNDEFINED_VERTEX
-    , gl_DEBUG_SEVERITY_LOW_KHR
-    , gl_HARDMIX_NV
-    , gl_MULTISAMPLE_EXT
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR
-    , gl_COVERAGE_MODULATION_TABLE_SIZE_NV
-    , gl_GREEN
-    , gl_COUNT_DOWN_NV
-    , gl_CON_3_ATI
-    , gl_CLIP_DISTANCE5_APPLE
-    , gl_DRAW_INDIRECT_BUFFER
-    , gl_CURRENT_VERTEX_ATTRIB
-    , gl_SKIP_COMPONENTS3_NV
-    , gl_OPERAND0_ALPHA_EXT
-    , gl_CON_17_ATI
-    , gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT
-    , gl_INT_IMAGE_1D_EXT
-    , gl_MIN_SAMPLE_SHADING_VALUE_ARB
-    , gl_OP_LOG_BASE_2_EXT
-    , gl_RGB16UI
-    , gl_PIXEL_PACK_BUFFER_EXT
-    , gl_MODELVIEW12_ARB
-    , gl_STATIC_ATI
-    , gl_OUTPUT_TEXTURE_COORD16_EXT
-    , gl_SOURCE0_RGB_EXT
-    , gl_LERP_ATI
-    , gl_INT_IMAGE_3D
-    , gl_COLOR_MATERIAL_PARAMETER
-    , gl_MOV_ATI
-    , gl_CIRCULAR_CCW_ARC_TO_NV
-    , gl_GEOMETRY_INPUT_TYPE_ARB
-    , gl_SIGNED_HILO8_NV
-    , gl_EMBOSS_CONSTANT_NV
-    , gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS
-    , gl_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT
-    , gl_ALPHA4_EXT
-    , gl_RELATIVE_QUADRATIC_CURVE_TO_NV
-    , gl_LIST_BIT
-    , gl_CPU_OPTIMIZED_QCOM
-    , gl_MAX_PROGRAM_INSTRUCTIONS_ARB
-    , gl_BUFFER_MAP_POINTER_OES
-    , gl_TEXTURE_LUMINANCE_SIZE
-    , gl_FRAGMENT_COLOR_MATERIAL_FACE_SGIX
-    , gl_SECONDARY_COLOR_ARRAY_ADDRESS_NV
-    , gl_FOG_COORDINATE_ARRAY_TYPE
-    , gl_PROGRAM_RESIDENT_NV
-    , gl_IMAGE_3D_EXT
-    , gl_MAP2_VERTEX_ATTRIB14_4_NV
-    , gl_MAX_GEOMETRY_ATOMIC_COUNTERS
-    , gl_DU8DV8_ATI
-    , gl_STATIC_COPY_ARB
-    , gl_GREATER
-    , gl_COLOR_TABLE_WIDTH
-    , gl_COLOR_ATTACHMENT8_NV
-    , gl_PALETTE4_RGBA8_OES
-    , gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV
-    , gl_PACK_RESAMPLE_OML
-    , gl_UNSIGNED_SHORT_4_4_4_4_REV_IMG
-    , gl_T4F_C4F_N3F_V4F
-    , gl_CURRENT_FOG_COORDINATE
-    , gl_UNSIGNED_INT_10_10_10_2
-    , gl_VERTEX_SHADER_LOCAL_CONSTANTS_EXT
-    , gl_TEXTURE_INTENSITY_SIZE
-    , gl_DRAW_FRAMEBUFFER_BINDING_NV
-    , gl_QUERY_STENCIL_FAIL_EVENT_BIT_AMD
-    , gl_NORMAL_MAP_EXT
-    , gl_PASS_THROUGH_TOKEN
-    , gl_COMPRESSED_RGBA_ASTC_8x5_KHR
-    , gl_SPRITE_AXIS_SGIX
-    , gl_ALPHA_TEST
-    , gl_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT
-    , gl_SAMPLER_BUFFER_AMD
-    , gl_MAX_PROGRAM_GENERIC_RESULTS_NV
-    , gl_DEBUG_CALLBACK_USER_PARAM_ARB
-    , gl_TEXCOORD2_BIT_PGI
-    , gl_SLIM8U_SGIX
-    , gl_DOT3_ATI
-    , gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV
-    , gl_VERTEX_ATTRIB_MAP1_SIZE_APPLE
-    , gl_HALF_FLOAT_NV
-    , gl_IMAGE_CLASS_1_X_16
-    , gl_CONSTANT_BORDER_HP
-    , gl_VERTEX_SHADER_INSTRUCTIONS_EXT
-    , gl_TEXTURE25_ARB
-    , gl_FONT_TARGET_UNAVAILABLE_NV
-    , gl_COMPRESSED_RGBA_ASTC_6x6x5_OES
-    , gl_IMAGE_TRANSLATE_X_HP
-    , gl_COLOR_MATRIX_STACK_DEPTH
-    , gl_IMAGE_2D_MULTISAMPLE_ARRAY
-    , gl_RESTART_SUN
-    , gl_COLOR_ATTACHMENT14_EXT
-    , gl_DRAW_BUFFER8
-    , gl_IMAGE_2D_MULTISAMPLE
-    , gl_ALPHA_TEST_QCOM
-    , gl_PACK_SKIP_ROWS
-    , gl_INTERLEAVED_ATTRIBS
-    , gl_OUTPUT_TEXTURE_COORD22_EXT
-    , gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES
-    , gl_MULTISAMPLE_BUFFER_BIT6_QCOM
-    , gl_MODULATE_ADD_ATI
-    , gl_MAP1_GRID_DOMAIN
-    , gl_DRAW_BUFFER13_ATI
-    , gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS
-    , gl_MAX_PROGRAM_OUTPUT_VERTICES_NV
-    , gl_TEXTURE_DS_SIZE_NV
-    , gl_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES
-    , gl_PREVIOUS_EXT
-    , gl_PN_TRIANGLES_POINT_MODE_ATI
-    , gl_NUM_FILL_STREAMS_NV
-    , gl_UNDEFINED_VERTEX_EXT
-    , gl_NORMAL_ARRAY_LIST_STRIDE_IBM
-    , gl_STANDARD_FONT_NAME_NV
-    , gl_EVAL_VERTEX_ATTRIB7_NV
-    , gl_RENDERBUFFER_INTERNAL_FORMAT_OES
-    , gl_BIAS_BIT_ATI
-    , gl_CONVOLUTION_WIDTH
-    , gl_LUMINANCE6_ALPHA2
-    , gl_COMPRESSED_RGBA_S3TC_DXT1_EXT
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR
-    , gl_MAX_CUBE_MAP_TEXTURE_SIZE_OES
-    , gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES
-    , gl_RGB12
-    , gl_COMPRESSED_RGBA_S3TC_DXT5_ANGLE
-    , gl_VIDEO_COLOR_CONVERSION_MAX_NV
-    , gl_MATRIX3_ARB
-    , gl_CLIP_DISTANCE_NV
-    , gl_CLIP_PLANE1
-    , gl_MAP2_VERTEX_ATTRIB5_4_NV
-    , gl_SOURCE3_ALPHA_NV
-    , gl_VOLATILE_APPLE
-    , gl_REFERENCED_BY_GEOMETRY_SHADER_EXT
-    , gl_NORMAL_BIT_PGI
-    , gl_UNSIGNED_INT64_VEC2_NV
-    , gl_MAP1_TANGENT_EXT
-    , gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES
-    , gl_PRIMITIVES_GENERATED_EXT
-    , gl_GEOMETRY_SUBROUTINE_UNIFORM
-    , gl_MAX_UNIFORM_LOCATIONS
-    , gl_COLOR_TABLE_FORMAT_SGI
-    , gl_AMBIENT_AND_DIFFUSE
-    , gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE
-    , gl_UNPACK_SKIP_PIXELS_EXT
-    , gl_COLOR_TABLE_ALPHA_SIZE_SGI
-    , gl_FACTOR_ALPHA_MODULATE_IMG
-    , gl_MAP2_TEXTURE_COORD_1
-    , gl_QUADS
-    , gl_ENABLE_BIT
-    , gl_DOUBLE_MAT3x2
-    , gl_POLYGON_MODE
-    , gl_TEXTURE_COORD_ARRAY_TYPE_EXT
-    , gl_RG16UI
-    , gl_PREVIOUS_TEXTURE_INPUT_NV
-    , gl_COMPRESSED_LUMINANCE_ALPHA
-    , gl_CONVOLUTION_HEIGHT
-    , gl_E_TIMES_F_NV
-    , gl_SET_AMD
-    , gl_MAGNITUDE_SCALE_NV
-    , gl_RED_MAX_CLAMP_INGR
-    , gl_NEVER
-    , gl_UNSIGNED_INT_8_8_S8_S8_REV_NV
-    , gl_COMPRESSED_RGBA_ASTC_4x4_KHR
-    , gl_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT
-    , gl_GEOMETRY_VERTICES_OUT_ARB
-    , gl_DYNAMIC_DRAW_ARB
-    , gl_IMAGE_BINDING_LAYER
-    , gl_UNSIGNED_INT_SAMPLER_2D_RECT_EXT
-    , gl_VERTEX_ARRAY_RANGE_VALID_NV
-    , gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM
-    , gl_LINE_STRIP_ADJACENCY_EXT
-    , gl_PATH_TRANSPOSE_PROJECTION_MATRIX_NV
-    , gl_LUMINANCE_ALPHA16UI_EXT
-    , gl_POST_COLOR_MATRIX_ALPHA_SCALE
-    , gl_FOG_COORDINATE_ARRAY_POINTER_EXT
-    , gl_TEXTURE_GEN_Q
-    , gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
-    , gl_FALSE
-    , gl_POINT_SIZE_ARRAY_OES
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR
-    , gl_HIGH_INT
-    , gl_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX
-    , gl_BUFFER_MAP_LENGTH
-    , gl_OUTPUT_TEXTURE_COORD5_EXT
-    , gl_COMPUTE_WORK_GROUP_SIZE
-    , gl_PROJECTION_STACK_DEPTH
-    , gl_T2F_C3F_V3F
-    , gl_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT
-    , gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT
-    , gl_MAT_SPECULAR_BIT_PGI
-    , gl_COLOR_BUFFER_BIT
-    , gl_TEXTURE_MAX_LEVEL_SGIS
-    , gl_SOURCE1_ALPHA_EXT
-    , gl_TEXCOORD1_BIT_PGI
-    , gl_VARIANT_EXT
-    , gl_TEXTURE_DEPTH_TYPE
-    , gl_STENCIL_INDEX_OES
-    , gl_PERCENTAGE_AMD
-    , gl_MAP2_TANGENT_EXT
-    , gl_CIRCULAR_TANGENT_ARC_TO_NV
-    , gl_PERFMON_RESULT_SIZE_AMD
-    , gl_SAMPLER_CUBE
-    , gl_FOG_SPECULAR_TEXTURE_WIN
-    , gl_UNSIGNED_INT64_AMD
-    , gl_FLOAT_MAT3_ARB
-    , gl_COPY_WRITE_BUFFER_NV
-    , gl_CONSTANT_ATTENUATION
-    , gl_VERTEX_ATTRIB_ARRAY_ADDRESS_NV
-    , gl_MAX_PROGRAM_ATTRIBS_ARB
-    , gl_UNSIGNED_SHORT_8_8_APPLE
-    , gl_DETAIL_TEXTURE_2D_BINDING_SGIS
-    , gl_PRIMITIVE_RESTART_INDEX
-    , gl_RECLAIM_MEMORY_HINT_PGI
-    , gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT
-    , gl_SRC_NV
-    , gl_MAX_FRAMEBUFFER_LAYERS_EXT
-    , gl_VIDEO_CAPTURE_SURFACE_ORIGIN_NV
-    , gl_DEPTH_BUFFER_BIT
-    , gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS
-    , gl_MATRIX1_ARB
-    , gl_FLOAT_VEC4
-    , gl_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV
-    , gl_TEXTURE_GEN_STR_OES
-    , gl_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX
-    , gl_SHADER_KHR
-    , gl_MAX_EVAL_ORDER
-    , gl_CONJOINT_NV
-    , gl_PIXEL_PACK_BUFFER_ARB
-    , gl_REG_25_ATI
-    , gl_PATH_PROJECTION_NV
-    , gl_LUMINANCE4_EXT
-    , gl_MAP2_VERTEX_ATTRIB11_4_NV
-    , gl_MAP2_INDEX
-    , gl_ASYNC_DRAW_PIXELS_SGIX
-    , gl_TEXTURE_CUBE_MAP_POSITIVE_Y
-    , gl_DRAW_BUFFER11_ARB
-    , gl_SAMPLES_SGIS
-    , gl_IMAGE_MIN_FILTER_HP
-    , gl_BUFFER
-    , gl_OUTPUT_TEXTURE_COORD15_EXT
-    , gl_DEBUG_SOURCE_WINDOW_SYSTEM_ARB
-    , gl_MAX_FRAMEBUFFER_HEIGHT
-    , gl_LIST_INDEX
-    , gl_RGB4_EXT
-    , gl_COLOR_BUFFER_BIT2_QCOM
-    , gl_BOOL_ARB
-    , gl_DEBUG_TYPE_PORTABILITY_ARB
-    , gl_COMBINER_CD_OUTPUT_NV
-    , gl_COLOR_ATTACHMENT6_EXT
-    , gl_FOG_COORDINATE_ARRAY_STRIDE_EXT
-    , gl_COMMAND_BARRIER_BIT_EXT
-    , gl_QUERY_WAIT_NV
-    , gl_FLOAT_VEC4_ARB
-    , gl_IMAGE_ROTATE_ORIGIN_Y_HP
-    , gl_COMPUTE_PROGRAM_NV
-    , gl_ONE_MINUS_DST_COLOR
-    , gl_SPRITE_AXIAL_SGIX
-    , gl_TRANSFORM_FEEDBACK_BUFFER_MODE
-    , gl_DOUBLE_VEC4
-    , gl_IMAGE_FORMAT_COMPATIBILITY_TYPE
-    , gl_SYNC_CONDITION
-    , gl_INT_IMAGE_CUBE_MAP_ARRAY_EXT
-    , gl_DRAW_BUFFER8_NV
-    , gl_DEBUG_SOURCE_APPLICATION_ARB
-    , gl_NORMAL_ARRAY_TYPE
-    , gl_SYNC_GPU_COMMANDS_COMPLETE_APPLE
-    , gl_DRAW_FRAMEBUFFER_ANGLE
-    , gl_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES
-    , gl_TESS_CONTROL_OUTPUT_VERTICES_EXT
-    , gl_T2F_C4F_N3F_V3F
-    , gl_FIRST_TO_REST_NV
-    , gl_TEXTURE_STACK_DEPTH
-    , gl_RGB32F_ARB
-    , gl_DEBUG_SEVERITY_HIGH_KHR
-    , gl_STENCIL_INDEX16
-    , gl_CURRENT_RASTER_INDEX
-    , gl_LINEARDODGE_NV
-    , gl_ALPHA_TEST_REF_QCOM
-    , gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT
-    , gl_FORMAT_SUBSAMPLE_244_244_OML
-    , gl_COMPRESSED_RG
-    , gl_EYE_LINEAR
-    , gl_TEXTURE_CUBE_MAP_POSITIVE_Z_OES
-    , gl_UNSIGNED_SHORT_4_4_4_4
-    , gl_EVAL_FRACTIONAL_TESSELLATION_NV
-    , gl_OBJECT_BUFFER_USAGE_ATI
-    , gl_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV
-    , gl_POINT_DISTANCE_ATTENUATION_ARB
-    , gl_VERTEX_BINDING_STRIDE
-    , gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR
-    , gl_ALPHA_INTEGER_EXT
-    , gl_CONSERVATIVE_RASTERIZATION_NV
-    , gl_QUERY_NO_WAIT_NV
-    , gl_REG_9_ATI
-    , gl_MAX_VERTEX_ATTRIB_STRIDE
-    , gl_QUERY_BY_REGION_WAIT_INVERTED
-    , gl_MAP1_VERTEX_ATTRIB5_4_NV
-    , gl_COLOR_TABLE_SGI
-    , gl_PROGRAM_PIPELINE_BINDING_EXT
-    , gl_PROGRAM_NATIVE_ATTRIBS_ARB
-    , gl_DEBUG_CATEGORY_APPLICATION_AMD
-    , gl_MODELVIEW_PROJECTION_NV
-    , gl_ZOOM_X
-    , gl_TEXTURE12
-    , gl_NO_ERROR
-    , gl_PIXEL_TEXTURE_SGIS
-    , gl_ONE_MINUS_SRC_ALPHA
-    , gl_UNSIGNED_INT_SAMPLER_2D_ARRAY
-    , gl_WEIGHT_SUM_UNITY_ARB
-    , gl_VIRTUAL_PAGE_SIZE_Y_AMD
-    , gl_VERSION_ES_CL_1_0
-    , gl_QUADRATIC_ATTENUATION
-    , gl_PACK_COMPRESSED_BLOCK_SIZE
-    , gl_MAX_CLIP_PLANES_IMG
-    , gl_SUBPIXEL_BITS
-    , gl_PATCH_DEFAULT_OUTER_LEVEL
-    , gl_REDUCE
-    , gl_MAX_VERTEX_OUTPUT_COMPONENTS
-    , gl_DEPTH_BUFFER_BIT5_QCOM
-    , gl_SHADER_IMAGE_LOAD
-    , gl_POST_COLOR_MATRIX_BLUE_SCALE
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES
-    , gl_RENDERBUFFER_ALPHA_SIZE_EXT
-    , gl_FONT_Y_MIN_BOUNDS_BIT_NV
-    , gl_INTERNALFORMAT_RED_SIZE
-    , gl_TEXTURE18
-    , gl_VERTEX_ATTRIB_ARRAY12_NV
-    , gl_SAMPLE_MASK_INVERT_EXT
-    , gl_PIXEL_TEX_GEN_ALPHA_MS_SGIX
-    , gl_DRAW_BUFFER11
-    , gl_HISTOGRAM_RED_SIZE_EXT
-    , gl_DEPTH_ATTACHMENT_EXT
-    , gl_DISPLAY_LIST
-    , gl_OP_EXP_BASE_2_EXT
-    , gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NV
-    , gl_PROGRAM_BINARY_LENGTH
-    , gl_MAX_MULTIVIEW_BUFFERS_EXT
-    , gl_SLIM12S_SGIX
-    , gl_LUMINANCE_FLOAT16_ATI
-    , gl_TEXTURE_BUFFER
-    , gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT
-    , gl_DEPTH_TEXTURE_MODE_ARB
-    , gl_WEIGHT_ARRAY_TYPE_ARB
-    , gl_PROJECTION_MATRIX
-    , gl_COMPRESSED_RGBA_FXT1_3DFX
-    , gl_DS_BIAS_NV
-    , gl_CON_31_ATI
-    , gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB
-    , gl_RGBA4
-    , gl_SAMPLE_BUFFERS_ARB
-    , gl_RGB8I_EXT
-    , gl_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT
-    , gl_QUERY_COUNTER_BITS_EXT
-    , gl_ACTIVE_VARYING_MAX_LENGTH_NV
-    , gl_INDEX_MODE
-    , gl_VIDEO_BUFFER_INTERNAL_FORMAT_NV
-    , gl_UNSIGNED_SHORT_1_15_REV_MESA
-    , gl_R16_SNORM
-    , gl_PACK_IMAGE_HEIGHT_EXT
-    , gl_DRAW_PIXELS_APPLE
-    , gl_TEXTURE_COMPRESSED_BLOCK_SIZE
-    , gl_BUFFER_DATA_SIZE
-    , gl_PROXY_TEXTURE_1D_EXT
-    , gl_CONVOLUTION_1D_EXT
-    , gl_RG16I
-    , gl_VERTEX_ATTRIB_ARRAY8_NV
-    , gl_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL
-    , gl_OPERAND1_ALPHA_ARB
-    , gl_INT_SAMPLER_2D_ARRAY
-    , gl_ALPHA12
-    , gl_MODELVIEW5_ARB
-    , gl_MULTISAMPLE_BUFFER_BIT0_QCOM
-    , gl_REGISTER_COMBINERS_NV
-    , gl_PIXEL_MAP_R_TO_R
-    , gl_BLEND_SRC_RGB
-    , gl_2_BYTES_NV
-    , gl_MAX_SAMPLES_EXT
-    , gl_VIEW_CLASS_24_BITS
-    , gl_COMPRESSED_RGBA_BPTC_UNORM
-    , gl_COLOR_ARRAY_POINTER
-    , gl_SAMPLER_2D_MULTISAMPLE_ARRAY
-    , gl_ALPHA_BITS
-    , gl_REG_28_ATI
-    , gl_FETCH_PER_SAMPLE_ARM
-    , gl_R1UI_T2F_C4F_N3F_V3F_SUN
-    , gl_BITMAP
-    , gl_POLYGON_OFFSET_POINT
-    , gl_STEREO
-    , gl_MATRIX15_ARB
-    , gl_BLUE_INTEGER
-    , gl_DEPTH_BOUNDS_EXT
-    , gl_MAX_GEOMETRY_INPUT_COMPONENTS
-    , gl_COLOR_ATTACHMENT10_EXT
-    , gl_RESCALE_NORMAL
-    , gl_INT_SAMPLER_RENDERBUFFER_NV
-    , gl_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT
-    , gl_INT_IMAGE_2D_MULTISAMPLE
-    , gl_MAP2_VERTEX_ATTRIB1_4_NV
-    , gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV
-    , gl_OUTPUT_COLOR1_EXT
-    , gl_PACK_SKIP_IMAGES_EXT
-    , gl_RENDERBUFFER_HEIGHT
-    , gl_FRAGMENT_PROGRAM_NV
-    , gl_RENDERBUFFER_EXT
-    , gl_FRAGMENT_COVERAGE_COLOR_NV
-    , gl_DRAW_BUFFER10_NV
-    , gl_LAYOUT_LINEAR_CPU_CACHED_INTEL
-    , gl_NOTEQUAL
-    , gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT
-    , gl_SYNC_OBJECT_APPLE
-    , gl_RELEASED_APPLE
-    , gl_COMPARE_R_TO_TEXTURE
-    , gl_INT
-    , gl_HI_BIAS_NV
-    , gl_INTERNALFORMAT_ALPHA_SIZE
-    , gl_STENCIL_TEST_TWO_SIDE_EXT
-    , gl_GREEN_BIAS
-    , gl_BLEND_ADVANCED_COHERENT_KHR
-    , gl_PERFQUERY_COUNTER_DURATION_NORM_INTEL
-    , gl_ATTRIB_ARRAY_STRIDE_NV
-    , gl_MAX_RECTANGLE_TEXTURE_SIZE
-    , gl_WRITE_PIXEL_DATA_RANGE_LENGTH_NV
-    , gl_CURRENT_VERTEX_ATTRIB_ARB
-    , gl_HSL_COLOR_NV
-    , gl_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT
-    , gl_LUMINANCE8I_EXT
-    , gl_OPERAND0_RGB
-    , gl_INTENSITY_FLOAT32_APPLE
-    , gl_HISTOGRAM
-    , gl_EXCLUSION_NV
-    , gl_R1UI_V3F_SUN
-    , gl_REDUCE_EXT
-    , gl_OUTPUT_COLOR0_EXT
-    , gl_ELEMENT_ARRAY_POINTER_APPLE
-    , gl_ELEMENT_ARRAY_POINTER_ATI
-    , gl_TEXTURE_COORD_ARRAY_LIST_IBM
-    , gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT
-    , gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS
-    , gl_SHADING_LANGUAGE_VERSION
-    , gl_FIXED
-    , gl_QUAD_TEXTURE_SELECT_SGIS
-    , gl_FRAGMENT_COVERAGE_TO_COLOR_NV
-    , gl_LUMINANCE12
-    , gl_ALPHA_SCALE
-    , gl_VERTEX_PROGRAM_CALLBACK_FUNC_MESA
-    , gl_SWIZZLE_STRQ_ATI
-    , gl_ROUND_NV
-    , gl_POST_COLOR_MATRIX_RED_BIAS_SGI
-    , gl_PROXY_TEXTURE_2D_STACK_MESAX
-    , gl_LIGHT_ENV_MODE_SGIX
-    , gl_INTENSITY16
-    , gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE
-    , gl_NO_RESET_NOTIFICATION
-    , gl_MAX_PROGRAM_LOOP_COUNT_NV
-    , gl_MAX_RASTER_SAMPLES_EXT
-    , gl_MAT_AMBIENT_BIT_PGI
-    , gl_COMPRESSED_RED_GREEN_RGTC2_EXT
-    , gl_FRAMEBUFFER_BINDING_OES
-    , gl_SRC_ALPHA
-    , gl_DOT_PRODUCT_DEPTH_REPLACE_NV
-    , gl_PLUS_CLAMPED_NV
-    , gl_UNSIGNED_INT_IMAGE_2D_EXT
-    , gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY
-    , gl_BACK
-    , gl_DEBUG_SOURCE_WINDOW_SYSTEM_KHR
-    , gl_COMBINER1_NV
-    , gl_POINT_TOKEN
-    , gl_VERTEX_ATTRIB_ARRAY4_NV
-    , gl_YCBCR_MESA
-    , gl_4D_COLOR_TEXTURE
-    , gl_RGB_RAW_422_APPLE
-    , gl_TEXCOORD3_BIT_PGI
-    , gl_FOG_COORDINATE_ARRAY_TYPE_EXT
-    , gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT
-    , gl_MIRRORED_REPEAT_OES
-    , gl_DYNAMIC_DRAW
-    , gl_DRAW_BUFFER12_ARB
-    , gl_CLAMP_FRAGMENT_COLOR_ARB
-    , gl_TEXTURE_WRAP_R
-    , gl_LUMINANCE
-    , gl_FRONT_AND_BACK
-    , gl_COMPUTE_SUBROUTINE
-    , gl_COMPRESSED_RGBA_ASTC_3x3x3_OES
-    , gl_TEXTURE_RED_TYPE_ARB
-    , gl_SPARSE_BUFFER_PAGE_SIZE_ARB
-    , gl_PERFQUERY_WAIT_INTEL
-    , gl_SHADER_IMAGE_STORE
-    , gl_GPU_OPTIMIZED_QCOM
-    , gl_MULTISAMPLE_BUFFER_BIT2_QCOM
-    , gl_MAX_LABEL_LENGTH
-    , gl_NONE
-    , gl_COORD_REPLACE_ARB
-    , gl_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT
-    , gl_TEXTURE_CLIPMAP_OFFSET_SGIX
-    , gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES
-    , gl_POLYGON_OFFSET_EXT
-    , gl_SAMPLE_SHADING
-    , gl_INCR_WRAP_OES
-    , gl_LUMINANCE32F_ARB
-    , gl_MAX_COLOR_ATTACHMENTS_NV
-    , gl_CLIP_PLANE0_IMG
-    , gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT
-    , gl_CURRENT_RASTER_TEXTURE_COORDS
-    , gl_COLOR_EXT
-    , gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
-    , gl_VIVIDLIGHT_NV
-    , gl_MIN_PROGRAM_TEXEL_OFFSET_NV
-    , gl_SLUMINANCE_ALPHA
-    , gl_TEXTURE_LIGHTING_MODE_HP
-    , gl_TEXTURE_RECTANGLE_ARB
-    , gl_MAX_ASYNC_DRAW_PIXELS_SGIX
-    , gl_INT_SAMPLER_2D_ARRAY_EXT
-    , gl_INDEX_ARRAY_LENGTH_NV
-    , gl_CONVOLUTION_1D
-    , gl_RENDERBUFFER_SAMPLES_NV
-    , gl_MAX_FRAGMENT_INPUT_COMPONENTS
-    , gl_COMBINER_BIAS_NV
-    , gl_TESS_GEN_POINT_MODE
-    , gl_TEXTURE_CLIPMAP_FRAME_SGIX
-    , gl_COMPRESSED_RGBA_ASTC_10x10_KHR
-    , gl_LUMINANCE_ALPHA32I_EXT
-    , gl_RGB5_A1_EXT
-    , gl_CLAMP_TO_BORDER_ARB
-    , gl_MATRIX31_ARB
-    , gl_COLOR_ATTACHMENT2_NV
-    , gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV
-    , gl_TESS_CONTROL_SUBROUTINE
-    , gl_INT_2_10_10_10_REV
-    , gl_OUTPUT_TEXTURE_COORD26_EXT
-    , gl_MAX_ATTRIB_STACK_DEPTH
-    , gl_POLYGON_SMOOTH_HINT
-    , gl_VERTEX_PROGRAM_PARAMETER_BUFFER_NV
-    , gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING
-    , gl_MAP1_TEXTURE_COORD_1
-    , gl_RESAMPLE_DECIMATE_SGIX
-    , gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS
-    , gl_MAX_DEBUG_GROUP_STACK_DEPTH
-    , gl_DRAW_BUFFER9
-    , gl_TEXTURE_SWIZZLE_G_EXT
-    , gl_UNSIGNED_INT_10_10_10_2_EXT
-    , gl_TEXTURE14_ARB
-    , gl_CURRENT_MATRIX_ARB
-    , gl_FOG_COORD_ARRAY_POINTER
-    , gl_IMAGE_CLASS_10_10_10_2
-    , gl_LINE_STRIP_ADJACENCY_ARB
-    , gl_POST_CONVOLUTION_ALPHA_SCALE
-    , gl_LAST_VIDEO_CAPTURE_STATUS_NV
-    , gl_TEXTURE_BINDING_2D
-    , gl_UNIFORM_BUFFER_ADDRESS_NV
-    , gl_OUTPUT_TEXTURE_COORD13_EXT
-    , gl_UNPACK_ALIGNMENT
-    , gl_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE
-    , gl_COMPRESSED_RG11_EAC_OES
-    , gl_CON_6_ATI
-    , gl_LINES_ADJACENCY
-    , gl_CLIP_DISTANCE4_APPLE
-    , gl_SAMPLER_CUBE_ARB
-    , gl_FLOAT_MAT3x4_NV
-    , gl_IMAGE_CUBE_MAP_ARRAY_EXT
-    , gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER
-    , gl_SECONDARY_COLOR_ARRAY_POINTER
-    , gl_TEXTURE_BINDING_1D
-    , gl_LOCATION
-    , gl_FRAGMENT_SHADER_INVOCATIONS_ARB
-    , gl_INT_IMAGE_2D
-    , gl_RGB10_A2_EXT
-    , gl_REG_27_ATI
-    , gl_ALLOW_DRAW_MEM_HINT_PGI
-    , gl_WARPS_PER_SM_NV
-    , gl_RGB16F_EXT
-    , gl_RG8I
-    , gl_EVAL_TRIANGULAR_2D_NV
-    , gl_COMPRESSED_RGB8_ETC2
-    , gl_POST_CONVOLUTION_BLUE_BIAS
-    , gl_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB
-    , gl_INTENSITY12_EXT
-    , gl_FILTER4_SGIS
-    , gl_ALPHA_FLOAT32_APPLE
-    , gl_LUMINANCE4
-    , gl_DEBUG_SOURCE_OTHER_KHR
-    , gl_R11F_G11F_B10F_EXT
-    , gl_ATTACHED_SHADERS
-    , gl_BUFFER_MAPPED_OES
-    , gl_PROGRAM_UNDER_NATIVE_LIMITS_ARB
-    , gl_FLOAT_CLEAR_COLOR_VALUE_NV
-    , gl_DOUBLE_MAT4x2_EXT
-    , gl_INT8_NV
-    , gl_TEXTURE_COLOR_SAMPLES_NV
-    , gl_3D
-    , gl_TRANSFORM_FEEDBACK_VARYINGS_EXT
-    , gl_T2F_C4UB_V3F
-    , gl_BGRA
-    , gl_REG_21_ATI
-    , gl_MAP_COHERENT_BIT
-    , gl_TEXTURE_BASE_LEVEL
-    , gl_UNSIGNED_INT_IMAGE_CUBE
-    , gl_DRAW_FRAMEBUFFER_BINDING_APPLE
-    , gl_TEXTURE_BINDING_2D_ARRAY_EXT
-    , gl_PROXY_TEXTURE_2D
-    , gl_NEAREST_CLIPMAP_NEAREST_SGIX
-    , gl_DEBUG_TYPE_OTHER_ARB
-    , gl_STENCIL_BUFFER_BIT0_QCOM
-    , gl_DEBUG_SOURCE_OTHER_ARB
-    , gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
-    , gl_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM
-    , gl_MATRIX_INDEX_ARRAY_STRIDE_OES
-    , gl_RELATIVE_SMALL_CW_ARC_TO_NV
-    , gl_MINMAX_SINK_EXT
-    , gl_COMPRESSED_RGBA_ASTC_6x5_KHR
-    , gl_MAP_INVALIDATE_RANGE_BIT_EXT
-    , gl_DEPTH_STENCIL_OES
-    , gl_DISPATCH_INDIRECT_BUFFER
-    , gl_CONVOLUTION_FORMAT
-    , gl_TEXTURE_SRGB_DECODE_EXT
-    , gl_CLAMP_VERTEX_COLOR
-    , gl_INNOCENT_CONTEXT_RESET_ARB
-    , gl_R8_SNORM
-    , gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT
-    , gl_DEBUG_GROUP_STACK_DEPTH
-    , gl_MULTISAMPLES_NV
-    , gl_SAMPLER_1D_SHADOW
-    , gl_TEXTURE_INTERNAL_FORMAT_QCOM
-    , gl_IMAGE_ROTATE_ORIGIN_X_HP
-    , gl_COMPRESSED_RGBA_ASTC_12x12_KHR
-    , gl_TRANSFORM_FEEDBACK_BUFFER_NV
-    , gl_MAX_SHADER_STORAGE_BLOCK_SIZE
-    , gl_XOR
-    , gl_HISTOGRAM_FORMAT
-    , gl_GREEN_NV
-    , gl_VERTEX_PROGRAM_CALLBACK_DATA_MESA
-    , gl_UPPER_LEFT
-    , gl_SUPERSAMPLE_SCALE_X_NV
-    , gl_INT16_VEC4_NV
-    , gl_FRACTIONAL_EVEN_EXT
-    , gl_NOR
-    , gl_SAMPLER_2D_ARRAY
-    , gl_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB
-    , gl_RGB10
-    , gl_RGB8
-    , gl_TEXTURE_GEN_R
-    , gl_PACK_SKIP_IMAGES
-    , gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT
-    , gl_RENDERBUFFER_DEPTH_SIZE
-    , gl_TEXTURE_STORAGE_SPARSE_BIT_AMD
-    , gl_CLOSE_PATH_NV
-    , gl_SRC1_RGB
-    , gl_GEOMETRY_SHADER_EXT
-    , gl_TEXTURE27_ARB
-    , gl_VERTEX4_BIT_PGI
-    , gl_BOOL_VEC4_ARB
-    , gl_AND_REVERSE
-    , gl_SAMPLE_COVERAGE
-    , gl_RASTER_SAMPLES_EXT
-    , gl_FOG_COORD_ARRAY
-    , gl_NAME_LENGTH
-    , gl_ATOMIC_COUNTER_BARRIER_BIT_EXT
-    , gl_NORMAL_ARRAY_STRIDE
-    , gl_CON_11_ATI
-    , gl_RENDERBUFFER_WIDTH
-    , gl_TESS_GEN_VERTEX_ORDER_EXT
-    , gl_NICEST
-    , gl_R16UI
-    , gl_MAP1_VERTEX_ATTRIB12_4_NV
-    , gl_TESS_GEN_SPACING
-    , gl_CURRENT_INDEX
-    , gl_PIXEL_TEX_GEN_ALPHA_LS_SGIX
-    , gl_COMPRESSED_R11_EAC_OES
-    , gl_TRANSPOSE_TEXTURE_MATRIX
-    , gl_PURGEABLE_APPLE
-    , gl_FLOAT_RG16_NV
-    , gl_TEXTURE_SWIZZLE_RGBA_EXT
-    , gl_MIRRORED_REPEAT_IBM
-    , gl_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL
-    , gl_TEXTURE_MIN_LOD
-    , gl_MAX_PROGRAM_RESULT_COMPONENTS_NV
-    , gl_BGRA_IMG
-    , gl_MAX_PROGRAM_TEX_INDIRECTIONS_ARB
-    , gl_RG8
-    , gl_FRAGMENT_SUBROUTINE_UNIFORM
-    , gl_422_AVERAGE_EXT
-    , gl_VERTEX_ATTRIB_ARRAY_INTEGER_EXT
-    , gl_DEBUG_SEVERITY_NOTIFICATION
-    , gl_COLOR_ATTACHMENT12_EXT
-    , gl_READ_WRITE
-    , gl_COVERAGE_MODULATION_TABLE_NV
-    , gl_POLYGON_OFFSET_BIAS_EXT
-    , gl_FLOAT_RGB_NV
-    , gl_TRANSPOSE_PROJECTION_MATRIX
-    , gl_UNDEFINED_APPLE
-    , gl_VERTEX_ATTRIB_ARRAY_TYPE
-    , gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT
-    , gl_DEPTH_CLAMP
-    , gl_OFFSET_TEXTURE_RECTANGLE_NV
-    , gl_OUTPUT_TEXTURE_COORD18_EXT
-    , gl_VERTEX_SHADER
-    , gl_VARIABLE_B_NV
-    , gl_UNPACK_ROW_BYTES_APPLE
-    , gl_PROXY_TEXTURE_2D_ARRAY
-    , gl_COLOR_ATTACHMENT12
-    , gl_BUFFER_USAGE_ARB
-    , gl_MAX_ARRAY_TEXTURE_LAYERS
-    , gl_SAMPLER_1D
-    , gl_PROGRAM_OBJECT_EXT
-    , gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE
-    , gl_TEXTURE_BORDER
-    , gl_PERSPECTIVE_CORRECTION_HINT
-    , gl_GREEN_INTEGER
-    , gl_COVERAGE_AUTOMATIC_NV
-    , gl_TEXTURE22_ARB
-    , gl_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI
-    , gl_COLOR_ATTACHMENT3_NV
-    , gl_PATH_FILL_BOUNDING_BOX_NV
-    , gl_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT
-    , gl_TOP_LEVEL_ARRAY_SIZE
-    , gl_TRANSPOSE_AFFINE_3D_NV
-    , gl_SAMPLER
-    , gl_RG8_EXT
-    , gl_TEXTURE_FILTER_CONTROL
-    , gl_COLOR_ARRAY
-    , gl_DUAL_LUMINANCE16_SGIS
-    , gl_PIXEL_MODE_BIT
-    , gl_COMPRESSED_SIGNED_R11_EAC_OES
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR
-    , gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT
-    , gl_COMPRESSED_SRGB_ALPHA
-    , gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT
-    , gl_POST_CONVOLUTION_RED_BIAS_EXT
-    , gl_EVAL_VERTEX_ATTRIB3_NV
-    , gl_YCBYCR8_422_NV
-    , gl_CONTEXT_LOST_WEBGL
-    , gl_PROGRAM_BINARY_ANGLE
-    , gl_REQUIRED_TEXTURE_IMAGE_UNITS_OES
-    , gl_CALLIGRAPHIC_FRAGMENT_SGIX
-    , gl_NORMAL_MAP_NV
-    , gl_LINE_RESET_TOKEN
-    , gl_PROXY_TEXTURE_RECTANGLE_NV
-    , gl_MODELVIEW0_MATRIX_EXT
-    , gl_MAX_FRAMEBUFFER_SAMPLES
-    , gl_LUMINANCE8UI_EXT
-    , gl_PROXY_COLOR_TABLE
-    , gl_RENDERBUFFER_BLUE_SIZE
-    , gl_UNSIGNED_INT_5_9_9_9_REV
-    , gl_COMBINE_ALPHA_ARB
-    , gl_MAX_SPOT_EXPONENT_NV
-    , gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT
-    , gl_MAP2_VERTEX_ATTRIB8_4_NV
-    , gl_MIN_FRAGMENT_INTERPOLATION_OFFSET
-    , gl_REPLACE_VALUE_AMD
-    , gl_OPERAND0_RGB_EXT
-    , gl_TEXTURE_COORD_ARRAY_POINTER
-    , gl_DEPTH_BUFFER_BIT2_QCOM
-    , gl_UNPACK_COMPRESSED_BLOCK_DEPTH
-    , gl_BLEND_EQUATION_OES
-    , gl_TEXTURE_CUBE_MAP_POSITIVE_X
-    , gl_MAX_SPARSE_3D_TEXTURE_SIZE_ARB
-    , gl_TEXTURE_1D_STACK_MESAX
-    , gl_FRAMEBUFFER_ATTACHMENT_ANGLE
-    , gl_MAX_DEFORMATION_ORDER_SGIX
-    , gl_SECONDARY_COLOR_ARRAY_EXT
-    , gl_REG_14_ATI
-    , gl_FULL_RANGE_EXT
-    , gl_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT
-    , gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS
-    , gl_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB
-    , gl_MAX_MAP_TESSELLATION_NV
-    , gl_VERTEX_ID_NV
-    , gl_MODELVIEW0_STACK_DEPTH_EXT
-    , gl_COLOR_ARRAY_POINTER_EXT
-    , gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT
-    , gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT
-    , gl_DEPTH_COMPONENT16_ARB
-    , gl_DEBUG_TYPE_PERFORMANCE_ARB
-    , gl_PACK_ROW_LENGTH
-    , gl_MULTISAMPLE_COVERAGE_MODES_NV
-    , gl_COLOR_ATTACHMENT1_NV
-    , gl_COMPRESSED_SIGNED_RG11_EAC_OES
-    , gl_DEBUG_TYPE_ERROR
-    , gl_MAX_DEBUG_MESSAGE_LENGTH_ARB
-    , gl_ACTIVE_UNIFORM_BLOCKS
-    , gl_MODELVIEW24_ARB
-    , gl_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV
-    , gl_DEBUG_LOGGED_MESSAGES_KHR
-    , gl_INTERNALFORMAT_GREEN_TYPE
-    , gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES
-    , gl_UNIFORM_BLOCK_INDEX
-    , gl_DRAW_BUFFER15_NV
-    , gl_EXCLUSION_KHR
-    , gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES
-    , gl_TESS_EVALUATION_SHADER_EXT
-    , gl_VERTICAL_LINE_TO_NV
-    , gl_LUMINANCE4_ALPHA4_OES
-    , gl_BOUNDING_BOX_NV
-    , gl_PROGRAM_POINT_SIZE_ARB
-    , gl_LUMINANCE_ALPHA16F_EXT
-    , gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES
-    , gl_CONVOLUTION_2D
-    , gl_SAMPLE_COVERAGE_ARB
-    , gl_POINT_SIZE
-    , gl_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI
-    , gl_QUERY_BY_REGION_NO_WAIT_NV
-    , gl_MAP1_VERTEX_ATTRIB3_4_NV
-    , gl_PATH_STROKE_BOUNDING_BOX_NV
-    , gl_SAMPLER_2D_SHADOW_ARB
-    , gl_COLOR_ATTACHMENT11_EXT
-    , gl_SYNC_FLUSH_COMMANDS_BIT
-    , gl_STENCIL
-    , gl_INVALID_VALUE
-    , gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT
-    , gl_COMPATIBLE_SUBROUTINES
-    , gl_UNSIGNED_INT8_VEC2_NV
-    , gl_BLUE_NV
-    , gl_INVALID_ENUM
-    , gl_DEPTH24_STENCIL8_OES
-    , gl_TEXTURE_2D_MULTISAMPLE_ARRAY_OES
-    , gl_INCR_WRAP
-    , gl_BLUE_SCALE
-    , gl_PRIMARY_COLOR_EXT
-    , gl_IUI_V2F_EXT
-    , gl_FLOAT16_VEC3_NV
-    , gl_PERFQUERY_COUNTER_DATA_FLOAT_INTEL
-    , gl_GEOMETRY_SHADER_ARB
-    , gl_COLOR
-    , gl_COLOR_INDEX2_EXT
-    , gl_VIDEO_BUFFER_PITCH_NV
-    , gl_OBJECT_DISTANCE_TO_LINE_SGIS
-    , gl_PIXEL_UNPACK_BUFFER_BINDING_ARB
-    , gl_SAMPLER_BUFFER_EXT
-    , gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV
-    , gl_COLORBURN_NV
-    , gl_NEGATIVE_Z_EXT
-    , gl_MATRIX26_ARB
-    , gl_COLOR_MATRIX
-    , gl_VERTEX_ATTRIB_ARRAY_SIZE
-    , gl_LUMINANCE8
-    , gl_COMPRESSED_SIGNED_RG_RGTC2
-    , gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT
-    , gl_BLEND_OVERLAP_NV
-    , gl_COMPRESSED_SRGB8_ETC2
-    , gl_LIGHT6
-    , gl_COEFF
-    , gl_DRAW_INDIRECT_LENGTH_NV
-    , gl_INDEX_ARRAY_LIST_IBM
-    , gl_DRAW_BUFFER8_ARB
-    , gl_TEXTURE_COMPARE_FAIL_VALUE_ARB
-    , gl_SLUMINANCE8_ALPHA8
-    , gl_MAX_TEXTURE_IMAGE_UNITS_NV
-    , gl_FOG_COORDINATE_ARRAY
-    , gl_OPERAND2_ALPHA_ARB
-    , gl_FLOAT_32_UNSIGNED_INT_24_8_REV
-    , gl_RESAMPLE_REPLICATE_OML
-    , gl_UNPACK_SKIP_ROWS
-    , gl_STENCIL_VALUE_MASK
-    , gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB
-    , gl_COLOR_ATTACHMENT5_NV
-    , gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE
-    , gl_PROXY_TEXTURE_4D_SGIS
-    , gl_COLOR_ATTACHMENT0_EXT
-    , gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
-    , gl_CONFORMANT_NV
-    , gl_TEXTURE_BINDING_1D_ARRAY_EXT
-    , gl_QUAD_LUMINANCE4_SGIS
-    , gl_MATRIX_INDEX_ARRAY_TYPE_ARB
-    , gl_LUMINANCE16_ALPHA16
-    , gl_TESSELLATION_MODE_AMD
-    , gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV
-    , gl_BUFFER_MAP_POINTER_ARB
-    , gl_CON_12_ATI
-    , gl_HALF_BIAS_NEGATE_NV
-    , gl_TEXTURE_BUFFER_ARB
-    , gl_CON_26_ATI
-    , gl_MOVE_TO_RESETS_NV
-    , gl_OFFSET_TEXTURE_MATRIX_NV
-    , gl_COMPRESSED_SIGNED_R11_EAC
-    , gl_POST_COLOR_MATRIX_BLUE_BIAS_SGI
-    , gl_MAX_DRAW_BUFFERS_ATI
-    , gl_UNSIGNED_INT_VEC4_EXT
-    , gl_PATH_PROJECTION_MATRIX_NV
-    , gl_REFERENCED_BY_TESS_CONTROL_SHADER_EXT
-    , gl_VARIABLE_F_NV
-    , gl_DEBUG_CATEGORY_DEPRECATION_AMD
-    , gl_TRANSPOSE_TEXTURE_MATRIX_ARB
-    , gl_DRAW_BUFFER12_NV
-    , gl_OPERAND1_ALPHA_EXT
-    , gl_SECONDARY_COLOR_ARRAY_SIZE_EXT
-    , gl_MAP2_VERTEX_ATTRIB13_4_NV
-    , gl_PROXY_TEXTURE_1D
-    , gl_SPRITE_EYE_ALIGNED_SGIX
-    , gl_TEXTURE_MAX_CLAMP_S_SGIX
-    , gl_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT
-    , gl_NORMAL_ARRAY_BUFFER_BINDING
-    , gl_TEXTURE_CUBE_MAP_ARRAY_EXT
-    , gl_T2F_IUI_N3F_V2F_EXT
-    , gl_MAX_3D_TEXTURE_SIZE_OES
-    , gl_TESS_EVALUATION_SHADER_BIT_EXT
-    , gl_FOG_START
-    , gl_VERTEX_ARRAY_TYPE_EXT
-    , gl_SAMPLER_2D_MULTISAMPLE
-    , gl_UNSIGNED_INT_VEC2
-    , gl_MAP2_VERTEX_ATTRIB2_4_NV
-    , gl_STACK_OVERFLOW
-    , gl_UNSIGNED_INT_S8_S8_8_8_NV
-    , gl_RASTERIZER_DISCARD_EXT
-    , gl_SHADER_CONSISTENT_NV
-    , gl_READ_FRAMEBUFFER_APPLE
-    , gl_PRIMITIVE_RESTART_FIXED_INDEX
-    , gl_PIXEL_MAP_A_TO_A
-    , gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER
-    , gl_VERTEX_ATTRIB_ARRAY_ENABLED
-    , gl_CLIP_FAR_HINT_PGI
-    , gl_MULTISAMPLE_BIT
-    , gl_DRAW_BUFFER6_NV
-    , gl_REG_20_ATI
-    , gl_TEXTURE_CONSTANT_DATA_SUNX
-    , gl_UNIFORM
-    , gl_UNIFORM_BLOCK
-    , gl_COLOR_TABLE_LUMINANCE_SIZE_SGI
-    , gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR
-    , gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT
-    , gl_HISTOGRAM_FORMAT_EXT
-    , gl_PATCHES_EXT
-    , gl_OR_REVERSE
-    , gl_OUTPUT_TEXTURE_COORD0_EXT
-    , gl_BUFFER_FLUSHING_UNMAP_APPLE
-    , gl_VERTEX_ARRAY_RANGE_POINTER_NV
-    , gl_TEXTURE_1D_ARRAY_EXT
-    , gl_MODELVIEW25_ARB
-    , gl_COMBINE_RGB
-    , gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB
-    , gl_DOUBLE_MAT4
-    , gl_PRESERVE_ATI
-    , gl_MAP1_VERTEX_ATTRIB15_4_NV
-    , gl_QUADRATIC_CURVE_TO_NV
-    , gl_PN_TRIANGLES_POINT_MODE_CUBIC_ATI
-    , gl_GREEN_MIN_CLAMP_INGR
-    , gl_CLIP_DISTANCE6_APPLE
-    , gl_DATA_BUFFER_AMD
-    , gl_ANY_SAMPLES_PASSED
-    , gl_OBJECT_TYPE_APPLE
-    , gl_RENDERBUFFER_BINDING
-    , gl_COMPRESSED_SRGB_S3TC_DXT1_EXT
-    , gl_NUM_COMPRESSED_TEXTURE_FORMATS
-    , gl_TEXTURE_ALPHA_SIZE
-    , gl_CLIP_DISTANCE3
-    , gl_MALI_SHADER_BINARY_ARM
-    , gl_PACK_COMPRESSED_BLOCK_WIDTH
-    , gl_VERTEX_ARRAY_STRIDE
-    , gl_GEOMETRY_SHADER_BIT_EXT
-    , gl_OUTPUT_TEXTURE_COORD4_EXT
-    , gl_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB
-    , gl_BLUE_MIN_CLAMP_INGR
-    , gl_DEBUG_SOURCE_SHADER_COMPILER_KHR
-    , gl_NORMAL_ARRAY_EXT
-    , gl_RGB8_EXT
-    , gl_TEXTURE_DEPTH_QCOM
-    , gl_DEPTH_BUFFER_FLOAT_MODE_NV
-    , gl_SOURCE1_ALPHA
-    , gl_IMAGE_BINDING_ACCESS
-    , gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT
-    , gl_QUERY_BUFFER
-    , gl_PATH_FILL_COVER_MODE_NV
-    , gl_REFERENCED_BY_COMPUTE_SHADER
-    , gl_STENCIL_BACK_REF
-    , gl_SYNC_FLAGS
-    , gl_PATH_GEN_COMPONENTS_NV
-    , gl_ANY_SAMPLES_PASSED_CONSERVATIVE
-    , gl_UNSIGNED_BYTE_3_3_2_EXT
-    , gl_AVERAGE_HP
-    , gl_SAMPLE_SHADING_OES
-    , gl_CURRENT_ATTRIB_NV
-    , gl_DITHER
-    , gl_PIXEL_MAG_FILTER_EXT
-    , gl_PATH_TERMINAL_DASH_CAP_NV
-    , gl_POINT_FADE_THRESHOLD_SIZE_EXT
-    , gl_PIXEL_MAP_I_TO_G
-    , gl_BLEND
-    , gl_RESTART_PATH_NV
-    , gl_DRAW_BUFFER13_EXT
-    , gl_SCALED_RESOLVE_NICEST_EXT
-    , gl_COLOR_CLEAR_UNCLAMPED_VALUE_ATI
-    , gl_EVAL_BIT
-    , gl_INT_VEC3_ARB
-    , gl_COLOR_ATTACHMENT8
-    , gl_DRAW_BUFFER7_ARB
-    , gl_VERSION_ES_CM_1_1
-    , gl_VIEW_CLASS_64_BITS
-    , gl_FUNC_REVERSE_SUBTRACT_OES
-    , gl_TRANSPOSE_MODELVIEW_MATRIX
-    , gl_LUMINANCE_ALPHA_FLOAT16_ATI
-    , gl_RGBA12
-    , gl_MAP1_VERTEX_ATTRIB1_4_NV
-    , gl_CCW
-    , gl_STENCIL_BUFFER_BIT4_QCOM
-    , gl_RENDERBUFFER_GREEN_SIZE
-    , gl_DOUBLE_MAT4x2
-    , gl_PIXEL_TILE_WIDTH_SGIX
-    , gl_STENCIL_BUFFER_BIT1_QCOM
-    , gl_TEXTURE_BINDING_CUBE_MAP
-    , gl_R32I
-    , gl_COMPRESSED_RGBA_BPTC_UNORM_ARB
-    , gl_VARIANT_VALUE_EXT
-    , gl_CURRENT_SECONDARY_COLOR
-    , gl_TRANSFORM_FEEDBACK_NV
-    , gl_MAX_PROJECTION_STACK_DEPTH
-    , gl_PARTIAL_SUCCESS_NV
-    , gl_PATH_DASH_CAPS_NV
-    , gl_FRAGMENTS_INSTRUMENT_MAX_SGIX
-    , gl_FONT_HAS_KERNING_BIT_NV
-    , gl_UNSIGNED_INT_VEC4
-    , gl_FLOAT
-    , gl_MAX_VERTEX_ATTRIBS
-    , gl_QUERY_BY_REGION_WAIT_NV
-    , gl_VERTEX_PROGRAM_TWO_SIDE
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES
-    , gl_IMAGE_BINDING_LAYERED
-    , gl_FOG_COORDINATE_SOURCE
-    , gl_FRAMEBUFFER_UNSUPPORTED_OES
-    , gl_STENCIL_BUFFER_BIT2_QCOM
-    , gl_STENCIL_BACK_OP_VALUE_AMD
-    , gl_DUAL_LUMINANCE4_SGIS
-    , gl_SYNC_STATUS_APPLE
-    , gl_CONVEX_HULL_NV
-    , gl_TRANSPOSE_COLOR_MATRIX_ARB
-    , gl_R8_EXT
-    , gl_DOUBLE_MAT2x4
-    , gl_DOT2_ADD_ATI
-    , gl_COLOR_ATTACHMENT1_EXT
-    , gl_TEXTURE_DEPTH_EXT
-    , gl_FACTOR_MAX_AMD
-    , gl_BGR_EXT
-    , gl_STENCIL_SAMPLES_NV
-    , gl_GEOMETRY_SHADER_BIT
-    , gl_DRAW_BUFFER6_ARB
-    , gl_LIGHT_MODEL_LOCAL_VIEWER
-    , gl_FOG_COLOR
-    , gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT
-    , gl_MATRIX5_NV
-    , gl_PATCH_DEFAULT_INNER_LEVEL_EXT
-    , gl_COLOR_ATTACHMENT3
-    , gl_BACK_SECONDARY_COLOR_NV
-    , gl_BROWSER_DEFAULT_WEBGL
-    , gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE
-    , gl_SYNC_FLAGS_APPLE
-    , gl_SPRITE_OBJECT_ALIGNED_SGIX
-    , gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB
-    , gl_RENDERBUFFER_RED_SIZE_OES
-    , gl_TEXTURE_4DSIZE_SGIS
-    , gl_SIGNED_INTENSITY_NV
-    , gl_MIRRORED_REPEAT_ARB
-    , gl_VERTEX_ARRAY_STORAGE_HINT_APPLE
-    , gl_TEXTURE_BINDING_3D
-    , gl_RESAMPLE_ZERO_FILL_OML
-    , gl_POLYGON_OFFSET_UNITS
-    , gl_TEXTURE_BLUE_TYPE_ARB
-    , gl_SOURCE2_RGB_ARB
-    , gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB
-    , gl_RGB9_E5_EXT
-    , gl_DMP_PROGRAM_BINARY_DMP
-    , gl_OBJECT_LINE_SGIS
-    , gl_TEXTURE_IMMUTABLE_FORMAT
-    , gl_HSL_LUMINOSITY_KHR
-    , gl_FLOAT_MAT2
-    , gl_TEXTURE_MAX_LOD_SGIS
-    , gl_TRANSLATE_X_NV
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR
-    , gl_DEPTH
-    , gl_DISTANCE_ATTENUATION_SGIS
-    , gl_STENCIL_FAIL
-    , gl_DEBUG_SEVERITY_LOW
-    , gl_LINEAR_DETAIL_COLOR_SGIS
-    , gl_LUMINANCE_ALPHA8UI_EXT
-    , gl_NAMED_STRING_TYPE_ARB
-    , gl_MAX_VERTEX_UNIFORM_BLOCKS
-    , gl_COMPRESSED_RGBA_ASTC_6x5x5_OES
-    , gl_STORAGE_CLIENT_APPLE
-    , gl_LUMINANCE_ALPHA8I_EXT
-    , gl_MAX_FRAGMENT_IMAGE_UNIFORMS
-    , gl_TEXTURE_BLUE_SIZE_EXT
-    , gl_RGB_422_APPLE
-    , gl_MAX_GENERAL_COMBINERS_NV
-    , gl_TRACE_ERRORS_BIT_MESA
-    , gl_UNSIGNED_INT_8_8_8_8_REV_EXT
-    , gl_INT_SAMPLER_BUFFER_AMD
-    , gl_FRAMEBUFFER_DEFAULT
-    , gl_DEPTH_STENCIL_NV
-    , gl_CLIP_PLANE2
-    , gl_MODULATE
-    , gl_IMAGE_PIXEL_TYPE
-    , gl_MAX_TEXTURE_IMAGE_UNITS_ARB
-    , gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS
-    , gl_ADD_SIGNED
-    , gl_SMOOTH_LINE_WIDTH_RANGE
-    , gl_SRGB_DECODE_ARB
-    , gl_MAX_TRACK_MATRIX_STACK_DEPTH_NV
-    , gl_RESET_NOTIFICATION_STRATEGY
-    , gl_INVERT_OVG_NV
-    , gl_PRIMITIVES_GENERATED
-    , gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT
-    , gl_UNPACK_SKIP_IMAGES_EXT
-    , gl_COLOR_ARRAY_COUNT_EXT
-    , gl_TEXTURE_COORD_ARRAY_POINTER_EXT
-    , gl_NUM_FRAGMENT_CONSTANTS_ATI
-    , gl_LIGHTEN_KHR
-    , gl_DRAW_BUFFER2_EXT
-    , gl_DISJOINT_NV
-    , gl_TRIANGLE_FAN
-    , gl_CLIP_DISTANCE1_APPLE
-    , gl_SEPARABLE_2D
-    , gl_RED_SCALE
-    , gl_TEXTURE_COMPARE_MODE_EXT
-    , gl_FOG_COORD_ARRAY_ADDRESS_NV
-    , gl_INT_SAMPLER_CUBE_MAP_ARRAY_EXT
-    , gl_SYSTEM_FONT_NAME_NV
-    , gl_INT_VEC3
-    , gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR
-    , gl_INDEX_BIT_PGI
-    , gl_CURRENT_FOG_COORDINATE_EXT
-    , gl_RGB16
-    , gl_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE
-    , gl_PARAMETER_BUFFER_BINDING_ARB
-    , gl_SAMPLER_1D_ARRAY_SHADOW
-    , gl_PROXY_TEXTURE_1D_ARRAY
-    , gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT
-    , gl_MAX_VERTEX_UNIFORM_COMPONENTS
-    , gl_TRANSFORM_FEEDBACK_BUFFER_EXT
-    , gl_PACK_INVERT_MESA
-    , gl_COLOR_ATTACHMENT3_EXT
-    , gl_RGBA_SNORM
-    , gl_READ_BUFFER
-    , gl_DOT3_RGBA_EXT
-    , gl_RGBA8UI
-    , gl_ALL_BARRIER_BITS
-    , gl_DRAW_FRAMEBUFFER_APPLE
-    , gl_SLUMINANCE_NV
-    , gl_CONTEXT_CORE_PROFILE_BIT
-    , gl_LINE_STIPPLE
-    , gl_OP_CROSS_PRODUCT_EXT
-    , gl_DOT3_RGBA_ARB
-    , gl_UNSIGNED_INVERT_NV
-    , gl_VERTEX_ATTRIB_ARRAY_LENGTH_NV
-    , gl_INNOCENT_CONTEXT_RESET_KHR
-    , gl_MAP_INVALIDATE_RANGE_BIT
-    , gl_FRACTIONAL_ODD_EXT
-    , gl_UNSIGNED_INT_IMAGE_2D_ARRAY
-    , gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT
-    , gl_LUMINANCE12_ALPHA4_EXT
-    , gl_LUMINANCE_SNORM
-    , gl_STENCIL_BUFFER_BIT7_QCOM
-    , gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS
-    , gl_TEXTURE_COMPARE_MODE_ARB
-    , gl_AND
-    , gl_TEXTURE3_ARB
-    , gl_SAMPLE_MASK_VALUE_NV
-    , gl_DEBUG_ASSERT_MESA
-    , gl_TESS_EVALUATION_SHADER_INVOCATIONS_ARB
-    , gl_INTERNALFORMAT_STENCIL_TYPE
-    , gl_TEXTURE_FIXED_SAMPLE_LOCATIONS
-    , gl_DEPTH_STENCIL_TO_RGBA_NV
-    , gl_SAMPLE_MASK_NV
-    , gl_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB
-    , gl_SRGB8_ALPHA8_EXT
-    , gl_OBJECT_SHADER_SOURCE_LENGTH_ARB
-    , gl_REG_15_ATI
-    , gl_ALPHA8
-    , gl_FRAGMENT_SHADER_BIT_EXT
-    , gl_CND0_ATI
-    , gl_PACK_SUBSAMPLE_RATE_SGIX
-    , gl_CW
-    , gl_FLOAT_MAT4x3
-    , gl_WAIT_FAILED
-    , gl_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX
-    , gl_SAMPLER_RENDERBUFFER_NV
-    , gl_VIEW_CLASS_16_BITS
-    , gl_MAGNITUDE_BIAS_NV
-    , gl_SWIZZLE_STRQ_DQ_ATI
-    , gl_SOURCE1_RGB_ARB
-    , gl_PIXEL_TILE_CACHE_INCREMENT_SGIX
-    , gl_TANGENT_ARRAY_POINTER_EXT
-    , gl_COLOR_MATERIAL
-    , gl_MAX_RENDERBUFFER_SIZE_EXT
-    , gl_ARRAY_SIZE
-    , gl_COPY
-    , gl_REG_19_ATI
-    , gl_EDGE_FLAG_ARRAY_STRIDE_EXT
-    , gl_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED
-    , gl_OUTPUT_TEXTURE_COORD31_EXT
-    , gl_TRIANGLE_MESH_SUN
-    , gl_R16_EXT
-    , gl_ELEMENT_ARRAY_BUFFER_ARB
-    , gl_MAP2_VERTEX_ATTRIB6_4_NV
-    , gl_ONE_MINUS_CONSTANT_COLOR
-    , gl_T2F_V3F
-    , gl_COLOR_ATTACHMENT14
-    , gl_HSL_SATURATION_KHR
-    , gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT
-    , gl_UNIFORM_BLOCK_NAME_LENGTH
-    , gl_OPERAND2_ALPHA_EXT
-    , gl_HISTOGRAM_LUMINANCE_SIZE
-    , gl_POINT_SIZE_MAX_ARB
-    , gl_RGB16_SNORM_EXT
-    , gl_REG_6_ATI
-    , gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST
-    , gl_MAP1_INDEX
-    , gl_FLOAT_RGBA_NV
-    , gl_COMPUTE_SUBROUTINE_UNIFORM
-    , gl_UNSIGNED_INT8_VEC3_NV
-    , gl_TEXTURE_GREEN_TYPE_ARB
-    , gl_GEOMETRY_SHADER_INVOCATIONS_EXT
-    , gl_MAX_TEXTURE_MAX_ANISOTROPY_EXT
-    , gl_SRC0_ALPHA
-    , gl_IMAGE_TRANSLATE_Y_HP
-    , gl_UNSIGNED_INT8_VEC4_NV
-    , gl_VARIANT_ARRAY_POINTER_EXT
-    , gl_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB
-    , gl_STENCIL_BACK_PASS_DEPTH_PASS
-    , gl_TRACE_OPERATIONS_BIT_MESA
-    , gl_FLOAT_RG_NV
-    , gl_POINT_FADE_THRESHOLD_SIZE_SGIS
-    , gl_TEXTURE_MAX_LEVEL
-    , gl_COMPRESSED_RGBA_ASTC_4x3x3_OES
-    , gl_TEXTURE_BORDER_COLOR_NV
-    , gl_VERTEX_STREAM2_ATI
-    , gl_BGR_INTEGER_EXT
-    , gl_OP_SET_GE_EXT
-    , gl_CLIP_ORIGIN
-    , gl_ASYNC_READ_PIXELS_SGIX
-    , gl_HALF_APPLE
-    , gl_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE
-    , gl_ARRAY_OBJECT_BUFFER_ATI
-    , gl_OP_DOT4_EXT
-    , gl_MAX_PROGRAM_CALL_DEPTH_NV
-    , gl_VERTEX_PRECLIP_SGIX
-    , gl_COLOR_TABLE_FORMAT
-    , gl_MODELVIEW22_ARB
-    , gl_FOG_COORD
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR
-    , gl_TEXTURE_WRAP_R_EXT
-    , gl_CURRENT_VERTEX_EXT
-    , gl_BUMP_NUM_TEX_UNITS_ATI
-    , gl_MAX_VERTEX_ATTRIBS_ARB
-    , gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES
-    , gl_T4F_V4F
-    , gl_CONVOLUTION_BORDER_COLOR
-    , gl_SKIP_MISSING_GLYPH_NV
-    , gl_PROXY_COLOR_TABLE_SGI
-    , gl_FULL_SUPPORT
-    , gl_IMAGE_BINDING_LEVEL_EXT
-    , gl_INTERLACE_READ_INGR
-    , gl_TEXTURE_VIEW_MIN_LEVEL
-    , gl_EMISSION
-    , gl_WEIGHT_ARRAY_STRIDE_ARB
-    , gl_TEXTURE_TOO_LARGE_EXT
-    , gl_INTERNALFORMAT_DEPTH_TYPE
-    , gl_VERTEX_ATTRIB_MAP1_COEFF_APPLE
-    , gl_SKIP_COMPONENTS2_NV
-    , gl_TEXTURE_GREEN_SIZE
-    , gl_COMPRESSED_LUMINANCE_LATC1_EXT
-    , gl_INTENSITY32UI_EXT
-    , gl_SHADING_LANGUAGE_VERSION_ARB
-    , gl_MATRIX13_ARB
-    , gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS
-    , gl_INDEX_OFFSET
-    , gl_N3F_V3F
-    , gl_MAP1_BINORMAL_EXT
-    , gl_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV
-    , gl_GEOMETRY_SHADER_INVOCATIONS
-    , gl_TEXTURE_2D_MULTISAMPLE_ARRAY
-    , gl_OPERAND0_ALPHA_ARB
-    , gl_LOCAL_CONSTANT_VALUE_EXT
-    , gl_STENCIL_INDEX1_EXT
-    , gl_TEXTURE_COLOR_WRITEMASK_SGIS
-    , gl_DUAL_LUMINANCE_ALPHA4_SGIS
-    , gl_VERTEX_ATTRIB_ARRAY15_NV
-    , gl_GENERATE_MIPMAP_HINT_SGIS
-    , gl_PREVIOUS
-    , gl_INTERPOLATE
-    , gl_GUILTY_CONTEXT_RESET_KHR
-    , gl_CONVOLUTION_FILTER_SCALE_EXT
-    , gl_BGR
-    , gl_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV
-    , gl_PATH_INITIAL_END_CAP_NV
-    , gl_TEXTURE_RED_TYPE
-    , gl_MATRIX23_ARB
-    , gl_MAX_PIXEL_MAP_TABLE
-    , gl_COLOR_INDEX
-    , gl_ALPHA_TEST_REF
-    , gl_BLEND_DST
-    , gl_DEBUG_CATEGORY_PERFORMANCE_AMD
-    , gl_FLOAT_32_UNSIGNED_INT_24_8_REV_NV
-    , gl_LINEAR_MIPMAP_NEAREST
-    , gl_SHADER_STORAGE_BUFFER_START
-    , gl_UNIFORM_BLOCK_DATA_SIZE
-    , gl_PERFMON_GLOBAL_MODE_QCOM
-    , gl_VARIANT_DATATYPE_EXT
-    , gl_LUMINANCE_FLOAT32_ATI
-    , gl_DRAW_BUFFER0_EXT
-    , gl_SAMPLES_3DFX
-    , gl_TEXTURE_CUBE_MAP_NEGATIVE_X
-    , gl_CON_25_ATI
-    , gl_SOURCE0_RGB
-    , gl_TRIANGLE_STRIP_ADJACENCY_ARB
-    , gl_FONT_UNITS_PER_EM_BIT_NV
-    , gl_RGBA8UI_EXT
-    , gl_CURRENT_TIME_NV
-    , gl_PATH_FILL_MASK_NV
-    , gl_ACCUM
-    , gl_PRIMITIVE_RESTART_INDEX_NV
-    , gl_COLOR_ATTACHMENT9_EXT
-    , gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV
-    , gl_PIXEL_MAP_G_TO_G_SIZE
-    , gl_COVERAGE_ALL_FRAGMENTS_NV
-    , gl_COLOR_ATTACHMENT13_EXT
-    , gl_DRAW_BUFFER10_EXT
-    , gl_R32F
-    , gl_TEXTURE_FETCH_BARRIER_BIT_EXT
-    , gl_SMAPHS_PROGRAM_BINARY_DMP
-    , gl_RENDERBUFFER
-    , gl_ATC_RGB_AMD
-    , gl_BUFFER_BINDING
-    , gl_INTERNALFORMAT_STENCIL_SIZE
-    , gl_PROGRAM_PIPELINE
-    , gl_SCISSOR_BIT
-    , gl_MAX_VERTEX_UNITS_OES
-    , gl_SAMPLER_2D_ARB
-    , gl_LINEAR
-    , gl_UNPACK_SUBSAMPLE_RATE_SGIX
-    , gl_GEOMETRY_LINKED_OUTPUT_TYPE_EXT
-    , gl_NORMAL_MAP_ARB
-    , gl_CLIP_DISTANCE7
-    , gl_SOURCE1_ALPHA_ARB
-    , gl_FRAMEBUFFER_BINDING_ANGLE
-    , gl_VERTEX_CONSISTENT_HINT_PGI
-    , gl_COLOR_ATTACHMENT7_EXT
-    , gl_LIST_BASE
-    , gl_COLOR_TABLE_LUMINANCE_SIZE
-    , gl_CURRENT_PALETTE_MATRIX_ARB
-    , gl_COUNT_UP_NV
-    , gl_LIGHT5
-    , gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV
-    , gl_QUERY_RESULT_ARB
-    , gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL
-    , gl_TEXTURE_LOD_BIAS_S_SGIX
-    , gl_TRANSPOSE_MODELVIEW_MATRIX_ARB
-    , gl_POLYGON_OFFSET_LINE
-    , gl_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA
-    , gl_TEXTURE30
-    , gl_SPHERE_MAP
-    , gl_OP_DOT3_EXT
-    , gl_CURRENT_MATRIX_STACK_DEPTH_ARB
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES
-    , gl_VERTEX_PROGRAM_POINT_SIZE_ARB
-    , gl_SYNC_CONDITION_APPLE
-    , gl_HI_SCALE_NV
-    , gl_LIGHT_MODEL_AMBIENT
-    , gl_MAX_RENDERBUFFER_SIZE
-    , gl_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB
-    , gl_COMPRESSED_TEXTURE_FORMATS
-    , gl_CLEAR_BUFFER
-    , gl_FLOAT_MAT4_ARB
-    , gl_VALIDATE_STATUS
-    , gl_UNSIGNED_INT_IMAGE_2D_RECT
-    , gl_PROGRAM_PARAMETER_NV
-    , gl_PARAMETER_BUFFER_ARB
-    , gl_VIEW_CLASS_96_BITS
-    , gl_LINE_TO_NV
-    , gl_TEXTURE_COMPRESSED_IMAGE_SIZE
-    , gl_POST_COLOR_MATRIX_GREEN_SCALE
-    , gl_STENCIL_INDEX
-    , gl_PATH_INITIAL_DASH_CAP_NV
-    , gl_INT_SAMPLER_2D_RECT_EXT
-    , gl_IMAGE_BINDING_FORMAT_EXT
-    , gl_R16F
-    , gl_ADD
-    , gl_TRANSFORM_FEEDBACK_BUFFER_MODE_NV
-    , gl_SRC0_RGB
-    , gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING
-    , gl_RGB9_E5
-    , gl_TRANSFORM_FEEDBACK_BUFFER_START
-    , gl_TESS_EVALUATION_SUBROUTINE_UNIFORM
-    , gl_ACCUM_RED_BITS
-    , gl_IS_ROW_MAJOR
-    , gl_TESS_CONTROL_SUBROUTINE_UNIFORM
-    , gl_MAX_GEOMETRY_UNIFORM_COMPONENTS
-    , gl_MULT
-    , gl_FRAMEBUFFER_DEFAULT_SAMPLES
-    , gl_PIXEL_COUNT_NV
-    , gl_MAP1_VERTEX_ATTRIB13_4_NV
-    , gl_CLAMP_TO_EDGE_SGIS
-    , gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES
-    , gl_SAMPLER_OBJECT_AMD
-    , gl_REFERENCE_PLANE_SGIX
-    , gl_INT64_VEC3_NV
-    , gl_TEXTURE5
-    , gl_FRAMEBUFFER_DEFAULT_WIDTH
-    , gl_MATRIX18_ARB
-    , gl_MAX_PATCH_VERTICES_EXT
-    , gl_PIXEL_TILE_GRID_DEPTH_SGIX
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR
-    , gl_BLUE_BITS
-    , gl_RGBA_FLOAT32_APPLE
-    , gl_MAX_VERTEX_VARYING_COMPONENTS_ARB
-    , gl_INT8_VEC2_NV
-    , gl_RENDERBUFFER_SAMPLES_EXT
-    , gl_COMBINER_SCALE_NV
-    , gl_DEBUG_SEVERITY_HIGH_AMD
-    , gl_R3_G3_B2
-    , gl_VERTEX_BLEND_ARB
-    , gl_COORD_REPLACE_OES
-    , gl_MAX_CLIP_DISTANCES
-    , gl_TEXTURE_COORD_ARRAY_COUNT_EXT
-    , gl_TRANSFORM_FEEDBACK_BUFFER_INDEX
-    , gl_ALWAYS_FAST_HINT_PGI
-    , gl_STENCIL_BACK_FUNC
-    , gl_RGBA_MODE
-    , gl_COMPRESSED_SRGB8_ETC2_OES
-    , gl_UNSIGNED_INT_5_9_9_9_REV_APPLE
-    , gl_MAX_CLIPMAP_DEPTH_SGIX
-    , gl_FLOAT_MAT3x2
-    , gl_COMBINE_RGB_EXT
-    , gl_RGBA32F_ARB
-    , gl_LUMINANCE_ALPHA_SNORM
-    , gl_FRAMEBUFFER_BARRIER_BIT
-    , gl_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
-    , gl_RELATIVE_ROUNDED_RECT_NV
-    , gl_ALLOW_DRAW_WIN_HINT_PGI
-    , gl_MULTISAMPLE_SGIS
-    , gl_MITER_TRUNCATE_NV
-    , gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS
-    , gl_NUM_GENERAL_COMBINERS_NV
-    , gl_RGBA_INTEGER_MODE_EXT
-    , gl_MAP1_VERTEX_ATTRIB9_4_NV
-    , gl_BUFFER_OBJECT_APPLE
-    , gl_EXPAND_NORMAL_NV
-    , gl_TEXTURE_IMMUTABLE_FORMAT_EXT
-    , gl_POLYGON_BIT
-    , gl_TEXTURE_RED_SIZE
-    , gl_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV
-    , gl_QUADS_EXT
-    , gl_TEXTURE_INTERNAL_FORMAT
-    , gl_TEXTURE_ENV_MODE
-    , gl_TIMEOUT_IGNORED
-    , gl_MAX_IMAGE_SAMPLES
-    , gl_LAYOUT_LINEAR_INTEL
-    , gl_OR
-    , gl_FILL_RECTANGLE_NV
-    , gl_TEXTURE_BORDER_COLOR
-    , gl_TRIANGLES_ADJACENCY_ARB
-    , gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV
-    , gl_DRAW_BUFFER1
-    , gl_TEXTURE_GEQUAL_R_SGIX
-    , gl_UNIFORM_NAME_LENGTH
-    , gl_UNPACK_IMAGE_DEPTH_SGIS
-    , gl_GEOMETRY_TEXTURE
-    , gl_NUM_PROGRAM_BINARY_FORMATS
-    , gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
-    , gl_PERFQUERY_COUNTER_DATA_BOOL32_INTEL
-    , gl_DRAW_BUFFER14_ARB
-    , gl_CONTEXT_FLAG_DEBUG_BIT
-    , gl_OPERAND0_ALPHA
-    , gl_FLOAT_RG32_NV
-    , gl_PATH_STENCIL_VALUE_MASK_NV
-    , gl_IMAGE_TRANSFORM_2D_HP
-    , gl_OUTPUT_TEXTURE_COORD24_EXT
-    , gl_TEXTURE_DEPTH
-    , gl_FILTER
-    , gl_WARP_SIZE_NV
-    , gl_RESET_NOTIFICATION_STRATEGY_KHR
-    , gl_FOG_COORDINATE_ARRAY_POINTER
-    , gl_PROGRAM_KHR
-    , gl_MODELVIEW30_ARB
-    , gl_DEPTH_ATTACHMENT
-    , gl_OUTPUT_TEXTURE_COORD8_EXT
-    , gl_X_EXT
-    , gl_RGB32F
-    , gl_SAMPLER_CUBE_SHADOW_NV
-    , gl_STENCIL_BACK_PASS_DEPTH_FAIL
-    , gl_SAMPLE_ALPHA_TO_ONE_SGIS
-    , gl_MATRIX7_ARB
-    , gl_MAX_VERTEX_ATOMIC_COUNTERS
-    , gl_2X_BIT_ATI
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES
-    , gl_TEXTURE_FILTER_CONTROL_EXT
-    , gl_CON_24_ATI
-    , gl_TEXTURE2
-    , gl_DEFORMATIONS_MASK_SGIX
-    , gl_SAMPLE_BUFFERS
-    , gl_ALPHA32UI_EXT
-    , gl_MAP_ATTRIB_U_ORDER_NV
-    , gl_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS
-    , gl_UNSIGNED_INT_SAMPLER_CUBE
-    , gl_ETC1_SRGB8_NV
-    , gl_INTENSITY8_EXT
-    , gl_TEXTURE_MAG_FILTER
-    , gl_DOT_PRODUCT_TEXTURE_3D_NV
-    , gl_VERTEX23_BIT_PGI
-    , gl_SAMPLER_2D_MULTISAMPLE_ARRAY_OES
-    , gl_RGBA8_EXT
-    , gl_MODULATE_SUBTRACT_ATI
-    , gl_EYE_DISTANCE_TO_LINE_SGIS
-    , gl_MAX_PATCH_VERTICES
-    , gl_CON_0_ATI
-    , gl_TESS_CONTROL_OUTPUT_VERTICES
-    , gl_DRAW_BUFFER8_EXT
-    , gl_FLOAT_RGBA32_NV
-    , gl_KEEP
-    , gl_OBJECT_ACTIVE_UNIFORMS_ARB
-    , gl_INDEX_TEST_EXT
-    , gl_PERFQUERY_COUNTER_DATA_UINT32_INTEL
-    , gl_BLUE
-    , gl_LINEAR_DETAIL_ALPHA_SGIS
-    , gl_DYNAMIC_READ
-    , gl_RENDERBUFFER_STENCIL_SIZE
-    , gl_DECAL
-    , gl_MAP2_TEXTURE_COORD_3
-    , gl_VIDEO_BUFFER_NV
-    , gl_BITMAP_TOKEN
-    , gl_CON_22_ATI
-    , gl_GEOMETRY_OUTPUT_TYPE_EXT
-    , gl_FLOAT_VEC3
-    , gl_RGB_S3TC
-    , gl_BUFFER_UPDATE_BARRIER_BIT_EXT
-    , gl_PIXEL_UNPACK_BUFFER_EXT
-    , gl_TEXTURE14
-    , gl_FRAGMENT_NORMAL_EXT
-    , gl_OBJECT_BUFFER_SIZE_ATI
-    , gl_LOAD
-    , gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT
-    , gl_BGRA8_EXT
-    , gl_MAX_FOG_FUNC_POINTS_SGIS
-    , gl_LOWER_LEFT
-    , gl_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT
-    , gl_TRACE_TEXTURES_BIT_MESA
-    , gl_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT
-    , gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT
-    , gl_MATRIX4_ARB
-    , gl_VIEWPORT_SUBPIXEL_BITS_NV
-    , gl_DS_SCALE_NV
-    , gl_SRGB_WRITE
-    , gl_DRAW_INDIRECT_UNIFIED_NV
-    , gl_MIRROR_CLAMP_ATI
-    , gl_TEXTURE_SWIZZLE_A
-    , gl_STENCIL_BACK_FAIL
-    , gl_VERTEX_ATTRIB_ARRAY0_NV
-    , gl_LIGHTING
-    , gl_VERTEX_STREAM7_ATI
-    , gl_PRIMARY_COLOR_NV
-    , gl_422_REV_EXT
-    , gl_RGB4
-    , gl_PROGRAM_BINARY_FORMATS
-    , gl_CLIENT_VERTEX_ARRAY_BIT
-    , gl_INT_IMAGE_1D_ARRAY
-    , gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT
-    , gl_RELATIVE_ARC_TO_NV
-    , gl_SAMPLER_1D_ARRAY_EXT
-    , gl_AFFINE_2D_NV
-    , gl_MIN
-    , gl_MAX_ASYNC_TEX_IMAGE_SGIX
-    , gl_MAX_DEBUG_LOGGED_MESSAGES_KHR
-    , gl_TEXTURE_GREEN_SIZE_EXT
-    , gl_PIXEL_SUBSAMPLE_4242_SGIX
-    , gl_REG_11_ATI
-    , gl_LUMINANCE32F_EXT
-    , gl_SECONDARY_INTERPOLATOR_ATI
-    , gl_MODULATE_SIGNED_ADD_ATI
-    , gl_COMPRESSED_RGBA_S3TC_DXT3_EXT
-    , gl_DRAW_BUFFER5_ATI
-    , gl_UNPACK_CONSTANT_DATA_SUNX
-    , gl_SLUMINANCE8
-    , gl_MAX_INTEGER_SAMPLES
-    , gl_SCREEN_NV
-    , gl_REG_7_ATI
-    , gl_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX
-    , gl_EYE_RADIAL_NV
-    , gl_1PASS_SGIS
-    , gl_2_BYTES
-    , gl_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL
-    , gl_POST_COLOR_MATRIX_GREEN_BIAS_SGI
-    , gl_DRAW_BUFFER6_ATI
-    , gl_VARIABLE_A_NV
-    , gl_RGB565
-    , gl_TEXTURE7_ARB
-    , gl_BLOCK_INDEX
-    , gl_TEXTURE23
-    , gl_INTERLACE_SGIX
-    , gl_INT_SAMPLER_CUBE_MAP_ARRAY_ARB
-    , gl_TEXTURE_MATERIAL_PARAMETER_EXT
-    , gl_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT
-    , gl_RASTER_MULTISAMPLE_EXT
-    , gl_ELEMENT_ARRAY_BARRIER_BIT_EXT
-    , gl_COLOR_ARRAY_STRIDE
-    , gl_PIXEL_CUBIC_WEIGHT_EXT
-    , gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV
-    , gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV
-    , gl_TEXTURE_INTENSITY_TYPE_ARB
-    , gl_COLOR_ATTACHMENT11_NV
-    , gl_ALPHA_BIAS
-    , gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER
-    , gl_BUFFER_KHR
-    , gl_COMPRESSED_RGBA_ASTC_6x6_KHR
-    , gl_TEXTURE_BUFFER_EXT
-    , gl_SHARPEN_TEXTURE_FUNC_POINTS_SGIS
-    , gl_TRANSFORM_FEEDBACK_BARRIER_BIT
-    , gl_VIEWPORT_BOUNDS_RANGE
-    , gl_DRAW_BUFFER12_ATI
-    , gl_UNPACK_ROW_LENGTH
-    , gl_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV
-    , gl_MAX_FRAGMENT_UNIFORM_COMPONENTS
-    , gl_CLAMP_READ_COLOR_ARB
-    , gl_PACK_LSB_FIRST
-    , gl_TEXTURE_GEN_MODE_OES
-    , gl_UNIFORM_BUFFER_BINDING_EXT
-    , gl_PIXEL_PACK_BUFFER_BINDING_EXT
-    , gl_DST_ALPHA
-    , gl_LOCAL_EXT
-    , gl_STENCIL_BACK_PASS_DEPTH_PASS_ATI
-    , gl_TRANSFORM_FEEDBACK_BUFFER_BINDING
-    , gl_VECTOR_EXT
-    , gl_SPARE1_NV
-    , gl_MAX_TEXTURE_BUFFER_SIZE
-    , gl_R1UI_T2F_N3F_V3F_SUN
-    , gl_PROXY_TEXTURE_2D_MULTISAMPLE
-    , gl_CURRENT_FOG_COORD
-    , gl_LUMINANCE_INTEGER_EXT
-    , gl_PIXEL_FRAGMENT_RGB_SOURCE_SGIS
-    , gl_DSDT_MAG_NV
-    , gl_UNSIGNED_SHORT_8_8_MESA
-    , gl_TEXTURE_BUFFER_OFFSET_EXT
-    , gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST
-    , gl_PIXEL_TEX_GEN_Q_ROUND_SGIX
-    , gl_SAMPLER_2D
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES
-    , gl_FUNC_ADD_OES
-    , gl_VERTEX_ARRAY_TYPE
-    , gl_DRAW_BUFFER3_NV
-    , gl_NOOP
-    , gl_PHONG_WIN
-    , gl_UNSIGNED_BYTE
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES
-    , gl_ALPHA16_EXT
-    , gl_CIRCULAR_CW_ARC_TO_NV
-    , gl_COLOR_MATERIAL_FACE
-    , gl_COLOR_BUFFER_BIT1_QCOM
-    , gl_VIEW_CLASS_48_BITS
-    , gl_POST_CONVOLUTION_ALPHA_SCALE_EXT
-    , gl_HISTOGRAM_SINK_EXT
-    , gl_UNPACK_COMPRESSED_SIZE_SGIX
-    , gl_VERTEX_SOURCE_ATI
-    , gl_SPARE0_NV
-    , gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES
-    , gl_MAP2_TEXTURE_COORD_2
-    , gl_DRAW_BUFFER8_ATI
-    , gl_TEXTURE0_ARB
-    , gl_VERTEX_ARRAY_BINDING_OES
-    , gl_Y_EXT
-    , gl_TEXTURE21_ARB
-    , gl_FORMAT_SUBSAMPLE_24_24_OML
-    , gl_SAMPLE_POSITION_NV
-    , gl_TEXTURE_COMPARE_FUNC_ARB
-    , gl_COMPRESSED_RGBA_ARB
-    , gl_TEXTURE_1D_BINDING_EXT
-    , gl_VERTEX_ATTRIB_ARRAY_INTEGER_NV
-    , gl_REPEAT
-    , gl_COMMAND_BARRIER_BIT
-    , gl_DEBUG_CATEGORY_OTHER_AMD
-    , gl_INT_SAMPLER_2D_EXT
-    , gl_VARIABLE_G_NV
-    , gl_UNSIGNED_INT_IMAGE_2D
-    , gl_MAX_ARRAY_TEXTURE_LAYERS_EXT
-    , gl_FOG_COORDINATE_ARRAY_LIST_IBM
-    , gl_PINLIGHT_NV
-    , gl_MODELVIEW_MATRIX
-    , gl_LIST_MODE
-    , gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES
-    , gl_RGBA32I
-    , gl_OBJECT_SUBTYPE_ARB
-    , gl_PERFQUERY_COUNTER_THROUGHPUT_INTEL
-    , gl_VERTEX_ARRAY_LIST_STRIDE_IBM
-    , gl_COMPRESSED_RGBA_ASTC_5x5x5_OES
-    , gl_TRANSFORM_BIT
-    , gl_DEBUG_SOURCE_APPLICATION_KHR
-    , gl_TEXTURE1
-    , gl_DST_OVER_NV
-    , gl_HISTOGRAM_GREEN_SIZE_EXT
-    , gl_CON_30_ATI
-    , gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT
-    , gl_RGB8_OES
-    , gl_DST_IN_NV
-    , gl_SLUMINANCE8_ALPHA8_EXT
-    , gl_GUILTY_CONTEXT_RESET
-    , gl_VIEW_CLASS_8_BITS
-    , gl_MINUS_CLAMPED_NV
-    , gl_RGBA8I_EXT
-    , gl_FOG_COORDINATE_ARRAY_EXT
-    , gl_4PASS_1_SGIS
-    , gl_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV
-    , gl_INT_VEC4_ARB
-    , gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB
-    , gl_PROGRAM_ERROR_POSITION_ARB
-    , gl_TRIANGLE_STRIP_ADJACENCY_EXT
-    , gl_MAX_LIST_NESTING
-    , gl_DIFFERENCE_NV
-    , gl_VERTEX_ARRAY_SIZE_EXT
-    , gl_COMPRESSED_INTENSITY
-    , gl_MAX_SAMPLES_APPLE
-    , gl_SHADER_INCLUDE_ARB
-    , gl_PROGRAM_SEPARABLE_EXT
-    , gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB
-    , gl_FRAGMENT_PROGRAM_ARB
-    , gl_MAX_HEIGHT
-    , gl_SHADER
-    , gl_OUTPUT_TEXTURE_COORD12_EXT
-    , gl_SIGNED_LUMINANCE8_ALPHA8_NV
-    , gl_TEXTURE25
-    , gl_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT
-    , gl_SCREEN_KHR
-    , gl_DRAW_BUFFER7_NV
-    , gl_MAX_COMBINED_CLIP_AND_CULL_DISTANCES
-    , gl_ALLOW_DRAW_OBJ_HINT_PGI
-    , gl_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT
-    , gl_INTENSITY12
-    , gl_CURRENT_RASTER_POSITION
-    , gl_COLOR_INDEX12_EXT
-    , gl_RGB10_A2
-    , gl_OBJECT_ATTACHED_OBJECTS_ARB
-    , gl_SUBSAMPLE_DISTANCE_AMD
-    , gl_RGB8_SNORM
-    , gl_INDEX_WRITEMASK
-    , gl_ZERO_TO_ONE
-    , gl_RGBA_DXT5_S3TC
-    , gl_SEPARATE_ATTRIBS_NV
-    , gl_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT
-    , gl_COMPARE_REF_DEPTH_TO_TEXTURE_EXT
-    , gl_OFFSET_HILO_TEXTURE_RECTANGLE_NV
-    , gl_VIRTUAL_PAGE_SIZE_Z_ARB
-    , gl_MAX_VARYING_FLOATS
-    , gl_HISTOGRAM_EXT
-    , gl_MINMAX_EXT
-    , gl_TEXTURE2_ARB
-    , gl_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV
-    , gl_ATTRIB_STACK_DEPTH
-    , gl_REFLECTION_MAP_EXT
-    , gl_HISTOGRAM_BLUE_SIZE_EXT
-    , gl_TRANSFORM_FEEDBACK_VARYING
-    , gl_NUM_COMPATIBLE_SUBROUTINES
-    , gl_TEXTURE_CUBE_MAP_NEGATIVE_Y
-    , gl_CONSTANT_ALPHA
-    , gl_DEPTH_STENCIL_MESA
-    , gl_INVALID_FRAMEBUFFER_OPERATION_EXT
-    , gl_CLIP_DISTANCE7_APPLE
-    , gl_COLOR_ARRAY_STRIDE_EXT
-    , gl_BINORMAL_ARRAY_STRIDE_EXT
-    , gl_VERTEX_DATA_HINT_PGI
-    , gl_TEXTURE11
-    , gl_DRAW_BUFFER2
-    , gl_RELATIVE_MOVE_TO_NV
-    , gl_QUAD_ALPHA4_SGIS
-    , gl_TEXTURE_4D_SGIS
-    , gl_SIGNED_NORMALIZED
-    , gl_SIGNED_RGBA8_NV
-    , gl_TEXTURE_2D_MULTISAMPLE
-    , gl_SAMPLES
-    , gl_POINT_SIZE_MAX_EXT
-    , gl_FRONT_LEFT
-    , gl_LINEAR_MIPMAP_LINEAR
-    , gl_TEXTURE_ALPHA_TYPE
-    , gl_TEXTURE_BINDING_CUBE_MAP_EXT
-    , gl_OCCLUSION_TEST_HP
-    , gl_ONE_MINUS_CONSTANT_ALPHA
-    , gl_MAX_PROGRAM_NATIVE_PARAMETERS_ARB
-    , gl_CLIP_PLANE2_IMG
-    , gl_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX
-    , gl_REG_3_ATI
-    , gl_NORMAL_ARRAY_TYPE_EXT
-    , gl_MAX_GEOMETRY_OUTPUT_COMPONENTS
-    , gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS
-    , gl_4X_BIT_ATI
-    , gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB
-    , gl_POST_COLOR_MATRIX_RED_SCALE_SGI
-    , gl_POST_CONVOLUTION_GREEN_BIAS_EXT
-    , gl_RENDERBUFFER_DEPTH_SIZE_OES
-    , gl_TRANSFORM_FEEDBACK_OVERFLOW_ARB
-    , gl_NORMALIZED_RANGE_EXT
-    , gl_FLOAT16_VEC4_NV
-    , gl_PIXEL_PACK_BUFFER
-    , gl_COLOR_ATTACHMENT9_NV
-    , gl_IMPLEMENTATION_COLOR_READ_TYPE
-    , gl_UNSIGNED_INT_24_8_MESA
-    , gl_OUTPUT_TEXTURE_COORD30_EXT
-    , gl_POINTS
-    , gl_INDEX_BITS
-    , gl_INT16_NV
-    , gl_SUBTRACT
-    , gl_VERTEX_ATTRIB_ARRAY13_NV
-    , gl_SCALAR_EXT
-    , gl_PROGRAM_ATTRIBS_ARB
-    , gl_VERTEX_ATTRIB_ARRAY_STRIDE_ARB
-    , gl_GLOBAL_ALPHA_FACTOR_SUN
-    , gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION
-    , gl_OPERAND2_RGB
-    , gl_RENDERBUFFER_STENCIL_SIZE_EXT
-    , gl_EQUIV
-    , gl_RELATIVE_SMALL_CCW_ARC_TO_NV
-    , gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV
-    , gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT
-    , gl_MAX_FRAGMENT_UNIFORM_VECTORS
-    , gl_TEXTURE_SWIZZLE_R_EXT
-    , gl_FRAMEBUFFER_ATTACHMENT_LAYERED
-    , gl_DEPTH_RENDERABLE
-    , gl_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES
-    , gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED
-    , gl_UNSIGNALED_APPLE
-    , gl_LINE_SMOOTH_HINT
-    , gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS
-    , gl_STENCIL_BUFFER_BIT3_QCOM
-    , gl_RG16F
-    , gl_MODELVIEW27_ARB
-    , gl_LUMINANCE16_EXT
-    , gl_BLEND_DST_RGB
-    , gl_NORMAL_ARRAY_LIST_IBM
-    , gl_READ_FRAMEBUFFER_BINDING
-    , gl_DEBUG_TYPE_MARKER_KHR
-    , gl_TEXTURE_COMPARE_FUNC
-    , gl_MAP_FLUSH_EXPLICIT_BIT
-    , gl_DRAW_FRAMEBUFFER_BINDING_ANGLE
-    , gl_LINE_LOOP
-    , gl_COMBINE_RGB_ARB
-    , gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV
-    , gl_CULL_MODES_NV
-    , gl_3DC_X_AMD
-    , gl_ALPHA32F_EXT
-    , gl_YCBCR_422_APPLE
-    , gl_WEIGHT_ARRAY_BUFFER_BINDING_OES
-    , gl_4_BYTES
-    , gl_TRACK_MATRIX_NV
-    , gl_NEAREST_MIPMAP_NEAREST
-    , gl_ARC_TO_NV
-    , gl_INVARIANT_VALUE_EXT
-    , gl_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV
-    , gl_RGBA_FLOAT16_ATI
-    , gl_DRAW_BUFFER9_NV
-    , gl_MAX_GEOMETRY_VARYING_COMPONENTS_EXT
-    , gl_MAX_VARYING_COMPONENTS_EXT
-    , gl_OP_POWER_EXT
-    , gl_FOG_OFFSET_VALUE_SGIX
-    , gl_TEXTURE_COMPARE_SGIX
-    , gl_HARDLIGHT_KHR
-    , gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV
-    , gl_DEBUG_SOURCE_THIRD_PARTY_KHR
-    , gl_TEXTURE_VIEW_NUM_LAYERS_EXT
-    , gl_VERSION_ES_CL_1_1
-    , gl_INDEX_ARRAY
-    , gl_PIXEL_UNPACK_BUFFER_BINDING_EXT
-    , gl_CON_18_ATI
-    , gl_INT_IMAGE_1D_ARRAY_EXT
-    , gl_SAMPLER_2D_ARRAY_SHADOW_EXT
-    , gl_CONSTANT_BORDER
-    , gl_TEXTURE_SWIZZLE_B_EXT
-    , gl_INTERNALFORMAT_PREFERRED
-    , gl_CURRENT_OCCLUSION_QUERY_ID_NV
-    , gl_DEBUG_TYPE_PERFORMANCE
-    , gl_SMOOTH_LINE_WIDTH_GRANULARITY
-    , gl_VARIANT_ARRAY_EXT
-    , gl_SQUARE_NV
-    , gl_POST_CONVOLUTION_RED_SCALE
-    , gl_COLOR_ARRAY_SIZE
-    , gl_QUAD_MESH_SUN
-    , gl_UNSIGNED_INT_SAMPLER_1D
-    , gl_ONE_MINUS_CONSTANT_COLOR_EXT
-    , gl_SIGNED_IDENTITY_NV
-    , gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE
-    , gl_SLUMINANCE_ALPHA_EXT
-    , gl_RG32UI
-    , gl_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD
-    , gl_SIGNED_ALPHA8_NV
-    , gl_PATCHES
-    , gl_COMBINE_ALPHA_EXT
-    , gl_COMPRESSED_SLUMINANCE
-    , gl_STRICT_LIGHTING_HINT_PGI
-    , gl_COLOR_TABLE_BLUE_SIZE_SGI
-    , gl_MAX_TESS_PATCH_COMPONENTS_EXT
-    , gl_UNKNOWN_CONTEXT_RESET
-    , gl_IMAGE_2D_MULTISAMPLE_ARRAY_EXT
-    , gl_V3F
-    , gl_MATRIX28_ARB
-    , gl_ONE_MINUS_CONSTANT_ALPHA_EXT
-    , gl_PROGRAM_TARGET_NV
-    , gl_VERTEX_PROGRAM_TWO_SIDE_ARB
-    , gl_Z400_BINARY_AMD
-    , gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE
-    , gl_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL
-    , gl_PALETTE4_RGB5_A1_OES
-    , gl_MAP2_VERTEX_ATTRIB7_4_NV
-    , gl_UNSIGNED_INT_IMAGE_BUFFER_EXT
-    , gl_SOURCE0_ALPHA_EXT
-    , gl_DSDT_MAG_INTENSITY_NV
-    , gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS
-    , gl_PROVOKING_VERTEX_EXT
-    , gl_CLIP_PLANE4
-    , gl_MAX_VERTEX_SHADER_INVARIANTS_EXT
-    , gl_LIGHT2
-    , gl_EYE_PLANE
-    , gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES
-    , gl_DEBUG_TYPE_POP_GROUP_KHR
-    , gl_EXP2
-    , gl_PACK_COMPRESSED_BLOCK_HEIGHT
-    , gl_STACK_UNDERFLOW_KHR
-    , gl_IMAGE_CLASS_4_X_8
-    , gl_TEXTURE_COVERAGE_SAMPLES_NV
-    , gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV
-    , gl_MAP2_VERTEX_ATTRIB9_4_NV
-    , gl_PERFQUERY_SINGLE_CONTEXT_INTEL
-    , gl_FUNC_REVERSE_SUBTRACT
-    , gl_TEXTURE_COMPARE_OPERATOR_SGIX
-    , gl_ATOMIC_COUNTER_BUFFER_START
-    , gl_FRAGMENT_INPUT_NV
-    , gl_MIRRORED_REPEAT
-    , gl_COLOR_ATTACHMENT12_NV
-    , gl_INT_SAMPLER_3D_EXT
-    , gl_DEPTH_CLAMP_FAR_AMD
-    , gl_SAMPLE_ALPHA_TO_COVERAGE
-    , gl_CONSTANT_COLOR0_NV
-    , gl_VIEW_CLASS_32_BITS
-    , gl_SAMPLE_ALPHA_TO_ONE_EXT
-    , gl_FLOAT_MAT2x4_NV
-    , gl_MAX_SHININESS_NV
-    , gl_RENDERBUFFER_WIDTH_OES
-    , gl_WAIT_FAILED_APPLE
-    , gl_DOUBLE_MAT4x3_EXT
-    , gl_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT
-    , gl_DEPTH_COMPONENT16_NONLINEAR_NV
-    , gl_RGBA2
-    , gl_TRANSFORM_HINT_APPLE
-    , gl_PROGRAM
-    , gl_STATIC_READ
-    , gl_SAMPLES_EXT
-    , gl_Z4Y12Z4CB12Z4CR12_444_NV
-    , gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS
-    , gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT
-    , gl_POST_CONVOLUTION_GREEN_BIAS
-    , gl_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM
-    , gl_VERTEX_ATTRIB_ARRAY_LONG
-    , gl_GEQUAL
-    , gl_DRAW_BUFFER2_ATI
-    , gl_MAX_TEXTURE_UNITS
-    , gl_BUFFER_MAPPED
-    , gl_COMBINER_INPUT_NV
-    , gl_R8UI
-    , gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT
-    , gl_SIGNED_HILO16_NV
-    , gl_BLEND_DST_RGB_OES
-    , gl_CLIPPING_INPUT_PRIMITIVES_ARB
-    , gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE
-    , gl_FONT_Y_MAX_BOUNDS_BIT_NV
-    , gl_DEPTH24_STENCIL8
-    , gl_TRANSPOSE_COLOR_MATRIX
-    , gl_TEXTURE_MAX_LOD
-    , gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT
-    , gl_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD
-    , gl_GLOBAL_ALPHA_SUN
-    , gl_TRANSFORM_FEEDBACK_BUFFER_STRIDE
-    , gl_MAX_VIEWPORTS_NV
-    , gl_SMALL_CCW_ARC_TO_NV
-    , gl_INTERNALFORMAT_ALPHA_TYPE
-    , gl_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI
-    , gl_IUI_V3F_EXT
-    , gl_TEXTURE_GREEN_TYPE
-    , gl_RGB16I_EXT
-    , gl_PROGRAM_PARAMETERS_ARB
-    , gl_BLEND_DST_RGB_EXT
-    , gl_LIGHT_MODEL_COLOR_CONTROL_EXT
-    , gl_TEXTURE_CROP_RECT_OES
-    , gl_EVAL_VERTEX_ATTRIB9_NV
-    , gl_BUFFER_ACCESS_ARB
-    , gl_SAMPLER_2D_RECT
-    , gl_NUM_SHADING_LANGUAGE_VERSIONS
-    , gl_TEXTURE_BUFFER_SIZE
-    , gl_TEXT_FRAGMENT_SHADER_ATI
-    , gl_ADD_BLEND_IMG
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES
-    , gl_MAP1_TEXTURE_COORD_4
-    , gl_PIXEL_MAP_S_TO_S_SIZE
-    , gl_REG_12_ATI
-    , gl_TEXTURE_CUBE_MAP_NEGATIVE_Z
-    , gl_LUMINANCE_ALPHA32F_EXT
-    , gl_MAX_VERTEX_STREAMS
-    , gl_VERTEX_ATTRIB_ARRAY_POINTER
-    , gl_LAYER_PROVOKING_VERTEX
-    , gl_INT_VEC2_ARB
-    , gl_COMPUTE_TEXTURE
-    , gl_FLOAT_VEC3_ARB
-    , gl_ASYNC_MARKER_SGIX
-    , gl_SAMPLE_MASK
-    , gl_VERTEX_ELEMENT_SWIZZLE_AMD
-    , gl_MODELVIEW1_MATRIX_EXT
-    , gl_COMPRESSED_TEXTURE_FORMATS_ARB
-    , gl_BLEND_SRC_ALPHA
-    , gl_C4UB_V2F
-    , gl_RASTER_POSITION_UNCLIPPED_IBM
-    , gl_OP_MADD_EXT
-    , gl_INDEX_MATERIAL_PARAMETER_EXT
-    , gl_COPY_WRITE_BUFFER
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR
-    , gl_SOURCE2_ALPHA_ARB
-    , gl_BLEND_ADVANCED_COHERENT_NV
-    , gl_MINMAX
-    , gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS
-    , gl_SAMPLE_POSITION
-    , gl_IMAGE_2D_ARRAY_EXT
-    , gl_CLIP_DISTANCE0
-    , gl_FLOAT_MAT4
-    , gl_REG_1_ATI
-    , gl_MAP2_VERTEX_ATTRIB4_4_NV
-    , gl_FRAGMENT_LIGHT7_SGIX
-    , gl_INT_SAMPLER_1D_EXT
-    , gl_PIXEL_PACK_BUFFER_BINDING_ARB
-    , gl_SAMPLE_ALPHA_TO_MASK_SGIS
-    , gl_OPERAND1_ALPHA
-    , gl_MAP_WRITE_BIT
-    , gl_QUERY_NO_WAIT_INVERTED
-    , gl_TEXTURE_BUFFER_FORMAT_EXT
-    , gl_RELATIVE_LARGE_CCW_ARC_TO_NV
-    , gl_REG_16_ATI
-    , gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS
-    , gl_IMAGE_CUBE_MAP_ARRAY
-    , gl_PROXY_TEXTURE_1D_STACK_MESAX
-    , gl_COLOR_BUFFER_BIT5_QCOM
-    , gl_SHADER_OBJECT_EXT
-    , gl_OUTPUT_TEXTURE_COORD10_EXT
-    , gl_BUFFER_UPDATE_BARRIER_BIT
-    , gl_POST_CONVOLUTION_ALPHA_BIAS
-    , gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY
-    , gl_IMAGE_1D
-    , gl_MAX_TEXTURE_IMAGE_UNITS
-    , gl_FRAGMENTS_INSTRUMENT_SGIX
-    , gl_RED_BIAS
-    , gl_RGB10_A2UI
-    , gl_BLEND_EQUATION_ALPHA
-    , gl_MAP1_VERTEX_ATTRIB7_4_NV
-    , gl_FIRST_VERTEX_CONVENTION
-    , gl_VIEW_CLASS_RGTC2_RG
-    , gl_SM_COUNT_NV
-    , gl_TEXTURE_ALPHA_SIZE_EXT
-    , gl_DRAW_BUFFER7
-    , gl_FUNC_ADD
-    , gl_CLIP_DISTANCE1
-    , gl_LUMINANCE_ALPHA16F_ARB
-    , gl_VERTEX_ARRAY
-    , gl_TEXTURE_SWIZZLE_R
-    , gl_TEXTURE20
-    , gl_DECODE_EXT
-    , gl_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB
-    , gl_MODELVIEW17_ARB
-    , gl_BOOL_VEC4
-    , gl_INTENSITY8UI_EXT
-    , gl_PACK_RESAMPLE_SGIX
-    , gl_TESS_GEN_MODE_EXT
-    , gl_LUMINANCE32I_EXT
-    , gl_SIGNED_NEGATE_NV
-    , gl_UNIFORM_IS_ROW_MAJOR
-    , gl_NO_RESET_NOTIFICATION_EXT
-    , gl_COLOR_ATTACHMENT15_EXT
-    , gl_R1UI_C4UB_V3F_SUN
-    , gl_DOUBLE_VEC2
-    , gl_PER_STAGE_CONSTANTS_NV
-    , gl_RELATIVE_CONIC_CURVE_TO_NV
-    , gl_BUFFER_SIZE
-    , gl_MAX_DEBUG_GROUP_STACK_DEPTH_KHR
-    , gl_FLOAT_MAT2x3
-    , gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX
-    , gl_INT_SAMPLER_CUBE_EXT
-    , gl_POST_CONVOLUTION_GREEN_SCALE_EXT
-    , gl_SAMPLER_3D
-    , gl_INVARIANT_DATATYPE_EXT
-    , gl_NUM_INSTRUCTIONS_PER_PASS_ATI
-    , gl_SRC_COLOR
-    , gl_UNKNOWN_CONTEXT_RESET_ARB
-    , gl_POLYGON_OFFSET_FILL
-    , gl_GEOMETRY_VERTICES_OUT
-    , gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY
-    , gl_FRAGMENT_INTERPOLATION_OFFSET_BITS
-    , gl_DRAW_BUFFER3_ATI
-    , gl_DRAW_BUFFER9_EXT
-    , gl_TEXTURE_VIEW_NUM_LEVELS_EXT
-    , gl_POLYGON_OFFSET_FACTOR
-    , gl_CLIENT_ACTIVE_TEXTURE_ARB
-    , gl_MAP_UNSYNCHRONIZED_BIT
-    , gl_RG16_SNORM
-    , gl_UNSIGNED_SHORT_8_8_REV_APPLE
-    , gl_SAMPLER_KHR
-    , gl_EDGE_FLAG_ARRAY_ADDRESS_NV
-    , gl_CLAMP_VERTEX_COLOR_ARB
-    , gl_UNSIGNALED
-    , gl_SIGNED_RGBA_NV
-    , gl_BOOL_VEC3
-    , gl_TEXTURE_CUBE_MAP_OES
-    , gl_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV
-    , gl_DOT3_RGB_EXT
-    , gl_R1UI_C3F_V3F_SUN
-    , gl_PATH_END_CAPS_NV
-    , gl_IMAGE_MAG_FILTER_HP
-    , gl_SWIZZLE_STR_ATI
-    , gl_PIXEL_TEX_GEN_Q_FLOOR_SGIX
-    , gl_TEXTURE_DEPTH_SIZE_ARB
-    , gl_POST_COLOR_MATRIX_ALPHA_BIAS
-    , gl_HSL_LUMINOSITY_NV
-    , gl_INDEX_CLEAR_VALUE
-    , gl_EXTENSIONS
-    , gl_TRANSLATE_2D_NV
-    , gl_INT_SAMPLER_CUBE
-    , gl_INT_SAMPLER_3D
-    , gl_COMBINER_SUM_OUTPUT_NV
-    , gl_NUM_INSTRUCTIONS_TOTAL_ATI
-    , gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS
-    , gl_COMBINER2_NV
-    , gl_MATRIX6_ARB
-    , gl_MAX_CUBE_MAP_TEXTURE_SIZE_EXT
-    , gl_DOUBLE_MAT2x4_EXT
-    , gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES
-    , gl_VIBRANCE_BIAS_NV
-    , gl_COLOR_ATTACHMENT15_NV
-    , gl_TEXTURE_DEPTH_SIZE
-    , gl_ALLOW_DRAW_FRG_HINT_PGI
-    , gl_PATH_CLIENT_LENGTH_NV
-    , gl_UNSIGNED_BYTE_2_3_3_REV
-    , gl_ONE
-    , gl_INTERPOLATE_EXT
-    , gl_BUMP_TARGET_ATI
-    , gl_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL
-    , gl_SIGNED_RGB8_UNSIGNED_ALPHA8_NV
-    , gl_DEPENDENT_GB_TEXTURE_2D_NV
-    , gl_GEOMETRY_OUTPUT_TYPE_ARB
-    , gl_SRGB8_EXT
-    , gl_TEXTURE_3D_OES
-    , gl_DEPTH_COMPONENT32
-    , gl_TEXTURE23_ARB
-    , gl_STREAM_READ
-    , gl_OBJECT_DISTANCE_TO_POINT_SGIS
-    , gl_POINT_SIZE_MIN_SGIS
-    , gl_HSL_HUE_NV
-    , gl_SIGNED_LUMINANCE_NV
-    , gl_TRACE_PRIMITIVES_BIT_MESA
-    , gl_COLOR_ALPHA_PAIRING_ATI
-    , gl_POINT_SPRITE_R_MODE_NV
-    , gl_PROGRAM_INPUT
-    , gl_UNSIGNED_INT16_NV
-    , gl_DYNAMIC_ATI
-    , gl_REFERENCED_BY_GEOMETRY_SHADER
-    , gl_FLOAT_MAT3x2_NV
-    , gl_MINMAX_SINK
-    , gl_MAX_VARYING_FLOATS_ARB
-    , gl_DYNAMIC_COPY_ARB
-    , gl_WEIGHT_ARRAY_STRIDE_OES
-    , gl_FRAMEBUFFER_COMPLETE_EXT
-    , gl_MAD_ATI
-    , gl_TEXTURE_1D
-    , gl_FILL
-    , gl_TEXTURE_BINDING_RECTANGLE_NV
-    , gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT
-    , gl_DSDT_NV
-    , gl_INT_10_10_10_2_OES
-    , gl_CLIP_PLANE4_IMG
-    , gl_FLAT
-    , gl_PROGRAM_PIPELINE_BINDING
-    , gl_PROGRAM_SEPARABLE
-    , gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV
-    , gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB
-    , gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET
-    , gl_CONSERVE_MEMORY_HINT_PGI
-    , gl_TEXTURE_GEN_MODE
-    , gl_SAMPLER_2D_SHADOW_EXT
-    , gl_BUFFER_ACCESS
-    , gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING
-    , gl_MAX_CLIP_PLANES
-    , gl_TEXTURE_DEFORMATION_SGIX
-    , gl_POST_COLOR_MATRIX_ALPHA_SCALE_SGI
-    , gl_QUERY_BY_REGION_WAIT
-    , gl_LINE_STIPPLE_REPEAT
-    , gl_UNSIGNED_BYTE_2_3_3_REV_EXT
-    , gl_BLEND_EQUATION_EXT
-    , gl_SMOOTH_POINT_SIZE_RANGE
-    , gl_TRANSFORM_FEEDBACK_VARYINGS
-    , gl_INDEX_ARRAY_LIST_STRIDE_IBM
-    , gl_TEXTURE_BINDING_RECTANGLE
-    , gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT
-    , gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX
-    , gl_DOUBLE_MAT3
-    , gl_TEXTURE_VIEW_MIN_LAYER
-    , gl_BUFFER_ACCESS_FLAGS
-    , gl_LUMINANCE12_EXT
-    , gl_MAX_SUBROUTINES
-    , gl_DEBUG_CATEGORY_SHADER_COMPILER_AMD
-    , gl_DRAW_BUFFER5_EXT
-    , gl_MAP_ATTRIB_V_ORDER_NV
-    , gl_COMPRESSED_RG11_EAC
-    , gl_SURFACE_STATE_NV
-    , gl_DEBUG_TYPE_OTHER_KHR
-    , gl_PATH_FILL_MODE_NV
-    , gl_MAX_NUM_COMPATIBLE_SUBROUTINES
-    , gl_TEXTURE29_ARB
-    , gl_TEXTURE_COORD_NV
-    , gl_TEXTURE_SHARED_SIZE_EXT
-    , gl_SUB_ATI
-    , gl_OFFSET_TEXTURE_BIAS_NV
-    , gl_PATH_FORMAT_SVG_NV
-    , gl_INT_IMAGE_BUFFER_EXT
-    , gl_TEXTURE_FLOAT_COMPONENTS_NV
-    , gl_MAX_TEXTURE_UNITS_ARB
-    , gl_OP_RECIP_EXT
-    , gl_RELATIVE_ROUNDED_RECT2_NV
-    , gl_DOT3_RGBA_IMG
-    , gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER
-    , gl_SMOOTH_CUBIC_CURVE_TO_NV
-    , gl_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT
-    , gl_INTENSITY8
-    , gl_VIEW_CLASS_128_BITS
-    , gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV
-    , gl_READ_FRAMEBUFFER_BINDING_EXT
-    , gl_ELEMENT_ARRAY_ATI
-    , gl_POINT_SIZE_GRANULARITY
-    , gl_EDGE_FLAG_ARRAY_LENGTH_NV
-    , gl_MULTISAMPLE_BIT_ARB
-    , gl_POST_COLOR_MATRIX_GREEN_BIAS
-    , gl_CONTEXT_ROBUST_ACCESS_EXT
-    , gl_VARIANT_ARRAY_STRIDE_EXT
-    , gl_LUMINANCE16_ALPHA16_SNORM
-    , gl_UNSIGNED_INT_5_9_9_9_REV_EXT
-    , gl_COLOR_SUM_EXT
-    , gl_TEXTURE_ALPHA_TYPE_ARB
-    , gl_TEXTURE_INTENSITY_SIZE_EXT
-    , gl_CONTEXT_FLAG_DEBUG_BIT_KHR
-    , gl_PATH_GEN_COLOR_FORMAT_NV
-    , gl_COLOR_ATTACHMENT13_NV
-    , gl_VERTEX_PROGRAM_POINT_SIZE_NV
-    , gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS
-    , gl_COLOR_ATTACHMENT15
-    , gl_V2F
-    , gl_SAMPLER_CUBE_MAP_ARRAY
-    , gl_TRACE_MASK_MESA
-    , gl_CLIP_DISTANCE2_APPLE
-    , gl_VERTEX_BINDING_DIVISOR
-    , gl_CON_9_ATI
-    , gl_FACTOR_MIN_AMD
-    , gl_COLOR_ATTACHMENT11
-    , gl_DRAW_BUFFER11_EXT
-    , gl_TEXTURE_NORMAL_EXT
-    , gl_R16F_EXT
-    , gl_RENDERBUFFER_HEIGHT_EXT
-    , gl_MINUS_NV
-    , gl_UNPACK_IMAGE_HEIGHT
-    , gl_DRAW_INDIRECT_BUFFER_BINDING
-    , gl_CONIC_CURVE_TO_NV
-    , gl_TEXTURE_VIEW_NUM_LAYERS
-    , gl_SAMPLE_SHADING_ARB
-    , gl_HALF_FLOAT_OES
-    , gl_LOCATION_INDEX
-    , gl_CLIENT_ATTRIB_STACK_DEPTH
-    , gl_DOUBLE_MAT2x3
-    , gl_READ_PIXEL_DATA_RANGE_POINTER_NV
-    , gl_DST_ATOP_NV
-    , gl_FENCE_APPLE
-    , gl_RGBA8_OES
-    , gl_CURRENT_PROGRAM
-    , gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV
-    , gl_ALIASED_LINE_WIDTH_RANGE
-    , gl_NORMAL_ARRAY_POINTER
-    , gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE
-    , gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB
-    , gl_FUNC_SUBTRACT_EXT
-    , gl_OCCLUSION_TEST_RESULT_HP
-    , gl_PACK_SWAP_BYTES
-    , gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT
-    , gl_RESET_NOTIFICATION_STRATEGY_EXT
-    , gl_FLOAT_VEC2_ARB
-    , gl_POST_COLOR_MATRIX_COLOR_TABLE_SGI
-    , gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS
-    , gl_MAX_VERTEX_VARYING_COMPONENTS_EXT
-    , gl_VIRTUAL_PAGE_SIZE_Z_AMD
-    , gl_STENCIL_INDEX1
-    , gl_UNSIGNED_INT_IMAGE_1D
-    , gl_DRAW_BUFFER12
-    , gl_BUMP_ROT_MATRIX_ATI
-    , gl_DEBUG_OUTPUT
-    , gl_COLOR_ARRAY_LIST_STRIDE_IBM
-    , gl_FOG_COORD_ARRAY_TYPE
-    , gl_ONE_MINUS_SRC_COLOR
-    , gl_QUERY_OBJECT_AMD
-    , gl_MATRIX_MODE
-    , gl_TEXTURE_COMPRESSION_HINT_ARB
-    , gl_TEXTURE_IMAGE_FORMAT
-    , gl_CONSTANT
-    , gl_CLIENT_ALL_ATTRIB_BITS
-    , gl_READ_PIXELS_TYPE
-    , gl_MODELVIEW9_ARB
-    , gl_PROXY_TEXTURE_CUBE_MAP_ARRAY
-    , gl_TEXTURE_RED_SIZE_EXT
-    , gl_NO_RESET_NOTIFICATION_KHR
-    , gl_RGB_FLOAT16_APPLE
-    , gl_DRAW_BUFFER4
-    , gl_CUBIC_EXT
-    , gl_INT_SAMPLER_2D_MULTISAMPLE
-    , gl_ALPHA_INTEGER
-    , gl_SIGNALED
-    , gl_UNSIGNED_SHORT_4_4_4_4_EXT
-    , gl_PALETTE8_R5_G6_B5_OES
-    , gl_EDGE_FLAG_ARRAY_COUNT_EXT
-    , gl_OPERAND3_ALPHA_NV
-    , gl_COMPRESSED_RGBA8_ETC2_EAC_OES
-    , gl_422_REV_AVERAGE_EXT
-    , gl_INTERNALFORMAT_RED_TYPE
-    , gl_RGB_SCALE
-    , gl_TRANSFORM_FEEDBACK_PAUSED
-    , gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT
-    , gl_PROXY_TEXTURE_RECTANGLE
-    , gl_VERTEX_PROGRAM_CALLBACK_MESA
-    , gl_LUMINANCE_ALPHA_FLOAT16_APPLE
-    , gl_VERTEX_ATTRIB_ARRAY_INTEGER
-    , gl_MAX_VIEWPORT_DIMS
-    , gl_MAX_RECTANGLE_TEXTURE_SIZE_NV
-    , gl_REFERENCE_PLANE_EQUATION_SGIX
-    , gl_DEBUG_SEVERITY_LOW_ARB
-    , gl_MEDIUM_INT
-    , gl_SRC_ATOP_NV
-    , gl_TEXTURE19_ARB
-    , gl_RGBA4_OES
-    , gl_SRC2_ALPHA
-    , gl_TEXTURE_ENV
-    , gl_ACTIVE_TEXTURE
-    , gl_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM
-    , gl_INT_VEC4
-    , gl_EVAL_2D_NV
-    , gl_OBJECT_DELETE_STATUS_ARB
-    , gl_PROGRAM_FORMAT_ARB
-    , gl_MAX_PROGRAM_TEXEL_OFFSET_NV
-    , gl_UNSIGNED_SHORT_4_4_4_4_REV_EXT
-    , gl_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES
-    , gl_INDEX_ARRAY_COUNT_EXT
-    , gl_ELEMENT_ARRAY_BARRIER_BIT
-    , gl_MULTISAMPLE_3DFX
-    , gl_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM
-    , gl_CONTEXT_FLAGS
-    , gl_PERFMON_RESULT_AMD
-    , gl_MAX_DEPTH_TEXTURE_SAMPLES
-    , gl_TEXTURE_2D_STACK_MESAX
-    , gl_TRUE
-    , gl_PIXEL_TILE_GRID_HEIGHT_SGIX
-    , gl_LINEAR_ATTENUATION
-    , gl_LUMINANCE_ALPHA16I_EXT
-    , gl_ALWAYS_SOFT_HINT_PGI
-    , gl_TEXTURE_BINDING_3D_OES
-    , gl_INT_IMAGE_2D_RECT
-    , gl_COMBINER5_NV
-    , gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB
-    , gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
-    , gl_INTERNALFORMAT_BLUE_TYPE
-    , gl_TEXTURE_WRAP_R_OES
-    , gl_LO_BIAS_NV
-    , gl_RESET_NOTIFICATION_STRATEGY_ARB
-    , gl_TEXTURE_MIN_FILTER
-    , gl_DRAW_BUFFER1_NV
-    , gl_MAX_GEOMETRY_OUTPUT_VERTICES_EXT
-    , gl_LUMINANCE_ALPHA32F_ARB
-    , gl_SAMPLER_EXTERNAL_OES
-    , gl_MAX_FRAMEBUFFER_LAYERS
-    , gl_OP_MOV_EXT
-    , gl_CONVOLUTION_BORDER_MODE
-    , gl_SOFTLIGHT_KHR
-    , gl_MAX_SERVER_WAIT_TIMEOUT_APPLE
-    , gl_RGB_FLOAT32_APPLE
-    , gl_WRAP_BORDER_SUN
-    , gl_INTERLACE_READ_OML
-    , gl_LINES_ADJACENCY_ARB
-    , gl_CURRENT_WEIGHT_ARB
-    , gl_TEXTURE_MAG_SIZE_NV
-    , gl_TEXTURE_SHADER_NV
-    , gl_CON_5_ATI
-    , gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT
-    , gl_TEXTURE_UPDATE_BARRIER_BIT
-    , gl_INDEX_ARRAY_TYPE_EXT
-    , gl_HARDLIGHT_NV
-    , gl_GLYPH_HEIGHT_BIT_NV
-    , gl_PALETTE4_RGB8_OES
-    , gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV
-    , gl_TABLE_TOO_LARGE_EXT
-    , gl_COMPRESSED_RED_RGTC1_EXT
-    , gl_SHADER_IMAGE_ACCESS_BARRIER_BIT
-    , gl_HALF_BIT_ATI
-    , gl_STENCIL_TAG_BITS_EXT
-    , gl_VERTEX_WEIGHT_ARRAY_STRIDE_EXT
-    , gl_NEGATIVE_ONE_EXT
-    , gl_GEOMETRY_PROGRAM_NV
-    , gl_VERTEX_STREAM6_ATI
-    , gl_READ_FRAMEBUFFER_NV
-    , gl_COLORBURN_KHR
-    , gl_T
-    , gl_MATRIX11_ARB
-    , gl_DRAW_FRAMEBUFFER_EXT
-    , gl_FRAGMENT_SHADER_ARB
-    , gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR
-    , gl_RENDERBUFFER_OES
-    , gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT
-    , gl_COMPRESSED_RGBA_ASTC_12x10_KHR
-    , gl_INDEX_ARRAY_POINTER
-    , gl_TEXTURE_SWIZZLE_G
-    , gl_PROGRAM_MATRIX_STACK_DEPTH_EXT
-    , gl_COLOR_ATTACHMENT4
-    , gl_DOUBLE_MAT3x2_EXT
-    , gl_ATTRIB_ARRAY_SIZE_NV
-    , gl_TEXTURE15_ARB
-    , gl_COLORDODGE_KHR
-    , gl_SOURCE1_RGB
-    , gl_INTENSITY8I_EXT
-    , gl_CURRENT_VERTEX_WEIGHT_EXT
-    , gl_STENCIL_RENDERABLE
-    , gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB
-    , gl_POST_CONVOLUTION_BLUE_BIAS_EXT
-    , gl_UNIFORM_BUFFER_LENGTH_NV
-    , gl_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES
-    , gl_RG16
-    , gl_DOT_PRODUCT_PASS_THROUGH_NV
-    , gl_WEIGHT_ARRAY_SIZE_OES
-    , gl_VERTEX_ARRAY_POINTER_EXT
-    , gl_COLOR_SUM_ARB
-    , gl_PROGRAM_ADDRESS_REGISTERS_ARB
-    , gl_TEXTURE20_ARB
-    , gl_MAP_INVALIDATE_BUFFER_BIT
-    , gl_DRAW_BUFFER14_ATI
-    , gl_DOT3_RGBA
-    , gl_COORD_REPLACE_NV
-    , gl_DECR_WRAP_EXT
-    , gl_MAX_LAYERS
-    , gl_SPRITE_MODE_SGIX
-    , gl_INTENSITY
-    , gl_RGBA32UI_EXT
-    , gl_LUMINANCE12_ALPHA12_EXT
-    , gl_MULTISAMPLE_BUFFER_BIT3_QCOM
-    , gl_PERFQUERY_COUNTER_TIMESTAMP_INTEL
-    , gl_INTERNALFORMAT_SUPPORTED
-    , gl_COMPRESSED_RGB_PVRTC_4BPPV1_IMG
-    , gl_DEBUG_CALLBACK_FUNCTION_KHR
-    , gl_SCALE_BY_TWO_NV
-    , gl_DECR_WRAP_OES
-    , gl_RASTERIZER_DISCARD
-    , gl_UNSIGNED_INT_SAMPLER_2D
-    , gl_PIXEL_UNPACK_BUFFER_BINDING
-    , gl_MODELVIEW16_ARB
-    , gl_MAP2_VERTEX_4
-    , gl_AVERAGE_EXT
-    , gl_LUMINANCE_ALPHA_FLOAT32_APPLE
-    , gl_TEXTURE_BLUE_TYPE
-    , gl_MAP1_VERTEX_ATTRIB14_4_NV
-    , gl_SAMPLE_ALPHA_TO_COVERAGE_ARB
-    , gl_QUERY_RESULT
-    , gl_ACTIVE_ATOMIC_COUNTER_BUFFERS
-    , gl_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT
-    , gl_SLUMINANCE_ALPHA_NV
-    , gl_TEXTURE_2D_BINDING_EXT
-    , gl_MULTISAMPLE_BIT_3DFX
-    , gl_PATH_COMMAND_COUNT_NV
-    , gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS
-    , gl_MULTISAMPLE_ARB
-    , gl_FRAMEBUFFER_DEFAULT_LAYERS_EXT
-    , gl_PALETTE4_R5_G6_B5_OES
-    , gl_PIXEL_TRANSFORM_2D_MATRIX_EXT
-    , gl_DEBUG_SOURCE_SHADER_COMPILER_ARB
-    , gl_UNSIGNED_INT_24_8_NV
-    , gl_LINK_STATUS
-    , gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NV
-    , gl_RENDERBUFFER_INTERNAL_FORMAT_EXT
-    , gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
-    , gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS
-    , gl_IMAGE_CLASS_4_X_32
-    , gl_TIMEOUT_EXPIRED
-    , gl_MODELVIEW13_ARB
-    , gl_LIGHT_MODEL_SPECULAR_VECTOR_APPLE
-    , gl_STENCIL_INDEX1_OES
-    , gl_MAX_COMPUTE_UNIFORM_COMPONENTS
-    , gl_QUERY_WAIT
-    , gl_ALREADY_SIGNALED
-    , gl_ACTIVE_UNIFORMS
-    , gl_ARRAY_OBJECT_OFFSET_ATI
-    , gl_TRANSFORM_FEEDBACK_BUFFER
-    , gl_RGBA16I_EXT
-    , gl_MAX_VERTEX_UNITS_ARB
-    , gl_ONE_MINUS_SRC1_COLOR
-    , gl_COMPRESSED_RGBA_ASTC_5x4x4_OES
-    , gl_PIXEL_TILE_HEIGHT_SGIX
-    , gl_TEXTURE_BINDING_EXTERNAL_OES
-    , gl_COLOR_CLEAR_VALUE
-    , gl_CONVOLUTION_BORDER_MODE_EXT
-    , gl_BGR_INTEGER
-    , gl_PATCH_VERTICES
-    , gl_MODELVIEW0_ARB
-    , gl_TRIANGLES_ADJACENCY_EXT
-    , gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT
-    , gl_EVAL_VERTEX_ATTRIB15_NV
-    , gl_REPLACEMENT_CODE_SUN
-    , gl_COUNTER_TYPE_AMD
-    , gl_INT_SAMPLER_BUFFER
-    , gl_MODELVIEW1_STACK_DEPTH_EXT
-    , gl_FRAMEBUFFER_UNDEFINED_OES
-    , gl_MIRROR_CLAMP_TO_EDGE_ATI
-    , gl_DEPTH_COMPONENT
-    , gl_RGBA16_SNORM_EXT
-    , gl_FRAGMENT_MATERIAL_EXT
-    , gl_READ_ONLY
-    , gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS
-    , gl_ROUNDED_RECT8_NV
-    , gl_RELATIVE_RECT_NV
-    , gl_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV
-    , gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
-    , gl_PATCH_VERTICES_EXT
-    , gl_RED_BITS
-    , gl_YCRCB_444_SGIX
-    , gl_MAX_ELEMENTS_VERTICES
-    , gl_SIGNED_LUMINANCE8_NV
-    , gl_ALPHA_TEST_FUNC_QCOM
-    , gl_RENDERBUFFER_HEIGHT_OES
-    , gl_OUTPUT_TEXTURE_COORD3_EXT
-    , gl_OUTPUT_TEXTURE_COORD28_EXT
-    , gl_SOURCE0_ALPHA
-    , gl_INNOCENT_CONTEXT_RESET
-    , gl_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV
-    , gl_MATRIX19_ARB
-    , gl_COMPARE_REF_TO_TEXTURE_EXT
-    , gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH
-    , gl_TEXTURE_CUBE_MAP_POSITIVE_X_ARB
-    , gl_STENCIL_INDEX8_OES
-    , gl_CON_8_ATI
-    , gl_RGB565_OES
-    , gl_MATRIX27_ARB
-    , gl_BUFFER_GPU_ADDRESS_NV
-    , gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE
-    , gl_COLOR_ATTACHMENT0_NV
-    , gl_UNIFORM_BUFFER_START
-    , gl_RASTER_FIXED_SAMPLE_LOCATIONS_EXT
-    , gl_MATRIX_INDEX_ARRAY_TYPE_OES
-    , gl_DUAL_ALPHA8_SGIS
-    , gl_PROGRAM_LENGTH_NV
-    , gl_FOG_OFFSET_SGIX
-    , gl_MATRIX_INDEX_ARRAY_OES
-    , gl_RGB16UI_EXT
-    , gl_MULTISAMPLE_BUFFER_BIT7_QCOM
-    , gl_POINT_SIZE_ARRAY_POINTER_OES
-    , gl_TEXTURE_CUBE_MAP_SEAMLESS
-    , gl_COPY_READ_BUFFER
-    , gl_INT64_VEC4_NV
-    , gl_OFFSET_TEXTURE_2D_NV
-    , gl_SHININESS
-    , gl_STENCIL_BACK_PASS_DEPTH_FAIL_ATI
-    , gl_CONVOLUTION_FORMAT_EXT
-    , gl_DRAW_BUFFER10_ARB
-    , gl_VIDEO_CAPTURE_FRAME_WIDTH_NV
-    , gl_FRAMEBUFFER_BINDING
-    , gl_PROXY_TEXTURE_1D_ARRAY_EXT
-    , gl_COMPRESSED_SRGB_S3TC_DXT1_NV
-    , gl_PROGRAM_STRING_ARB
-    , gl_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV
-    , gl_SOURCE3_RGB_NV
-    , gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB
-    , gl_UNSIGNED_IDENTITY_NV
-    , gl_COMPUTE_SHADER
-    , gl_PIXEL_GROUP_COLOR_SGIS
-    , gl_TEXTURE_WRAP_Q_SGIS
-    , gl_LINE_STRIP
-    , gl_HALF_FLOAT
-    , gl_2PASS_1_SGIS
-    , gl_OBJECT_PLANE
-    , gl_DSDT_MAG_VIB_NV
-    , gl_READ_FRAMEBUFFER_BINDING_NV
-    , gl_FONT_UNAVAILABLE_NV
-    , gl_INT_IMAGE_BUFFER
-    , gl_INFO_LOG_LENGTH
-    , gl_UNSIGNED_SHORT_8_8_REV_MESA
-    , gl_TEXTURE31_ARB
-    , gl_INDEX_TEST_REF_EXT
-    , gl_DEBUG_CATEGORY_API_ERROR_AMD
-    , gl_ARRAY_STRIDE
-    , gl_RGB9_E5_APPLE
-    , gl_VIEWPORT_SUBPIXEL_BITS
-    , gl_TEXTURE_COORD_ARRAY_STRIDE_EXT
-    , gl_UNSIGNED_INT_2_10_10_10_REV_EXT
-    , gl_WRITE_PIXEL_DATA_RANGE_NV
-    , gl_POLYGON_SMOOTH
-    , gl_SHADER_BINARY_VIV
-    , gl_FOG_COORDINATE_SOURCE_EXT
-    , gl_TEXTURE_NUM_LEVELS_QCOM
-    , gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS
-    , gl_SAMPLER_1D_ARRAY_SHADOW_EXT
-    , gl_COLOR_TABLE_GREEN_SIZE_SGI
-    , gl_ATC_RGBA_INTERPOLATED_ALPHA_AMD
-    , gl_TEXTURE_POST_SPECULAR_HP
-    , gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS
-    , gl_FRONT_RIGHT
-    , gl_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI
-    , gl_POINT_SIZE_ARRAY_BUFFER_BINDING_OES
-    , gl_PIXEL_MIN_FILTER_EXT
-    , gl_AUX3
-    , gl_QUERY_RESULT_NO_WAIT
-    , gl_POINT_SIZE_MIN_ARB
-    , gl_INDEX_SHIFT
-    , gl_MATRIX22_ARB
-    , gl_READ_PIXELS
-    , gl_BOOL_VEC3_ARB
-    , gl_TEXTURE_GATHER_SHADOW
-    , gl_MAP2_VERTEX_ATTRIB0_4_NV
-    , gl_COLOR_SUM
-    , gl_SHADER_TYPE
-    , gl_INTENSITY16_EXT
-    , gl_PROXY_TEXTURE_CUBE_MAP
-    , gl_DOUBLE_MAT2
-    , gl_UNSIGNED_SHORT_1_5_5_5_REV_EXT
-    , gl_TEXTURE_BINDING_2D_ARRAY
-    , gl_TEXTURE22
-    , gl_MOVE_TO_CONTINUES_NV
-    , gl_INT_IMAGE_3D_EXT
-    , gl_FEEDBACK
-    , gl_PERFQUERY_FLUSH_INTEL
-    , gl_OUTPUT_TEXTURE_COORD11_EXT
-    , gl_LIGHTEN_NV
-    , gl_RETAINED_APPLE
-    , gl_HORIZONTAL_LINE_TO_NV
-    , gl_RGBA2_EXT
-    , gl_POST_COLOR_MATRIX_RED_BIAS
-    , gl_LINES_ADJACENCY_EXT
-    , gl_POINT_SMOOTH
-    , gl_MAP2_NORMAL
-    , gl_TEXTURE_BINDING_CUBE_MAP_ARB
-    , gl_RGB_FLOAT32_ATI
-    , gl_ALPHA16UI_EXT
-    , gl_UNIFORM_OFFSET
-    , gl_ALPHA_MIN_CLAMP_INGR
-    , gl_ZERO_EXT
-    , gl_PERFMON_RESULT_AVAILABLE_AMD
-    , gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV
-    , gl_DUAL_INTENSITY4_SGIS
-    , gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS
-    , gl_GEOMETRY_VERTICES_OUT_EXT
-    , gl_UNSIGNED_SHORT_4_4_4_4_REV
-    , gl_ALPHA16F_ARB
-    , gl_CULL_VERTEX_IBM
-    , gl_DRAW_BUFFER5
-    , gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING
-    , gl_MATRIX0_NV
-    , gl_FRAMEBUFFER_BINDING_EXT
-    , gl_ROUNDED_RECT2_NV
-    , gl_TEXTURE_MATRIX
-    , gl_PERFORMANCE_MONITOR_AMD
-    , gl_REFLECTION_MAP_OES
-    , gl_GPU_DISJOINT_EXT
-    , gl_VERTEX_STREAM0_ATI
-    , gl_STENCIL_CLEAR_TAG_VALUE_EXT
-    , gl_DEBUG_CALLBACK_USER_PARAM
-    , gl_TEXTURE10
-    , gl_FLOAT_MAT2_ARB
-    , gl_FLOAT_R_NV
-    , gl_PIXEL_MAP_S_TO_S
-    , gl_EMBOSS_LIGHT_NV
-    , gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
-    , gl_INDEX_ARRAY_STRIDE_EXT
-    , gl_COMPRESSED_SLUMINANCE_ALPHA_EXT
-    , gl_LUMINANCE_ALPHA32UI_EXT
-    , gl_CULL_VERTEX_EYE_POSITION_EXT
-    , gl_COLOR_BUFFER_BIT7_QCOM
-    , gl_GLYPH_VERTICAL_BEARING_Y_BIT_NV
-    , gl_CLAMP_TO_BORDER
-    , gl_FOG_FUNC_SGIS
-    , gl_GPU_MEMORY_INFO_EVICTION_COUNT_NVX
-    , gl_TRANSLATE_Y_NV
-    , gl_TIMESTAMP_EXT
-    , gl_STREAM_READ_ARB
-    , gl_COLOR_ARRAY_ADDRESS_NV
-    , gl_BUFFER_SERIALIZED_MODIFY_APPLE
-    , gl_HISTOGRAM_SINK
-    , gl_CLIP_DEPTH_MODE
-    , gl_VERTEX_ATTRIB_BINDING
-    , gl_WRITE_ONLY_ARB
-    , gl_LIGHTING_BIT
-    , gl_TEXTURE10_ARB
-    , gl_DRAW_BUFFER2_ARB
-    , gl_VERTEX_ARRAY_LIST_IBM
-    , gl_LINEARBURN_NV
-    , gl_COMPRESSED_SRGB_ALPHA_EXT
-    , gl_STENCIL_FUNC
-    , gl_422_EXT
-    , gl_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM
-    , gl_CLAMP_READ_COLOR
-    , gl_3_BYTES
-    , gl_TEXTURE_COMPRESSED
-    , gl_UNSIGNED_INT_10_10_10_2_OES
-    , gl_PATCH_DEFAULT_OUTER_LEVEL_EXT
-    , gl_MODELVIEW18_ARB
-    , gl_DEPTH_ATTACHMENT_OES
-    , gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT
-    , gl_3D_COLOR_TEXTURE
-    , gl_COLOR_ARRAY_EXT
-    , gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT
-    , gl_BLUE_INTEGER_EXT
-    , gl_MAP1_VERTEX_ATTRIB2_4_NV
-    , gl_UNPACK_COLORSPACE_CONVERSION_WEBGL
-    , gl_POLYGON_STIPPLE_BIT
-    , gl_TEXTURE_WIDTH_QCOM
-    , gl_SAMPLER_CUBE_SHADOW
-    , gl_MAX_PROGRAM_ATTRIB_COMPONENTS_NV
-    , gl_MAX_CONVOLUTION_HEIGHT
-    , gl_ELEMENT_ARRAY_BUFFER
-    , gl_MAX_TESS_GEN_LEVEL
-    , gl_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB
-    , gl_RESAMPLE_DECIMATE_OML
-    , gl_GREEN_INTEGER_EXT
-    , gl_FONT_UNDERLINE_POSITION_BIT_NV
-    , gl_FOG_COORD_SRC
-    , gl_TEXTURE_RESIDENT
-    , gl_HISTOGRAM_WIDTH
-    , gl_DRAW_FRAMEBUFFER_BINDING
-    , gl_TEXTURE_EXTERNAL_OES
-    , gl_SYNC_FENCE_APPLE
-    , gl_TEXTURE_LUMINANCE_TYPE_ARB
-    , gl_BLUE_BIAS
-    , gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV
-    , gl_MAP_PERSISTENT_BIT
-    , gl_TEXTURE_CUBE_MAP_EXT
-    , gl_GEOMETRY_LINKED_VERTICES_OUT_EXT
-    , gl_MAX_CLIENT_ATTRIB_STACK_DEPTH
-    , gl_COMPARE_R_TO_TEXTURE_ARB
-    , gl_TESS_CONTROL_SHADER_EXT
-    , gl_TESS_CONTROL_PROGRAM_NV
-    , gl_STREAM_RASTERIZATION_AMD
-    , gl_DEPTH_FUNC
-    , gl_SLUMINANCE8_NV
-    , gl_PACK_REVERSE_ROW_ORDER_ANGLE
-    , gl_RENDER
-    , gl_CLIP_PLANE3
-    , gl_DUAL_ALPHA12_SGIS
-    , gl_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB
-    , gl_BLEND_EQUATION_RGB
-    , gl_SCALEBIAS_HINT_SGIX
-    , gl_PROGRAM_OBJECT_ARB
-    , gl_SHADOW_ATTENUATION_EXT
-    , gl_COLOR_ATTACHMENT7
-    , gl_CONVOLUTION_FILTER_BIAS
-    , gl_VERTEX_ATTRIB_MAP2_COEFF_APPLE
-    , gl_COMPRESSED_RG_RGTC2
-    , gl_MULTISAMPLE_BUFFER_BIT4_QCOM
-    , gl_MAX_UNIFORM_BLOCK_SIZE
-    , gl_INDEX
-    , gl_MAP2_VERTEX_3
-    , gl_TEXTURE_USAGE_ANGLE
-    , gl_SHORT
-    , gl_BACK_PRIMARY_COLOR_NV
-    , gl_VIEWPORT_BIT
-    , gl_GET_TEXTURE_IMAGE_FORMAT
-    , gl_MAX_PROGRAM_IF_DEPTH_NV
-    , gl_TANGENT_ARRAY_TYPE_EXT
-    , gl_DEBUG_TYPE_PUSH_GROUP
-    , gl_PALETTE8_RGB5_A1_OES
-    , gl_COMBINE4_NV
-    , gl_VERTEX_ARRAY_BUFFER_BINDING
-    , gl_VERTEX_SHADER_BINDING_EXT
-    , gl_COLOR_ARRAY_PARALLEL_POINTERS_INTEL
-    , gl_SAMPLER_BINDING
-    , gl_HISTOGRAM_BLUE_SIZE
-    , gl_CON_20_ATI
-    , gl_LAST_VERTEX_CONVENTION_EXT
-    , gl_MULTISAMPLE_FILTER_HINT_NV
-    , gl_FRAGMENT_PROGRAM_BINDING_NV
-    , gl_MULTIPLY_NV
-    , gl_DOT3_RGB_ARB
-    , gl_BIAS_BY_NEGATIVE_ONE_HALF_NV
-    , gl_TESS_GEN_VERTEX_ORDER
-    , gl_CONTEXT_COMPATIBILITY_PROFILE_BIT
-    , gl_RGBA_SIGNED_COMPONENTS_EXT
-    , gl_UNSIGNED_INT8_NV
-    , gl_LUMINANCE8_EXT
-    , gl_IUI_N3F_V3F_EXT
-    , gl_DEBUG_SOURCE_API_KHR
-    , gl_PN_TRIANGLES_TESSELATION_LEVEL_ATI
-    , gl_COMBINER3_NV
-    , gl_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT
-    , gl_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB
-    , gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
-    , gl_VERTEX_SHADER_VARIANTS_EXT
-    , gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB
-    , gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT
-    , gl_MAX_COLOR_MATRIX_STACK_DEPTH
-    , gl_DRAW_BUFFER14_EXT
-    , gl_INTENSITY32F_ARB
-    , gl_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV
-    , gl_PIXEL_MAP_I_TO_R_SIZE
-    , gl_UNSIGNED_SHORT
-    , gl_PIXEL_SUBSAMPLE_2424_SGIX
-    , gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE
-    , gl_UNSIGNED_INT_ATOMIC_COUNTER
-    , gl_POST_COLOR_MATRIX_GREEN_SCALE_SGI
-    , gl_CLIP_PLANE5
-    , gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET
-    , gl_FRAMEBUFFER_DEFAULT_HEIGHT
-    , gl_LIGHT0
-    , gl_TEXTURE30_ARB
-    , gl_TEXTURE13
-    , gl_COMPRESSED_RGBA_ASTC_10x6_KHR
-    , gl_FRAMEBUFFER_INCOMPLETE_FORMATS_OES
-    , gl_RGBA_FLOAT_MODE_ARB
-    , gl_MAX_RATIONAL_EVAL_ORDER_NV
-    , gl_IMAGE_SCALE_Y_HP
-    , gl_DRAW_BUFFER13_ARB
-    , gl_PROGRAM_BINARY_RETRIEVABLE_HINT
-    , gl_VENDOR
-    , gl_MAX_SHADER_BUFFER_ADDRESS_NV
-    , gl_DEBUG_SOURCE_APPLICATION
-    , gl_UNSIGNED_INT16_VEC4_NV
-    , gl_UNSIGNED_INT_SAMPLER_3D
-    , gl_BINORMAL_ARRAY_EXT
-    , gl_DRAW_BUFFER0_NV
-    , gl_MAP2_COLOR_4
-    , gl_WRITEONLY_RENDERING_QCOM
-    , gl_MAP2_GRID_SEGMENTS
-    , gl_VERTEX_SHADER_BIT
-    , gl_FRAGMENT_SHADER_ATI
-    , gl_CLAMP_TO_BORDER_SGIS
-    , gl_GEOMETRY_SUBROUTINE
-    , gl_SLUMINANCE8_ALPHA8_NV
-    , gl_UNSIGNED_INT_10F_11F_11F_REV_EXT
-    , gl_DELETE_STATUS
-    , gl_IDENTITY_NV
-    , gl_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV
-    , gl_RG_SNORM
-    , gl_SCALED_RESOLVE_FASTEST_EXT
-    , gl_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX
-    , gl_VERTEX_ATTRIB_ARRAY_DIVISOR
-    , gl_OFFSET_TEXTURE_2D_MATRIX_NV
-    , gl_TESS_CONTROL_SHADER
-    , gl_PRIMARY_COLOR
-    , gl_IGNORE_BORDER_HP
-    , gl_NUM_LOOPBACK_COMPONENTS_ATI
-    , gl_BINORMAL_ARRAY_POINTER_EXT
-    , gl_PLUS_NV
-    , gl_MAP1_VERTEX_ATTRIB0_4_NV
-    , gl_DEBUG_CALLBACK_USER_PARAM_KHR
-    , gl_ALL_SHADER_BITS_EXT
-    , gl_MAX_VERTEX_UNIFORM_VECTORS
-    , gl_SECONDARY_COLOR_NV
-    , gl_MAX
-    , gl_FOG_DISTANCE_MODE_NV
-    , gl_RENDERBUFFER_SAMPLES_ANGLE
-    , gl_PROGRAM_NATIVE_INSTRUCTIONS_ARB
-    , gl_MAX_GEOMETRY_OUTPUT_VERTICES
-    , gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER
-    , GLsync
-    , GLsyncob()
-    , GLhalf
-    , GLhalfARB
-    , GLintptrARB
-    , GLsizeiptrARB
-    , GLDEBUGPROC
-    , GLDEBUGPROCARB
-    , GLDEBUGPROCKHR
-    , GLDEBUGPROCAMD
-    , GLbyte
-    , GLubyte
-    , GLfloat
-    , GLclampf
-    , GLfixed
-    , GLint64
-    , GLuint64
-    , GLint64EXT
-    , GLuint64EXT
-    , GLintptr
-    , GLsizeiptr
-    , GLhalfNV
-    , GLvdpauSurfaceNV
-    , GLenum
-    , GLboolean
-    , GLvoid
-    , GLbitfield
-    , GLshort
-    , GLint
-    , GLclampx
-    , GLushort
-    , GLuint
-    , GLsizei
-    , GLdouble
-    , GLclampd
-    , GLeglImageOESob()
-    , GLeglImageOES
-    , GLchar
-    , GLcharARB
-    , GLhandleARB
-    )
-    where
-
-import Data.Typeable
-import Data.IORef
-import Data.Int
-import Data.Word
-import System.IO.Unsafe
-import Control.Applicative
-import Control.Exception
-import Control.Monad
-import Control.Monad.IO.Class
-import Control.Monad.Trans.Except
-import Foreign.C.Types
-import Foreign.C.String
-import Foreign.Ptr
-import Foreign.Storable
-import Foreign.Marshal.Alloc
-
-#ifdef mingw32_HOST_OS
-#define APIENTRY stdcall
-#else
-#define APIENTRY
-import qualified System.Posix.DynamicLinker.ByteString as POSIX
-#endif
-
-data FlextInitResult = Failure { why :: String }
-                     | Success
-                     deriving ( Eq, Ord, Show, Read )
-
-#ifdef __GLASGOW_HASKELL__
-deriving instance Typeable FlextInitResult
-instance Exception FlextInitResult
-#endif
-
-proc :: Either a a -> a
-proc (Left x) = x
-proc (Right x) = x
-
-getGLVersion :: MonadIO m => m (Int, Int)
-getGLVersion =
-    liftIO $ alloca $ \major_ptr -> alloca $ \minor_ptr -> do
-        -- in case glGetIntegerv is completely broken, set initial values for
-        -- major and minor pointers
-        poke major_ptr 0
-        poke minor_ptr 0
-        glGetIntegerv gl_MAJOR_VERSION major_ptr
-        glGetIntegerv gl_MINOR_VERSION minor_ptr
-        major <- fromIntegral <$> peek major_ptr
-        minor <- fromIntegral <$> peek minor_ptr
-        return (major, minor)
-
--- | Initializes OpenGL entry points in the current OpenGL context.
-flextInit :: (String -> IO (Ptr ()))
-          -> IO FlextInitResult
-flextInit get_proc_address = fmap proc $ runExceptT $ do
-    -- GL_VERSION_1_0
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCullFace"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCullFace")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCullFace $ gldynCullFace addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFrontFace"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFrontFace")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFrontFace $ gldynFrontFace addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glHint"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glHint")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefHint $ gldynHint addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glLineWidth"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glLineWidth")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefLineWidth $ gldynLineWidth addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPointSize"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPointSize")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPointSize $ gldynPointSize addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPolygonMode"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPolygonMode")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPolygonMode $ gldynPolygonMode addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glScissor"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glScissor")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefScissor $ gldynScissor addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexParameterf"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexParameterf")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexParameterf $ gldynTexParameterf addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexParameterfv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexParameterfv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexParameterfv $ gldynTexParameterfv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexParameteri"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexParameteri")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexParameteri $ gldynTexParameteri addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexParameteriv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexParameteriv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexParameteriv $ gldynTexParameteriv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexImage1D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexImage1D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexImage1D $ gldynTexImage1D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexImage2D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexImage2D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexImage2D $ gldynTexImage2D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDrawBuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDrawBuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDrawBuffer $ gldynDrawBuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glClear"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glClear")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefClear $ gldynClear addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glClearColor"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glClearColor")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefClearColor $ gldynClearColor addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glClearStencil"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glClearStencil")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefClearStencil $ gldynClearStencil addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glClearDepth"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glClearDepth")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefClearDepth $ gldynClearDepth addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glStencilMask"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glStencilMask")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefStencilMask $ gldynStencilMask addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glColorMask"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glColorMask")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefColorMask $ gldynColorMask addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDepthMask"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDepthMask")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDepthMask $ gldynDepthMask addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDisable"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDisable")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDisable $ gldynDisable addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glEnable"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glEnable")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefEnable $ gldynEnable addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFinish"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFinish")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFinish $ gldynFinish addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFlush"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFlush")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFlush $ gldynFlush addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBlendFunc"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBlendFunc")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBlendFunc $ gldynBlendFunc addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glLogicOp"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glLogicOp")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefLogicOp $ gldynLogicOp addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glStencilFunc"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glStencilFunc")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefStencilFunc $ gldynStencilFunc addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glStencilOp"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glStencilOp")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefStencilOp $ gldynStencilOp addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDepthFunc"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDepthFunc")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDepthFunc $ gldynDepthFunc addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPixelStoref"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPixelStoref")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPixelStoref $ gldynPixelStoref addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPixelStorei"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPixelStorei")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPixelStorei $ gldynPixelStorei addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glReadBuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glReadBuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefReadBuffer $ gldynReadBuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glReadPixels"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glReadPixels")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefReadPixels $ gldynReadPixels addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetBooleanv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetBooleanv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetBooleanv $ gldynGetBooleanv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetDoublev"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetDoublev")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetDoublev $ gldynGetDoublev addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetError"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetError")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetError $ gldynGetError addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetFloatv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetFloatv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetFloatv $ gldynGetFloatv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetIntegerv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetIntegerv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetIntegerv $ gldynGetIntegerv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetString"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetString")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetString $ gldynGetString addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTexImage"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTexImage")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTexImage $ gldynGetTexImage addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTexParameterfv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTexParameterfv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTexParameterfv $ gldynGetTexParameterfv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTexParameteriv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTexParameteriv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTexParameteriv $ gldynGetTexParameteriv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTexLevelParameterfv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTexLevelParameterfv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTexLevelParameterfv $ gldynGetTexLevelParameterfv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTexLevelParameteriv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTexLevelParameteriv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTexLevelParameteriv $ gldynGetTexLevelParameteriv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsEnabled"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsEnabled")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsEnabled $ gldynIsEnabled addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDepthRange"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDepthRange")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDepthRange $ gldynDepthRange addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glViewport"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glViewport")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefViewport $ gldynViewport addr
-
-    -- GL_VERSION_1_1
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDrawArrays"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDrawArrays")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDrawArrays $ gldynDrawArrays addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDrawElements"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDrawElements")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDrawElements $ gldynDrawElements addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPolygonOffset"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPolygonOffset")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPolygonOffset $ gldynPolygonOffset addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyTexImage1D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyTexImage1D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyTexImage1D $ gldynCopyTexImage1D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyTexImage2D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyTexImage2D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyTexImage2D $ gldynCopyTexImage2D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyTexSubImage1D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyTexSubImage1D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyTexSubImage1D $ gldynCopyTexSubImage1D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyTexSubImage2D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyTexSubImage2D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyTexSubImage2D $ gldynCopyTexSubImage2D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexSubImage1D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexSubImage1D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexSubImage1D $ gldynTexSubImage1D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexSubImage2D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexSubImage2D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexSubImage2D $ gldynTexSubImage2D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBindTexture"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBindTexture")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBindTexture $ gldynBindTexture addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDeleteTextures"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDeleteTextures")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDeleteTextures $ gldynDeleteTextures addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGenTextures"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGenTextures")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGenTextures $ gldynGenTextures addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsTexture"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsTexture")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsTexture $ gldynIsTexture addr
-
-    -- GL_VERSION_1_2
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDrawRangeElements"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDrawRangeElements")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDrawRangeElements $ gldynDrawRangeElements addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexImage3D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexImage3D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexImage3D $ gldynTexImage3D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexSubImage3D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexSubImage3D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexSubImage3D $ gldynTexSubImage3D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyTexSubImage3D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyTexSubImage3D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyTexSubImage3D $ gldynCopyTexSubImage3D addr
-
-    -- GL_VERSION_1_3
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glActiveTexture"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glActiveTexture")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefActiveTexture $ gldynActiveTexture addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glSampleCoverage"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glSampleCoverage")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefSampleCoverage $ gldynSampleCoverage addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedTexImage3D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedTexImage3D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedTexImage3D $ gldynCompressedTexImage3D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedTexImage2D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedTexImage2D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedTexImage2D $ gldynCompressedTexImage2D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedTexImage1D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedTexImage1D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedTexImage1D $ gldynCompressedTexImage1D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedTexSubImage3D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedTexSubImage3D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedTexSubImage3D $ gldynCompressedTexSubImage3D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedTexSubImage2D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedTexSubImage2D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedTexSubImage2D $ gldynCompressedTexSubImage2D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedTexSubImage1D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedTexSubImage1D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedTexSubImage1D $ gldynCompressedTexSubImage1D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetCompressedTexImage"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetCompressedTexImage")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetCompressedTexImage $ gldynGetCompressedTexImage addr
-
-    -- GL_VERSION_1_4
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBlendFuncSeparate"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBlendFuncSeparate")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBlendFuncSeparate $ gldynBlendFuncSeparate addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiDrawArrays"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiDrawArrays")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiDrawArrays $ gldynMultiDrawArrays addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiDrawElements"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiDrawElements")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiDrawElements $ gldynMultiDrawElements addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPointParameterf"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPointParameterf")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPointParameterf $ gldynPointParameterf addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPointParameterfv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPointParameterfv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPointParameterfv $ gldynPointParameterfv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPointParameteri"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPointParameteri")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPointParameteri $ gldynPointParameteri addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPointParameteriv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPointParameteriv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPointParameteriv $ gldynPointParameteriv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBlendColor"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBlendColor")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBlendColor $ gldynBlendColor addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBlendEquation"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBlendEquation")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBlendEquation $ gldynBlendEquation addr
-
-    -- GL_VERSION_1_5
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGenQueries"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGenQueries")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGenQueries $ gldynGenQueries addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDeleteQueries"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDeleteQueries")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDeleteQueries $ gldynDeleteQueries addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsQuery"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsQuery")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsQuery $ gldynIsQuery addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBeginQuery"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBeginQuery")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBeginQuery $ gldynBeginQuery addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glEndQuery"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glEndQuery")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefEndQuery $ gldynEndQuery addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetQueryiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetQueryiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetQueryiv $ gldynGetQueryiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetQueryObjectiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetQueryObjectiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetQueryObjectiv $ gldynGetQueryObjectiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetQueryObjectuiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetQueryObjectuiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetQueryObjectuiv $ gldynGetQueryObjectuiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBindBuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBindBuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBindBuffer $ gldynBindBuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDeleteBuffers"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDeleteBuffers")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDeleteBuffers $ gldynDeleteBuffers addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGenBuffers"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGenBuffers")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGenBuffers $ gldynGenBuffers addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsBuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsBuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsBuffer $ gldynIsBuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBufferData"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBufferData")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBufferData $ gldynBufferData addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBufferSubData"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBufferSubData")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBufferSubData $ gldynBufferSubData addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetBufferSubData"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetBufferSubData")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetBufferSubData $ gldynGetBufferSubData addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMapBuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMapBuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMapBuffer $ gldynMapBuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUnmapBuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUnmapBuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUnmapBuffer $ gldynUnmapBuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetBufferParameteriv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetBufferParameteriv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetBufferParameteriv $ gldynGetBufferParameteriv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetBufferPointerv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetBufferPointerv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetBufferPointerv $ gldynGetBufferPointerv addr
-
-    -- GL_VERSION_2_0
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBlendEquationSeparate"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBlendEquationSeparate")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBlendEquationSeparate $ gldynBlendEquationSeparate addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDrawBuffers"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDrawBuffers")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDrawBuffers $ gldynDrawBuffers addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glStencilOpSeparate"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glStencilOpSeparate")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefStencilOpSeparate $ gldynStencilOpSeparate addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glStencilFuncSeparate"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glStencilFuncSeparate")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefStencilFuncSeparate $ gldynStencilFuncSeparate addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glStencilMaskSeparate"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glStencilMaskSeparate")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefStencilMaskSeparate $ gldynStencilMaskSeparate addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glAttachShader"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glAttachShader")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefAttachShader $ gldynAttachShader addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBindAttribLocation"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBindAttribLocation")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBindAttribLocation $ gldynBindAttribLocation addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompileShader"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompileShader")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompileShader $ gldynCompileShader addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCreateProgram"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCreateProgram")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCreateProgram $ gldynCreateProgram addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCreateShader"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCreateShader")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCreateShader $ gldynCreateShader addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDeleteProgram"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDeleteProgram")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDeleteProgram $ gldynDeleteProgram addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDeleteShader"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDeleteShader")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDeleteShader $ gldynDeleteShader addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDetachShader"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDetachShader")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDetachShader $ gldynDetachShader addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDisableVertexAttribArray"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDisableVertexAttribArray")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDisableVertexAttribArray $ gldynDisableVertexAttribArray addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glEnableVertexAttribArray"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glEnableVertexAttribArray")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefEnableVertexAttribArray $ gldynEnableVertexAttribArray addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetActiveAttrib"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetActiveAttrib")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetActiveAttrib $ gldynGetActiveAttrib addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetActiveUniform"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetActiveUniform")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetActiveUniform $ gldynGetActiveUniform addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetAttachedShaders"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetAttachedShaders")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetAttachedShaders $ gldynGetAttachedShaders addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetAttribLocation"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetAttribLocation")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetAttribLocation $ gldynGetAttribLocation addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetProgramiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetProgramiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetProgramiv $ gldynGetProgramiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetProgramInfoLog"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetProgramInfoLog")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetProgramInfoLog $ gldynGetProgramInfoLog addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetShaderiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetShaderiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetShaderiv $ gldynGetShaderiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetShaderInfoLog"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetShaderInfoLog")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetShaderInfoLog $ gldynGetShaderInfoLog addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetShaderSource"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetShaderSource")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetShaderSource $ gldynGetShaderSource addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetUniformLocation"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetUniformLocation")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetUniformLocation $ gldynGetUniformLocation addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetUniformfv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetUniformfv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetUniformfv $ gldynGetUniformfv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetUniformiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetUniformiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetUniformiv $ gldynGetUniformiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetVertexAttribdv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetVertexAttribdv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetVertexAttribdv $ gldynGetVertexAttribdv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetVertexAttribfv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetVertexAttribfv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetVertexAttribfv $ gldynGetVertexAttribfv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetVertexAttribiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetVertexAttribiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetVertexAttribiv $ gldynGetVertexAttribiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetVertexAttribPointerv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetVertexAttribPointerv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetVertexAttribPointerv $ gldynGetVertexAttribPointerv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsProgram"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsProgram")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsProgram $ gldynIsProgram addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsShader"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsShader")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsShader $ gldynIsShader addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glLinkProgram"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glLinkProgram")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefLinkProgram $ gldynLinkProgram addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glShaderSource"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glShaderSource")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefShaderSource $ gldynShaderSource addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUseProgram"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUseProgram")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUseProgram $ gldynUseProgram addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform1f"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform1f")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform1f $ gldynUniform1f addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform2f"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform2f")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform2f $ gldynUniform2f addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform3f"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform3f")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform3f $ gldynUniform3f addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform4f"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform4f")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform4f $ gldynUniform4f addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform1i"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform1i")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform1i $ gldynUniform1i addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform2i"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform2i")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform2i $ gldynUniform2i addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform3i"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform3i")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform3i $ gldynUniform3i addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform4i"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform4i")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform4i $ gldynUniform4i addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform1fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform1fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform1fv $ gldynUniform1fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform2fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform2fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform2fv $ gldynUniform2fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform3fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform3fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform3fv $ gldynUniform3fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform4fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform4fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform4fv $ gldynUniform4fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform1iv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform1iv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform1iv $ gldynUniform1iv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform2iv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform2iv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform2iv $ gldynUniform2iv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform3iv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform3iv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform3iv $ gldynUniform3iv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform4iv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform4iv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform4iv $ gldynUniform4iv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniformMatrix2fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniformMatrix2fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniformMatrix2fv $ gldynUniformMatrix2fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniformMatrix3fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniformMatrix3fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniformMatrix3fv $ gldynUniformMatrix3fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniformMatrix4fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniformMatrix4fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniformMatrix4fv $ gldynUniformMatrix4fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glValidateProgram"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glValidateProgram")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefValidateProgram $ gldynValidateProgram addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib1d"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib1d")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib1d $ gldynVertexAttrib1d addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib1dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib1dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib1dv $ gldynVertexAttrib1dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib1f"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib1f")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib1f $ gldynVertexAttrib1f addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib1fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib1fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib1fv $ gldynVertexAttrib1fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib1s"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib1s")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib1s $ gldynVertexAttrib1s addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib1sv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib1sv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib1sv $ gldynVertexAttrib1sv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib2d"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib2d")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib2d $ gldynVertexAttrib2d addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib2dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib2dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib2dv $ gldynVertexAttrib2dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib2f"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib2f")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib2f $ gldynVertexAttrib2f addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib2fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib2fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib2fv $ gldynVertexAttrib2fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib2s"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib2s")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib2s $ gldynVertexAttrib2s addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib2sv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib2sv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib2sv $ gldynVertexAttrib2sv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib3d"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib3d")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib3d $ gldynVertexAttrib3d addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib3dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib3dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib3dv $ gldynVertexAttrib3dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib3f"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib3f")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib3f $ gldynVertexAttrib3f addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib3fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib3fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib3fv $ gldynVertexAttrib3fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib3s"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib3s")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib3s $ gldynVertexAttrib3s addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib3sv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib3sv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib3sv $ gldynVertexAttrib3sv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4Nbv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4Nbv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4Nbv $ gldynVertexAttrib4Nbv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4Niv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4Niv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4Niv $ gldynVertexAttrib4Niv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4Nsv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4Nsv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4Nsv $ gldynVertexAttrib4Nsv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4Nub"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4Nub")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4Nub $ gldynVertexAttrib4Nub addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4Nubv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4Nubv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4Nubv $ gldynVertexAttrib4Nubv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4Nuiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4Nuiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4Nuiv $ gldynVertexAttrib4Nuiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4Nusv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4Nusv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4Nusv $ gldynVertexAttrib4Nusv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4bv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4bv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4bv $ gldynVertexAttrib4bv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4d"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4d")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4d $ gldynVertexAttrib4d addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4dv $ gldynVertexAttrib4dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4f"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4f")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4f $ gldynVertexAttrib4f addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4fv $ gldynVertexAttrib4fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4iv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4iv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4iv $ gldynVertexAttrib4iv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4s"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4s")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4s $ gldynVertexAttrib4s addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4sv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4sv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4sv $ gldynVertexAttrib4sv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4ubv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4ubv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4ubv $ gldynVertexAttrib4ubv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4uiv $ gldynVertexAttrib4uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttrib4usv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttrib4usv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttrib4usv $ gldynVertexAttrib4usv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribPointer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribPointer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribPointer $ gldynVertexAttribPointer addr
-
-    -- GL_VERSION_2_1
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniformMatrix2x3fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniformMatrix2x3fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniformMatrix2x3fv $ gldynUniformMatrix2x3fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniformMatrix3x2fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniformMatrix3x2fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniformMatrix3x2fv $ gldynUniformMatrix3x2fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniformMatrix2x4fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniformMatrix2x4fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniformMatrix2x4fv $ gldynUniformMatrix2x4fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniformMatrix4x2fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniformMatrix4x2fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniformMatrix4x2fv $ gldynUniformMatrix4x2fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniformMatrix3x4fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniformMatrix3x4fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniformMatrix3x4fv $ gldynUniformMatrix3x4fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniformMatrix4x3fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniformMatrix4x3fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniformMatrix4x3fv $ gldynUniformMatrix4x3fv addr
-
-    -- GL_VERSION_3_0
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glColorMaski"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glColorMaski")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefColorMaski $ gldynColorMaski addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetBooleani_v"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetBooleani_v")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetBooleani_v $ gldynGetBooleani_v addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetIntegeri_v"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetIntegeri_v")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetIntegeri_v $ gldynGetIntegeri_v addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glEnablei"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glEnablei")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefEnablei $ gldynEnablei addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDisablei"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDisablei")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDisablei $ gldynDisablei addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsEnabledi"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsEnabledi")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsEnabledi $ gldynIsEnabledi addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBeginTransformFeedback"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBeginTransformFeedback")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBeginTransformFeedback $ gldynBeginTransformFeedback addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glEndTransformFeedback"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glEndTransformFeedback")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefEndTransformFeedback $ gldynEndTransformFeedback addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBindBufferRange"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBindBufferRange")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBindBufferRange $ gldynBindBufferRange addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBindBufferBase"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBindBufferBase")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBindBufferBase $ gldynBindBufferBase addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTransformFeedbackVaryings"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTransformFeedbackVaryings")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTransformFeedbackVaryings $ gldynTransformFeedbackVaryings addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTransformFeedbackVarying"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTransformFeedbackVarying")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTransformFeedbackVarying $ gldynGetTransformFeedbackVarying addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glClampColor"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glClampColor")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefClampColor $ gldynClampColor addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBeginConditionalRender"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBeginConditionalRender")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBeginConditionalRender $ gldynBeginConditionalRender addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glEndConditionalRender"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glEndConditionalRender")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefEndConditionalRender $ gldynEndConditionalRender addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribIPointer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribIPointer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribIPointer $ gldynVertexAttribIPointer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetVertexAttribIiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetVertexAttribIiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetVertexAttribIiv $ gldynGetVertexAttribIiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetVertexAttribIuiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetVertexAttribIuiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetVertexAttribIuiv $ gldynGetVertexAttribIuiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI1i"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI1i")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI1i $ gldynVertexAttribI1i addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI2i"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI2i")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI2i $ gldynVertexAttribI2i addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI3i"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI3i")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI3i $ gldynVertexAttribI3i addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI4i"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI4i")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI4i $ gldynVertexAttribI4i addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI1ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI1ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI1ui $ gldynVertexAttribI1ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI2ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI2ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI2ui $ gldynVertexAttribI2ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI3ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI3ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI3ui $ gldynVertexAttribI3ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI4ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI4ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI4ui $ gldynVertexAttribI4ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI1iv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI1iv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI1iv $ gldynVertexAttribI1iv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI2iv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI2iv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI2iv $ gldynVertexAttribI2iv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI3iv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI3iv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI3iv $ gldynVertexAttribI3iv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI4iv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI4iv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI4iv $ gldynVertexAttribI4iv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI1uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI1uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI1uiv $ gldynVertexAttribI1uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI2uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI2uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI2uiv $ gldynVertexAttribI2uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI3uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI3uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI3uiv $ gldynVertexAttribI3uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI4uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI4uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI4uiv $ gldynVertexAttribI4uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI4bv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI4bv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI4bv $ gldynVertexAttribI4bv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI4sv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI4sv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI4sv $ gldynVertexAttribI4sv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI4ubv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI4ubv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI4ubv $ gldynVertexAttribI4ubv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribI4usv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribI4usv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribI4usv $ gldynVertexAttribI4usv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetUniformuiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetUniformuiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetUniformuiv $ gldynGetUniformuiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBindFragDataLocation"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBindFragDataLocation")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBindFragDataLocation $ gldynBindFragDataLocation addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetFragDataLocation"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetFragDataLocation")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetFragDataLocation $ gldynGetFragDataLocation addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform1ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform1ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform1ui $ gldynUniform1ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform2ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform2ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform2ui $ gldynUniform2ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform3ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform3ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform3ui $ gldynUniform3ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform4ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform4ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform4ui $ gldynUniform4ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform1uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform1uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform1uiv $ gldynUniform1uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform2uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform2uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform2uiv $ gldynUniform2uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform3uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform3uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform3uiv $ gldynUniform3uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniform4uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniform4uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniform4uiv $ gldynUniform4uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexParameterIiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexParameterIiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexParameterIiv $ gldynTexParameterIiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexParameterIuiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexParameterIuiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexParameterIuiv $ gldynTexParameterIuiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTexParameterIiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTexParameterIiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTexParameterIiv $ gldynGetTexParameterIiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTexParameterIuiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTexParameterIuiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTexParameterIuiv $ gldynGetTexParameterIuiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glClearBufferiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glClearBufferiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefClearBufferiv $ gldynClearBufferiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glClearBufferuiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glClearBufferuiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefClearBufferuiv $ gldynClearBufferuiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glClearBufferfv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glClearBufferfv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefClearBufferfv $ gldynClearBufferfv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glClearBufferfi"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glClearBufferfi")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefClearBufferfi $ gldynClearBufferfi addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetStringi"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetStringi")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetStringi $ gldynGetStringi addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsRenderbuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsRenderbuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsRenderbuffer $ gldynIsRenderbuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBindRenderbuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBindRenderbuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBindRenderbuffer $ gldynBindRenderbuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDeleteRenderbuffers"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDeleteRenderbuffers")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDeleteRenderbuffers $ gldynDeleteRenderbuffers addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGenRenderbuffers"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGenRenderbuffers")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGenRenderbuffers $ gldynGenRenderbuffers addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glRenderbufferStorage"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glRenderbufferStorage")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefRenderbufferStorage $ gldynRenderbufferStorage addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetRenderbufferParameteriv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetRenderbufferParameteriv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetRenderbufferParameteriv $ gldynGetRenderbufferParameteriv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsFramebuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsFramebuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsFramebuffer $ gldynIsFramebuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBindFramebuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBindFramebuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBindFramebuffer $ gldynBindFramebuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDeleteFramebuffers"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDeleteFramebuffers")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDeleteFramebuffers $ gldynDeleteFramebuffers addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGenFramebuffers"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGenFramebuffers")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGenFramebuffers $ gldynGenFramebuffers addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCheckFramebufferStatus"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCheckFramebufferStatus")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCheckFramebufferStatus $ gldynCheckFramebufferStatus addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFramebufferTexture1D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFramebufferTexture1D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFramebufferTexture1D $ gldynFramebufferTexture1D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFramebufferTexture2D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFramebufferTexture2D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFramebufferTexture2D $ gldynFramebufferTexture2D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFramebufferTexture3D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFramebufferTexture3D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFramebufferTexture3D $ gldynFramebufferTexture3D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFramebufferRenderbuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFramebufferRenderbuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFramebufferRenderbuffer $ gldynFramebufferRenderbuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetFramebufferAttachmentParameteriv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetFramebufferAttachmentParameteriv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetFramebufferAttachmentParameteriv $ gldynGetFramebufferAttachmentParameteriv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGenerateMipmap"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGenerateMipmap")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGenerateMipmap $ gldynGenerateMipmap addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBlitFramebuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBlitFramebuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBlitFramebuffer $ gldynBlitFramebuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glRenderbufferStorageMultisample"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glRenderbufferStorageMultisample")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefRenderbufferStorageMultisample $ gldynRenderbufferStorageMultisample addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFramebufferTextureLayer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFramebufferTextureLayer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFramebufferTextureLayer $ gldynFramebufferTextureLayer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMapBufferRange"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMapBufferRange")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMapBufferRange $ gldynMapBufferRange addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFlushMappedBufferRange"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFlushMappedBufferRange")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFlushMappedBufferRange $ gldynFlushMappedBufferRange addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBindVertexArray"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBindVertexArray")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBindVertexArray $ gldynBindVertexArray addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDeleteVertexArrays"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDeleteVertexArrays")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDeleteVertexArrays $ gldynDeleteVertexArrays addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGenVertexArrays"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGenVertexArrays")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGenVertexArrays $ gldynGenVertexArrays addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsVertexArray"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsVertexArray")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsVertexArray $ gldynIsVertexArray addr
-
-    -- GL_VERSION_3_1
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDrawArraysInstanced"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDrawArraysInstanced")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDrawArraysInstanced $ gldynDrawArraysInstanced addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDrawElementsInstanced"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDrawElementsInstanced")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDrawElementsInstanced $ gldynDrawElementsInstanced addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexBuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexBuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexBuffer $ gldynTexBuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPrimitiveRestartIndex"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPrimitiveRestartIndex")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPrimitiveRestartIndex $ gldynPrimitiveRestartIndex addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyBufferSubData"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyBufferSubData")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyBufferSubData $ gldynCopyBufferSubData addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetUniformIndices"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetUniformIndices")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetUniformIndices $ gldynGetUniformIndices addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetActiveUniformsiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetActiveUniformsiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetActiveUniformsiv $ gldynGetActiveUniformsiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetActiveUniformName"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetActiveUniformName")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetActiveUniformName $ gldynGetActiveUniformName addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetUniformBlockIndex"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetUniformBlockIndex")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetUniformBlockIndex $ gldynGetUniformBlockIndex addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetActiveUniformBlockiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetActiveUniformBlockiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetActiveUniformBlockiv $ gldynGetActiveUniformBlockiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetActiveUniformBlockName"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetActiveUniformBlockName")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetActiveUniformBlockName $ gldynGetActiveUniformBlockName addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUniformBlockBinding"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUniformBlockBinding")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUniformBlockBinding $ gldynUniformBlockBinding addr
-
-    -- GL_VERSION_3_2
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDrawElementsBaseVertex"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDrawElementsBaseVertex")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDrawElementsBaseVertex $ gldynDrawElementsBaseVertex addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDrawRangeElementsBaseVertex"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDrawRangeElementsBaseVertex")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDrawRangeElementsBaseVertex $ gldynDrawRangeElementsBaseVertex addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDrawElementsInstancedBaseVertex"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDrawElementsInstancedBaseVertex")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDrawElementsInstancedBaseVertex $ gldynDrawElementsInstancedBaseVertex addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiDrawElementsBaseVertex"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiDrawElementsBaseVertex")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiDrawElementsBaseVertex $ gldynMultiDrawElementsBaseVertex addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProvokingVertex"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProvokingVertex")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProvokingVertex $ gldynProvokingVertex addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFenceSync"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFenceSync")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFenceSync $ gldynFenceSync addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsSync"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsSync")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsSync $ gldynIsSync addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDeleteSync"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDeleteSync")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDeleteSync $ gldynDeleteSync addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glClientWaitSync"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glClientWaitSync")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefClientWaitSync $ gldynClientWaitSync addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glWaitSync"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glWaitSync")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefWaitSync $ gldynWaitSync addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetInteger64v"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetInteger64v")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetInteger64v $ gldynGetInteger64v addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetSynciv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetSynciv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetSynciv $ gldynGetSynciv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetInteger64i_v"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetInteger64i_v")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetInteger64i_v $ gldynGetInteger64i_v addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetBufferParameteri64v"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetBufferParameteri64v")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetBufferParameteri64v $ gldynGetBufferParameteri64v addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFramebufferTexture"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFramebufferTexture")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFramebufferTexture $ gldynFramebufferTexture addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexImage2DMultisample"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexImage2DMultisample")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexImage2DMultisample $ gldynTexImage2DMultisample addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexImage3DMultisample"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexImage3DMultisample")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexImage3DMultisample $ gldynTexImage3DMultisample addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetMultisamplefv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetMultisamplefv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetMultisamplefv $ gldynGetMultisamplefv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glSampleMaski"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glSampleMaski")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefSampleMaski $ gldynSampleMaski addr
-
-    -- GL_VERSION_3_3
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBindFragDataLocationIndexed"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBindFragDataLocationIndexed")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBindFragDataLocationIndexed $ gldynBindFragDataLocationIndexed addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetFragDataIndex"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetFragDataIndex")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetFragDataIndex $ gldynGetFragDataIndex addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGenSamplers"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGenSamplers")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGenSamplers $ gldynGenSamplers addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDeleteSamplers"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDeleteSamplers")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDeleteSamplers $ gldynDeleteSamplers addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsSampler"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsSampler")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsSampler $ gldynIsSampler addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBindSampler"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBindSampler")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBindSampler $ gldynBindSampler addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glSamplerParameteri"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glSamplerParameteri")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefSamplerParameteri $ gldynSamplerParameteri addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glSamplerParameteriv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glSamplerParameteriv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefSamplerParameteriv $ gldynSamplerParameteriv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glSamplerParameterf"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glSamplerParameterf")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefSamplerParameterf $ gldynSamplerParameterf addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glSamplerParameterfv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glSamplerParameterfv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefSamplerParameterfv $ gldynSamplerParameterfv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glSamplerParameterIiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glSamplerParameterIiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefSamplerParameterIiv $ gldynSamplerParameterIiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glSamplerParameterIuiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glSamplerParameterIuiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefSamplerParameterIuiv $ gldynSamplerParameterIuiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetSamplerParameteriv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetSamplerParameteriv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetSamplerParameteriv $ gldynGetSamplerParameteriv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetSamplerParameterIiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetSamplerParameterIiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetSamplerParameterIiv $ gldynGetSamplerParameterIiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetSamplerParameterfv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetSamplerParameterfv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetSamplerParameterfv $ gldynGetSamplerParameterfv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetSamplerParameterIuiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetSamplerParameterIuiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetSamplerParameterIuiv $ gldynGetSamplerParameterIuiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glQueryCounter"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glQueryCounter")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefQueryCounter $ gldynQueryCounter addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetQueryObjecti64v"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetQueryObjecti64v")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetQueryObjecti64v $ gldynGetQueryObjecti64v addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetQueryObjectui64v"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetQueryObjectui64v")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetQueryObjectui64v $ gldynGetQueryObjectui64v addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribDivisor"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribDivisor")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribDivisor $ gldynVertexAttribDivisor addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribP1ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribP1ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribP1ui $ gldynVertexAttribP1ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribP1uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribP1uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribP1uiv $ gldynVertexAttribP1uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribP2ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribP2ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribP2ui $ gldynVertexAttribP2ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribP2uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribP2uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribP2uiv $ gldynVertexAttribP2uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribP3ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribP3ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribP3ui $ gldynVertexAttribP3ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribP3uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribP3uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribP3uiv $ gldynVertexAttribP3uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribP4ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribP4ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribP4ui $ gldynVertexAttribP4ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexAttribP4uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexAttribP4uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexAttribP4uiv $ gldynVertexAttribP4uiv addr
-
-    -- GL_ARB_texture_storage
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexStorage1D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexStorage1D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexStorage1D $ gldynTexStorage1D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexStorage2D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexStorage2D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexStorage2D $ gldynTexStorage2D addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexStorage3D"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexStorage3D")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexStorage3D $ gldynTexStorage3D addr
-
-    -- GL_KHR_debug
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDebugMessageControl"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDebugMessageControl")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDebugMessageControl $ gldynDebugMessageControl addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDebugMessageInsert"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDebugMessageInsert")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDebugMessageInsert $ gldynDebugMessageInsert addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDebugMessageCallback"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDebugMessageCallback")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDebugMessageCallback $ gldynDebugMessageCallback addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetDebugMessageLog"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetDebugMessageLog")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetDebugMessageLog $ gldynGetDebugMessageLog addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPushDebugGroup"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPushDebugGroup")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPushDebugGroup $ gldynPushDebugGroup addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPopDebugGroup"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPopDebugGroup")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPopDebugGroup $ gldynPopDebugGroup addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glObjectLabel"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glObjectLabel")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefObjectLabel $ gldynObjectLabel addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetObjectLabel"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetObjectLabel")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetObjectLabel $ gldynGetObjectLabel addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glObjectPtrLabel"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glObjectPtrLabel")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefObjectPtrLabel $ gldynObjectPtrLabel addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetObjectPtrLabel"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetObjectPtrLabel")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetObjectPtrLabel $ gldynGetObjectPtrLabel addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetPointerv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetPointerv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetPointerv $ gldynGetPointerv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDebugMessageControlKHR"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDebugMessageControlKHR")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDebugMessageControlKHR $ gldynDebugMessageControlKHR addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDebugMessageInsertKHR"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDebugMessageInsertKHR")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDebugMessageInsertKHR $ gldynDebugMessageInsertKHR addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDebugMessageCallbackKHR"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDebugMessageCallbackKHR")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDebugMessageCallbackKHR $ gldynDebugMessageCallbackKHR addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetDebugMessageLogKHR"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetDebugMessageLogKHR")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetDebugMessageLogKHR $ gldynGetDebugMessageLogKHR addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPushDebugGroupKHR"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPushDebugGroupKHR")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPushDebugGroupKHR $ gldynPushDebugGroupKHR addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPopDebugGroupKHR"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPopDebugGroupKHR")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPopDebugGroupKHR $ gldynPopDebugGroupKHR addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glObjectLabelKHR"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glObjectLabelKHR")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefObjectLabelKHR $ gldynObjectLabelKHR addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetObjectLabelKHR"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetObjectLabelKHR")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetObjectLabelKHR $ gldynGetObjectLabelKHR addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glObjectPtrLabelKHR"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glObjectPtrLabelKHR")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefObjectPtrLabelKHR $ gldynObjectPtrLabelKHR addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetObjectPtrLabelKHR"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetObjectPtrLabelKHR")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetObjectPtrLabelKHR $ gldynGetObjectPtrLabelKHR addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetPointervKHR"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetPointervKHR")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetPointervKHR $ gldynGetPointervKHR addr
-
-    -- GL_EXT_direct_state_access
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixLoadfEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixLoadfEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixLoadfEXT $ gldynMatrixLoadfEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixLoaddEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixLoaddEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixLoaddEXT $ gldynMatrixLoaddEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixMultfEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixMultfEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixMultfEXT $ gldynMatrixMultfEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixMultdEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixMultdEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixMultdEXT $ gldynMatrixMultdEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixLoadIdentityEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixLoadIdentityEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixLoadIdentityEXT $ gldynMatrixLoadIdentityEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixRotatefEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixRotatefEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixRotatefEXT $ gldynMatrixRotatefEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixRotatedEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixRotatedEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixRotatedEXT $ gldynMatrixRotatedEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixScalefEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixScalefEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixScalefEXT $ gldynMatrixScalefEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixScaledEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixScaledEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixScaledEXT $ gldynMatrixScaledEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixTranslatefEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixTranslatefEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixTranslatefEXT $ gldynMatrixTranslatefEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixTranslatedEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixTranslatedEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixTranslatedEXT $ gldynMatrixTranslatedEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixFrustumEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixFrustumEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixFrustumEXT $ gldynMatrixFrustumEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixOrthoEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixOrthoEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixOrthoEXT $ gldynMatrixOrthoEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixPopEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixPopEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixPopEXT $ gldynMatrixPopEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixPushEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixPushEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixPushEXT $ gldynMatrixPushEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glClientAttribDefaultEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glClientAttribDefaultEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefClientAttribDefaultEXT $ gldynClientAttribDefaultEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glPushClientAttribDefaultEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glPushClientAttribDefaultEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefPushClientAttribDefaultEXT $ gldynPushClientAttribDefaultEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureParameterfEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureParameterfEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureParameterfEXT $ gldynTextureParameterfEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureParameterfvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureParameterfvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureParameterfvEXT $ gldynTextureParameterfvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureParameteriEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureParameteriEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureParameteriEXT $ gldynTextureParameteriEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureParameterivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureParameterivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureParameterivEXT $ gldynTextureParameterivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureImage1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureImage1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureImage1DEXT $ gldynTextureImage1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureImage2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureImage2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureImage2DEXT $ gldynTextureImage2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureSubImage1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureSubImage1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureSubImage1DEXT $ gldynTextureSubImage1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureSubImage2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureSubImage2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureSubImage2DEXT $ gldynTextureSubImage2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyTextureImage1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyTextureImage1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyTextureImage1DEXT $ gldynCopyTextureImage1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyTextureImage2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyTextureImage2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyTextureImage2DEXT $ gldynCopyTextureImage2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyTextureSubImage1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyTextureSubImage1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyTextureSubImage1DEXT $ gldynCopyTextureSubImage1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyTextureSubImage2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyTextureSubImage2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyTextureSubImage2DEXT $ gldynCopyTextureSubImage2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTextureImageEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTextureImageEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTextureImageEXT $ gldynGetTextureImageEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTextureParameterfvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTextureParameterfvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTextureParameterfvEXT $ gldynGetTextureParameterfvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTextureParameterivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTextureParameterivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTextureParameterivEXT $ gldynGetTextureParameterivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTextureLevelParameterfvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTextureLevelParameterfvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTextureLevelParameterfvEXT $ gldynGetTextureLevelParameterfvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTextureLevelParameterivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTextureLevelParameterivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTextureLevelParameterivEXT $ gldynGetTextureLevelParameterivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureImage3DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureImage3DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureImage3DEXT $ gldynTextureImage3DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureSubImage3DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureSubImage3DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureSubImage3DEXT $ gldynTextureSubImage3DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyTextureSubImage3DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyTextureSubImage3DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyTextureSubImage3DEXT $ gldynCopyTextureSubImage3DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBindMultiTextureEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBindMultiTextureEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBindMultiTextureEXT $ gldynBindMultiTextureEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexCoordPointerEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexCoordPointerEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexCoordPointerEXT $ gldynMultiTexCoordPointerEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexEnvfEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexEnvfEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexEnvfEXT $ gldynMultiTexEnvfEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexEnvfvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexEnvfvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexEnvfvEXT $ gldynMultiTexEnvfvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexEnviEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexEnviEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexEnviEXT $ gldynMultiTexEnviEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexEnvivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexEnvivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexEnvivEXT $ gldynMultiTexEnvivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexGendEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexGendEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexGendEXT $ gldynMultiTexGendEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexGendvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexGendvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexGendvEXT $ gldynMultiTexGendvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexGenfEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexGenfEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexGenfEXT $ gldynMultiTexGenfEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexGenfvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexGenfvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexGenfvEXT $ gldynMultiTexGenfvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexGeniEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexGeniEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexGeniEXT $ gldynMultiTexGeniEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexGenivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexGenivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexGenivEXT $ gldynMultiTexGenivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetMultiTexEnvfvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetMultiTexEnvfvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetMultiTexEnvfvEXT $ gldynGetMultiTexEnvfvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetMultiTexEnvivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetMultiTexEnvivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetMultiTexEnvivEXT $ gldynGetMultiTexEnvivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetMultiTexGendvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetMultiTexGendvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetMultiTexGendvEXT $ gldynGetMultiTexGendvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetMultiTexGenfvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetMultiTexGenfvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetMultiTexGenfvEXT $ gldynGetMultiTexGenfvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetMultiTexGenivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetMultiTexGenivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetMultiTexGenivEXT $ gldynGetMultiTexGenivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexParameteriEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexParameteriEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexParameteriEXT $ gldynMultiTexParameteriEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexParameterivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexParameterivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexParameterivEXT $ gldynMultiTexParameterivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexParameterfEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexParameterfEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexParameterfEXT $ gldynMultiTexParameterfEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexParameterfvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexParameterfvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexParameterfvEXT $ gldynMultiTexParameterfvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexImage1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexImage1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexImage1DEXT $ gldynMultiTexImage1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexImage2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexImage2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexImage2DEXT $ gldynMultiTexImage2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexSubImage1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexSubImage1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexSubImage1DEXT $ gldynMultiTexSubImage1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexSubImage2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexSubImage2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexSubImage2DEXT $ gldynMultiTexSubImage2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyMultiTexImage1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyMultiTexImage1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyMultiTexImage1DEXT $ gldynCopyMultiTexImage1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyMultiTexImage2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyMultiTexImage2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyMultiTexImage2DEXT $ gldynCopyMultiTexImage2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyMultiTexSubImage1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyMultiTexSubImage1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyMultiTexSubImage1DEXT $ gldynCopyMultiTexSubImage1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyMultiTexSubImage2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyMultiTexSubImage2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyMultiTexSubImage2DEXT $ gldynCopyMultiTexSubImage2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetMultiTexImageEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetMultiTexImageEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetMultiTexImageEXT $ gldynGetMultiTexImageEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetMultiTexParameterfvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetMultiTexParameterfvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetMultiTexParameterfvEXT $ gldynGetMultiTexParameterfvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetMultiTexParameterivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetMultiTexParameterivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetMultiTexParameterivEXT $ gldynGetMultiTexParameterivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetMultiTexLevelParameterfvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetMultiTexLevelParameterfvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetMultiTexLevelParameterfvEXT $ gldynGetMultiTexLevelParameterfvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetMultiTexLevelParameterivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetMultiTexLevelParameterivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetMultiTexLevelParameterivEXT $ gldynGetMultiTexLevelParameterivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexImage3DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexImage3DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexImage3DEXT $ gldynMultiTexImage3DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexSubImage3DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexSubImage3DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexSubImage3DEXT $ gldynMultiTexSubImage3DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCopyMultiTexSubImage3DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCopyMultiTexSubImage3DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCopyMultiTexSubImage3DEXT $ gldynCopyMultiTexSubImage3DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glEnableClientStateIndexedEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glEnableClientStateIndexedEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefEnableClientStateIndexedEXT $ gldynEnableClientStateIndexedEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDisableClientStateIndexedEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDisableClientStateIndexedEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDisableClientStateIndexedEXT $ gldynDisableClientStateIndexedEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetFloatIndexedvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetFloatIndexedvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetFloatIndexedvEXT $ gldynGetFloatIndexedvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetDoubleIndexedvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetDoubleIndexedvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetDoubleIndexedvEXT $ gldynGetDoubleIndexedvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetPointerIndexedvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetPointerIndexedvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetPointerIndexedvEXT $ gldynGetPointerIndexedvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glEnableIndexedEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glEnableIndexedEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefEnableIndexedEXT $ gldynEnableIndexedEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDisableIndexedEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDisableIndexedEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDisableIndexedEXT $ gldynDisableIndexedEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsEnabledIndexedEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsEnabledIndexedEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsEnabledIndexedEXT $ gldynIsEnabledIndexedEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetIntegerIndexedvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetIntegerIndexedvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetIntegerIndexedvEXT $ gldynGetIntegerIndexedvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetBooleanIndexedvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetBooleanIndexedvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetBooleanIndexedvEXT $ gldynGetBooleanIndexedvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedTextureImage3DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedTextureImage3DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedTextureImage3DEXT $ gldynCompressedTextureImage3DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedTextureImage2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedTextureImage2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedTextureImage2DEXT $ gldynCompressedTextureImage2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedTextureImage1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedTextureImage1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedTextureImage1DEXT $ gldynCompressedTextureImage1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedTextureSubImage3DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedTextureSubImage3DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedTextureSubImage3DEXT $ gldynCompressedTextureSubImage3DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedTextureSubImage2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedTextureSubImage2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedTextureSubImage2DEXT $ gldynCompressedTextureSubImage2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedTextureSubImage1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedTextureSubImage1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedTextureSubImage1DEXT $ gldynCompressedTextureSubImage1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetCompressedTextureImageEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetCompressedTextureImageEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetCompressedTextureImageEXT $ gldynGetCompressedTextureImageEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedMultiTexImage3DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedMultiTexImage3DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedMultiTexImage3DEXT $ gldynCompressedMultiTexImage3DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedMultiTexImage2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedMultiTexImage2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedMultiTexImage2DEXT $ gldynCompressedMultiTexImage2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedMultiTexImage1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedMultiTexImage1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedMultiTexImage1DEXT $ gldynCompressedMultiTexImage1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedMultiTexSubImage3DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedMultiTexSubImage3DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedMultiTexSubImage3DEXT $ gldynCompressedMultiTexSubImage3DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedMultiTexSubImage2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedMultiTexSubImage2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedMultiTexSubImage2DEXT $ gldynCompressedMultiTexSubImage2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCompressedMultiTexSubImage1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCompressedMultiTexSubImage1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCompressedMultiTexSubImage1DEXT $ gldynCompressedMultiTexSubImage1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetCompressedMultiTexImageEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetCompressedMultiTexImageEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetCompressedMultiTexImageEXT $ gldynGetCompressedMultiTexImageEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixLoadTransposefEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixLoadTransposefEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixLoadTransposefEXT $ gldynMatrixLoadTransposefEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixLoadTransposedEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixLoadTransposedEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixLoadTransposedEXT $ gldynMatrixLoadTransposedEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixMultTransposefEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixMultTransposefEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixMultTransposefEXT $ gldynMatrixMultTransposefEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMatrixMultTransposedEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMatrixMultTransposedEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMatrixMultTransposedEXT $ gldynMatrixMultTransposedEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedBufferDataEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedBufferDataEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedBufferDataEXT $ gldynNamedBufferDataEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedBufferSubDataEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedBufferSubDataEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedBufferSubDataEXT $ gldynNamedBufferSubDataEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMapNamedBufferEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMapNamedBufferEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMapNamedBufferEXT $ gldynMapNamedBufferEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUnmapNamedBufferEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUnmapNamedBufferEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUnmapNamedBufferEXT $ gldynUnmapNamedBufferEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetNamedBufferParameterivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetNamedBufferParameterivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetNamedBufferParameterivEXT $ gldynGetNamedBufferParameterivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetNamedBufferPointervEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetNamedBufferPointervEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetNamedBufferPointervEXT $ gldynGetNamedBufferPointervEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetNamedBufferSubDataEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetNamedBufferSubDataEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetNamedBufferSubDataEXT $ gldynGetNamedBufferSubDataEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1fEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1fEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1fEXT $ gldynProgramUniform1fEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2fEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2fEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2fEXT $ gldynProgramUniform2fEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3fEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3fEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3fEXT $ gldynProgramUniform3fEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4fEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4fEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4fEXT $ gldynProgramUniform4fEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1iEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1iEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1iEXT $ gldynProgramUniform1iEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2iEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2iEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2iEXT $ gldynProgramUniform2iEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3iEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3iEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3iEXT $ gldynProgramUniform3iEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4iEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4iEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4iEXT $ gldynProgramUniform4iEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1fvEXT $ gldynProgramUniform1fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2fvEXT $ gldynProgramUniform2fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3fvEXT $ gldynProgramUniform3fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4fvEXT $ gldynProgramUniform4fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1ivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1ivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1ivEXT $ gldynProgramUniform1ivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2ivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2ivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2ivEXT $ gldynProgramUniform2ivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3ivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3ivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3ivEXT $ gldynProgramUniform3ivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4ivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4ivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4ivEXT $ gldynProgramUniform4ivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix2fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix2fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix2fvEXT $ gldynProgramUniformMatrix2fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix3fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix3fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix3fvEXT $ gldynProgramUniformMatrix3fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix4fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix4fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix4fvEXT $ gldynProgramUniformMatrix4fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix2x3fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix2x3fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix2x3fvEXT $ gldynProgramUniformMatrix2x3fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix3x2fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix3x2fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix3x2fvEXT $ gldynProgramUniformMatrix3x2fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix2x4fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix2x4fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix2x4fvEXT $ gldynProgramUniformMatrix2x4fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix4x2fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix4x2fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix4x2fvEXT $ gldynProgramUniformMatrix4x2fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix3x4fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix3x4fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix3x4fvEXT $ gldynProgramUniformMatrix3x4fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix4x3fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix4x3fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix4x3fvEXT $ gldynProgramUniformMatrix4x3fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureBufferEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureBufferEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureBufferEXT $ gldynTextureBufferEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexBufferEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexBufferEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexBufferEXT $ gldynMultiTexBufferEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureParameterIivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureParameterIivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureParameterIivEXT $ gldynTextureParameterIivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureParameterIuivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureParameterIuivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureParameterIuivEXT $ gldynTextureParameterIuivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTextureParameterIivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTextureParameterIivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTextureParameterIivEXT $ gldynGetTextureParameterIivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetTextureParameterIuivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetTextureParameterIuivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetTextureParameterIuivEXT $ gldynGetTextureParameterIuivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexParameterIivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexParameterIivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexParameterIivEXT $ gldynMultiTexParameterIivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexParameterIuivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexParameterIuivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexParameterIuivEXT $ gldynMultiTexParameterIuivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetMultiTexParameterIivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetMultiTexParameterIivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetMultiTexParameterIivEXT $ gldynGetMultiTexParameterIivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetMultiTexParameterIuivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetMultiTexParameterIuivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetMultiTexParameterIuivEXT $ gldynGetMultiTexParameterIuivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1uiEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1uiEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1uiEXT $ gldynProgramUniform1uiEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2uiEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2uiEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2uiEXT $ gldynProgramUniform2uiEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3uiEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3uiEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3uiEXT $ gldynProgramUniform3uiEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4uiEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4uiEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4uiEXT $ gldynProgramUniform4uiEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1uivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1uivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1uivEXT $ gldynProgramUniform1uivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2uivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2uivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2uivEXT $ gldynProgramUniform2uivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3uivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3uivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3uivEXT $ gldynProgramUniform3uivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4uivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4uivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4uivEXT $ gldynProgramUniform4uivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedProgramLocalParameters4fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedProgramLocalParameters4fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedProgramLocalParameters4fvEXT $ gldynNamedProgramLocalParameters4fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedProgramLocalParameterI4iEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedProgramLocalParameterI4iEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedProgramLocalParameterI4iEXT $ gldynNamedProgramLocalParameterI4iEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedProgramLocalParameterI4ivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedProgramLocalParameterI4ivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedProgramLocalParameterI4ivEXT $ gldynNamedProgramLocalParameterI4ivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedProgramLocalParametersI4ivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedProgramLocalParametersI4ivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedProgramLocalParametersI4ivEXT $ gldynNamedProgramLocalParametersI4ivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedProgramLocalParameterI4uiEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedProgramLocalParameterI4uiEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedProgramLocalParameterI4uiEXT $ gldynNamedProgramLocalParameterI4uiEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedProgramLocalParameterI4uivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedProgramLocalParameterI4uivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedProgramLocalParameterI4uivEXT $ gldynNamedProgramLocalParameterI4uivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedProgramLocalParametersI4uivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedProgramLocalParametersI4uivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedProgramLocalParametersI4uivEXT $ gldynNamedProgramLocalParametersI4uivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetNamedProgramLocalParameterIivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetNamedProgramLocalParameterIivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetNamedProgramLocalParameterIivEXT $ gldynGetNamedProgramLocalParameterIivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetNamedProgramLocalParameterIuivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetNamedProgramLocalParameterIuivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetNamedProgramLocalParameterIuivEXT $ gldynGetNamedProgramLocalParameterIuivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glEnableClientStateiEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glEnableClientStateiEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefEnableClientStateiEXT $ gldynEnableClientStateiEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDisableClientStateiEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDisableClientStateiEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDisableClientStateiEXT $ gldynDisableClientStateiEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetFloati_vEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetFloati_vEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetFloati_vEXT $ gldynGetFloati_vEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetDoublei_vEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetDoublei_vEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetDoublei_vEXT $ gldynGetDoublei_vEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetPointeri_vEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetPointeri_vEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetPointeri_vEXT $ gldynGetPointeri_vEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedProgramStringEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedProgramStringEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedProgramStringEXT $ gldynNamedProgramStringEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedProgramLocalParameter4dEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedProgramLocalParameter4dEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedProgramLocalParameter4dEXT $ gldynNamedProgramLocalParameter4dEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedProgramLocalParameter4dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedProgramLocalParameter4dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedProgramLocalParameter4dvEXT $ gldynNamedProgramLocalParameter4dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedProgramLocalParameter4fEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedProgramLocalParameter4fEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedProgramLocalParameter4fEXT $ gldynNamedProgramLocalParameter4fEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedProgramLocalParameter4fvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedProgramLocalParameter4fvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedProgramLocalParameter4fvEXT $ gldynNamedProgramLocalParameter4fvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetNamedProgramLocalParameterdvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetNamedProgramLocalParameterdvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetNamedProgramLocalParameterdvEXT $ gldynGetNamedProgramLocalParameterdvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetNamedProgramLocalParameterfvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetNamedProgramLocalParameterfvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetNamedProgramLocalParameterfvEXT $ gldynGetNamedProgramLocalParameterfvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetNamedProgramivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetNamedProgramivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetNamedProgramivEXT $ gldynGetNamedProgramivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetNamedProgramStringEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetNamedProgramStringEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetNamedProgramStringEXT $ gldynGetNamedProgramStringEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedRenderbufferStorageEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedRenderbufferStorageEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedRenderbufferStorageEXT $ gldynNamedRenderbufferStorageEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetNamedRenderbufferParameterivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetNamedRenderbufferParameterivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetNamedRenderbufferParameterivEXT $ gldynGetNamedRenderbufferParameterivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedRenderbufferStorageMultisampleEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedRenderbufferStorageMultisampleEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedRenderbufferStorageMultisampleEXT $ gldynNamedRenderbufferStorageMultisampleEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedRenderbufferStorageMultisampleCoverageEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedRenderbufferStorageMultisampleCoverageEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedRenderbufferStorageMultisampleCoverageEXT $ gldynNamedRenderbufferStorageMultisampleCoverageEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCheckNamedFramebufferStatusEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCheckNamedFramebufferStatusEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCheckNamedFramebufferStatusEXT $ gldynCheckNamedFramebufferStatusEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedFramebufferTexture1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedFramebufferTexture1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedFramebufferTexture1DEXT $ gldynNamedFramebufferTexture1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedFramebufferTexture2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedFramebufferTexture2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedFramebufferTexture2DEXT $ gldynNamedFramebufferTexture2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedFramebufferTexture3DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedFramebufferTexture3DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedFramebufferTexture3DEXT $ gldynNamedFramebufferTexture3DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedFramebufferRenderbufferEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedFramebufferRenderbufferEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedFramebufferRenderbufferEXT $ gldynNamedFramebufferRenderbufferEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetNamedFramebufferAttachmentParameterivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetNamedFramebufferAttachmentParameterivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetNamedFramebufferAttachmentParameterivEXT $ gldynGetNamedFramebufferAttachmentParameterivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGenerateTextureMipmapEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGenerateTextureMipmapEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGenerateTextureMipmapEXT $ gldynGenerateTextureMipmapEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGenerateMultiTexMipmapEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGenerateMultiTexMipmapEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGenerateMultiTexMipmapEXT $ gldynGenerateMultiTexMipmapEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFramebufferDrawBufferEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFramebufferDrawBufferEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFramebufferDrawBufferEXT $ gldynFramebufferDrawBufferEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFramebufferDrawBuffersEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFramebufferDrawBuffersEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFramebufferDrawBuffersEXT $ gldynFramebufferDrawBuffersEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFramebufferReadBufferEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFramebufferReadBufferEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFramebufferReadBufferEXT $ gldynFramebufferReadBufferEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetFramebufferParameterivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetFramebufferParameterivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetFramebufferParameterivEXT $ gldynGetFramebufferParameterivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedCopyBufferSubDataEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedCopyBufferSubDataEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedCopyBufferSubDataEXT $ gldynNamedCopyBufferSubDataEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedFramebufferTextureEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedFramebufferTextureEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedFramebufferTextureEXT $ gldynNamedFramebufferTextureEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedFramebufferTextureLayerEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedFramebufferTextureLayerEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedFramebufferTextureLayerEXT $ gldynNamedFramebufferTextureLayerEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedFramebufferTextureFaceEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedFramebufferTextureFaceEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedFramebufferTextureFaceEXT $ gldynNamedFramebufferTextureFaceEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureRenderbufferEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureRenderbufferEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureRenderbufferEXT $ gldynTextureRenderbufferEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMultiTexRenderbufferEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMultiTexRenderbufferEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMultiTexRenderbufferEXT $ gldynMultiTexRenderbufferEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayVertexOffsetEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayVertexOffsetEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayVertexOffsetEXT $ gldynVertexArrayVertexOffsetEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayColorOffsetEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayColorOffsetEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayColorOffsetEXT $ gldynVertexArrayColorOffsetEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayEdgeFlagOffsetEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayEdgeFlagOffsetEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayEdgeFlagOffsetEXT $ gldynVertexArrayEdgeFlagOffsetEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayIndexOffsetEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayIndexOffsetEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayIndexOffsetEXT $ gldynVertexArrayIndexOffsetEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayNormalOffsetEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayNormalOffsetEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayNormalOffsetEXT $ gldynVertexArrayNormalOffsetEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayTexCoordOffsetEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayTexCoordOffsetEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayTexCoordOffsetEXT $ gldynVertexArrayTexCoordOffsetEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayMultiTexCoordOffsetEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayMultiTexCoordOffsetEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayMultiTexCoordOffsetEXT $ gldynVertexArrayMultiTexCoordOffsetEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayFogCoordOffsetEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayFogCoordOffsetEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayFogCoordOffsetEXT $ gldynVertexArrayFogCoordOffsetEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArraySecondaryColorOffsetEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArraySecondaryColorOffsetEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArraySecondaryColorOffsetEXT $ gldynVertexArraySecondaryColorOffsetEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayVertexAttribOffsetEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayVertexAttribOffsetEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayVertexAttribOffsetEXT $ gldynVertexArrayVertexAttribOffsetEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayVertexAttribIOffsetEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayVertexAttribIOffsetEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayVertexAttribIOffsetEXT $ gldynVertexArrayVertexAttribIOffsetEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glEnableVertexArrayEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glEnableVertexArrayEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefEnableVertexArrayEXT $ gldynEnableVertexArrayEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDisableVertexArrayEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDisableVertexArrayEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDisableVertexArrayEXT $ gldynDisableVertexArrayEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glEnableVertexArrayAttribEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glEnableVertexArrayAttribEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefEnableVertexArrayAttribEXT $ gldynEnableVertexArrayAttribEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDisableVertexArrayAttribEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDisableVertexArrayAttribEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDisableVertexArrayAttribEXT $ gldynDisableVertexArrayAttribEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetVertexArrayIntegervEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetVertexArrayIntegervEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetVertexArrayIntegervEXT $ gldynGetVertexArrayIntegervEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetVertexArrayPointervEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetVertexArrayPointervEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetVertexArrayPointervEXT $ gldynGetVertexArrayPointervEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetVertexArrayIntegeri_vEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetVertexArrayIntegeri_vEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetVertexArrayIntegeri_vEXT $ gldynGetVertexArrayIntegeri_vEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetVertexArrayPointeri_vEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetVertexArrayPointeri_vEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetVertexArrayPointeri_vEXT $ gldynGetVertexArrayPointeri_vEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glMapNamedBufferRangeEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glMapNamedBufferRangeEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefMapNamedBufferRangeEXT $ gldynMapNamedBufferRangeEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glFlushMappedNamedBufferRangeEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glFlushMappedNamedBufferRangeEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefFlushMappedNamedBufferRangeEXT $ gldynFlushMappedNamedBufferRangeEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedBufferStorageEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedBufferStorageEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedBufferStorageEXT $ gldynNamedBufferStorageEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glClearNamedBufferDataEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glClearNamedBufferDataEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefClearNamedBufferDataEXT $ gldynClearNamedBufferDataEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glClearNamedBufferSubDataEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glClearNamedBufferSubDataEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefClearNamedBufferSubDataEXT $ gldynClearNamedBufferSubDataEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glNamedFramebufferParameteriEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glNamedFramebufferParameteriEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefNamedFramebufferParameteriEXT $ gldynNamedFramebufferParameteriEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetNamedFramebufferParameterivEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetNamedFramebufferParameterivEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetNamedFramebufferParameterivEXT $ gldynGetNamedFramebufferParameterivEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1dEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1dEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1dEXT $ gldynProgramUniform1dEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2dEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2dEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2dEXT $ gldynProgramUniform2dEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3dEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3dEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3dEXT $ gldynProgramUniform3dEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4dEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4dEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4dEXT $ gldynProgramUniform4dEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1dvEXT $ gldynProgramUniform1dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2dvEXT $ gldynProgramUniform2dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3dvEXT $ gldynProgramUniform3dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4dvEXT $ gldynProgramUniform4dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix2dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix2dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix2dvEXT $ gldynProgramUniformMatrix2dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix3dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix3dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix3dvEXT $ gldynProgramUniformMatrix3dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix4dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix4dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix4dvEXT $ gldynProgramUniformMatrix4dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix2x3dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix2x3dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix2x3dvEXT $ gldynProgramUniformMatrix2x3dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix2x4dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix2x4dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix2x4dvEXT $ gldynProgramUniformMatrix2x4dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix3x2dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix3x2dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix3x2dvEXT $ gldynProgramUniformMatrix3x2dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix3x4dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix3x4dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix3x4dvEXT $ gldynProgramUniformMatrix3x4dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix4x2dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix4x2dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix4x2dvEXT $ gldynProgramUniformMatrix4x2dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix4x3dvEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix4x3dvEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix4x3dvEXT $ gldynProgramUniformMatrix4x3dvEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureBufferRangeEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureBufferRangeEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureBufferRangeEXT $ gldynTextureBufferRangeEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureStorage1DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureStorage1DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureStorage1DEXT $ gldynTextureStorage1DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureStorage2DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureStorage2DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureStorage2DEXT $ gldynTextureStorage2DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureStorage3DEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureStorage3DEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureStorage3DEXT $ gldynTextureStorage3DEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureStorage2DMultisampleEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureStorage2DMultisampleEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureStorage2DMultisampleEXT $ gldynTextureStorage2DMultisampleEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTextureStorage3DMultisampleEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTextureStorage3DMultisampleEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTextureStorage3DMultisampleEXT $ gldynTextureStorage3DMultisampleEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayBindVertexBufferEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayBindVertexBufferEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayBindVertexBufferEXT $ gldynVertexArrayBindVertexBufferEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayVertexAttribFormatEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayVertexAttribFormatEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayVertexAttribFormatEXT $ gldynVertexArrayVertexAttribFormatEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayVertexAttribIFormatEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayVertexAttribIFormatEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayVertexAttribIFormatEXT $ gldynVertexArrayVertexAttribIFormatEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayVertexAttribLFormatEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayVertexAttribLFormatEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayVertexAttribLFormatEXT $ gldynVertexArrayVertexAttribLFormatEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayVertexAttribBindingEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayVertexAttribBindingEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayVertexAttribBindingEXT $ gldynVertexArrayVertexAttribBindingEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayVertexBindingDivisorEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayVertexBindingDivisorEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayVertexBindingDivisorEXT $ gldynVertexArrayVertexBindingDivisorEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayVertexAttribLOffsetEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayVertexAttribLOffsetEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayVertexAttribLOffsetEXT $ gldynVertexArrayVertexAttribLOffsetEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glTexturePageCommitmentEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glTexturePageCommitmentEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefTexturePageCommitmentEXT $ gldynTexturePageCommitmentEXT addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glVertexArrayVertexAttribDivisorEXT"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glVertexArrayVertexAttribDivisorEXT")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefVertexArrayVertexAttribDivisorEXT $ gldynVertexArrayVertexAttribDivisorEXT addr
-
-    -- GL_ARB_buffer_storage
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBufferStorage"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBufferStorage")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBufferStorage $ gldynBufferStorage addr
-
-    -- GL_ARB_separate_shader_objects
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glUseProgramStages"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glUseProgramStages")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefUseProgramStages $ gldynUseProgramStages addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glActiveShaderProgram"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glActiveShaderProgram")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefActiveShaderProgram $ gldynActiveShaderProgram addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glCreateShaderProgramv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glCreateShaderProgramv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefCreateShaderProgramv $ gldynCreateShaderProgramv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glBindProgramPipeline"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glBindProgramPipeline")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefBindProgramPipeline $ gldynBindProgramPipeline addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glDeleteProgramPipelines"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glDeleteProgramPipelines")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefDeleteProgramPipelines $ gldynDeleteProgramPipelines addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGenProgramPipelines"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGenProgramPipelines")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGenProgramPipelines $ gldynGenProgramPipelines addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glIsProgramPipeline"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glIsProgramPipeline")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefIsProgramPipeline $ gldynIsProgramPipeline addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetProgramPipelineiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetProgramPipelineiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetProgramPipelineiv $ gldynGetProgramPipelineiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1i"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1i")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1i $ gldynProgramUniform1i addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1iv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1iv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1iv $ gldynProgramUniform1iv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1f"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1f")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1f $ gldynProgramUniform1f addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1fv $ gldynProgramUniform1fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1d"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1d")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1d $ gldynProgramUniform1d addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1dv $ gldynProgramUniform1dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1ui $ gldynProgramUniform1ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform1uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform1uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform1uiv $ gldynProgramUniform1uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2i"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2i")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2i $ gldynProgramUniform2i addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2iv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2iv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2iv $ gldynProgramUniform2iv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2f"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2f")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2f $ gldynProgramUniform2f addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2fv $ gldynProgramUniform2fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2d"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2d")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2d $ gldynProgramUniform2d addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2dv $ gldynProgramUniform2dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2ui $ gldynProgramUniform2ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform2uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform2uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform2uiv $ gldynProgramUniform2uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3i"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3i")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3i $ gldynProgramUniform3i addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3iv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3iv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3iv $ gldynProgramUniform3iv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3f"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3f")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3f $ gldynProgramUniform3f addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3fv $ gldynProgramUniform3fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3d"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3d")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3d $ gldynProgramUniform3d addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3dv $ gldynProgramUniform3dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3ui $ gldynProgramUniform3ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform3uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform3uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform3uiv $ gldynProgramUniform3uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4i"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4i")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4i $ gldynProgramUniform4i addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4iv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4iv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4iv $ gldynProgramUniform4iv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4f"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4f")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4f $ gldynProgramUniform4f addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4fv $ gldynProgramUniform4fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4d"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4d")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4d $ gldynProgramUniform4d addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4dv $ gldynProgramUniform4dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4ui"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4ui")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4ui $ gldynProgramUniform4ui addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniform4uiv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniform4uiv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniform4uiv $ gldynProgramUniform4uiv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix2fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix2fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix2fv $ gldynProgramUniformMatrix2fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix3fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix3fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix3fv $ gldynProgramUniformMatrix3fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix4fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix4fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix4fv $ gldynProgramUniformMatrix4fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix2dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix2dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix2dv $ gldynProgramUniformMatrix2dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix3dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix3dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix3dv $ gldynProgramUniformMatrix3dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix4dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix4dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix4dv $ gldynProgramUniformMatrix4dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix2x3fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix2x3fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix2x3fv $ gldynProgramUniformMatrix2x3fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix3x2fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix3x2fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix3x2fv $ gldynProgramUniformMatrix3x2fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix2x4fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix2x4fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix2x4fv $ gldynProgramUniformMatrix2x4fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix4x2fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix4x2fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix4x2fv $ gldynProgramUniformMatrix4x2fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix3x4fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix3x4fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix3x4fv $ gldynProgramUniformMatrix3x4fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix4x3fv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix4x3fv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix4x3fv $ gldynProgramUniformMatrix4x3fv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix2x3dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix2x3dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix2x3dv $ gldynProgramUniformMatrix2x3dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix3x2dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix3x2dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix3x2dv $ gldynProgramUniformMatrix3x2dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix2x4dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix2x4dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix2x4dv $ gldynProgramUniformMatrix2x4dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix4x2dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix4x2dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix4x2dv $ gldynProgramUniformMatrix4x2dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix3x4dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix3x4dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix3x4dv $ gldynProgramUniformMatrix3x4dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glProgramUniformMatrix4x3dv"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glProgramUniformMatrix4x3dv")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefProgramUniformMatrix4x3dv $ gldynProgramUniformMatrix4x3dv addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glValidateProgramPipeline"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glValidateProgramPipeline")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefValidateProgramPipeline $ gldynValidateProgramPipeline addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glGetProgramPipelineInfoLog"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glGetProgramPipelineInfoLog")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefGetProgramPipelineInfoLog $ gldynGetProgramPipelineInfoLog addr
-
-    -- GL_ATI_meminfo
-
-
-    -- GL_NVX_gpu_memory_info
-
-
-    -- GL_ARB_invalidate_subdata
-
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glInvalidateTexSubImage"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glInvalidateTexSubImage")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefInvalidateTexSubImage $ gldynInvalidateTexSubImage addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glInvalidateTexImage"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glInvalidateTexImage")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefInvalidateTexImage $ gldynInvalidateTexImage addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glInvalidateBufferSubData"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glInvalidateBufferSubData")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefInvalidateBufferSubData $ gldynInvalidateBufferSubData addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glInvalidateBufferData"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glInvalidateBufferData")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefInvalidateBufferData $ gldynInvalidateBufferData addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glInvalidateFramebuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glInvalidateFramebuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefInvalidateFramebuffer $ gldynInvalidateFramebuffer addr
-    when True $ liftIO $ do
-        addr' <- castPtrToFunPtr . castPtr <$> get_proc_address "glInvalidateSubFramebuffer"
-#ifndef mingw32_HOST_OS
-        addr <- if addr' == nullFunPtr
-          then catch (POSIX.dlsym POSIX.Default "glInvalidateSubFramebuffer")
-                     (\exc -> (exc :: SomeException) `seq` return nullFunPtr)
-          else return addr'
-#else
-        let addr = addr'
-#endif
-        writeIORef glrefInvalidateSubFramebuffer $ gldynInvalidateSubFramebuffer addr
-
-
-
-    -- In OpenGL 3.3+, glGetString is deprecated and glGetStringi should be used
-    -- for extensions.
-    (major, minor) <- getGLVersion
-    exts <- liftIO $ if major >= 4 || major >= 3 && minor >= 3
-            then do
-              exts_num <- alloca $ \num_ptr -> do
-                glGetIntegerv gl_NUM_EXTENSIONS num_ptr
-                fromIntegral <$> peek num_ptr
-              forM [0..exts_num-1] $ \i -> do
-                ext_raw <- castPtr `fmap` glGetStringi gl_EXTENSIONS i
-                peekCString ext_raw
-            else do
-              exts_raw <- castPtr `fmap` glGetString gl_EXTENSIONS
-              exts_cptr <- peekCString exts_raw
-              return $ words exts_cptr
-
-    when True $ do
-        let result = elem "GL_ARB_texture_storage" exts
-        liftIO $ writeIORef hasref_GL_ARB_texture_storage result
-    when True $ do
-        let result = elem "GL_KHR_debug" exts
-        liftIO $ writeIORef hasref_GL_KHR_debug result
-    when True $ do
-        let result = elem "GL_EXT_direct_state_access" exts
-        liftIO $ writeIORef hasref_GL_EXT_direct_state_access result
-    when True $ do
-        let result = elem "GL_ARB_buffer_storage" exts
-        liftIO $ writeIORef hasref_GL_ARB_buffer_storage result
-    when True $ do
-        let result = elem "GL_ARB_separate_shader_objects" exts
-        liftIO $ writeIORef hasref_GL_ARB_separate_shader_objects result
-    when True $ do
-        let result = elem "GL_ATI_meminfo" exts
-        liftIO $ writeIORef hasref_GL_ATI_meminfo result
-    when True $ do
-        let result = elem "GL_NVX_gpu_memory_info" exts
-        liftIO $ writeIORef hasref_GL_NVX_gpu_memory_info result
-    when True $ do
-        let result = elem "GL_ARB_invalidate_subdata" exts
-        liftIO $ writeIORef hasref_GL_ARB_invalidate_subdata result
-
-    return Success
-
-has_GL_ARB_texture_storage :: MonadIO m => m Bool
-has_GL_ARB_texture_storage = liftIO $ readIORef hasref_GL_ARB_texture_storage
-{-# INLINE has_GL_ARB_texture_storage #-}
-hasref_GL_ARB_texture_storage :: IORef Bool
-hasref_GL_ARB_texture_storage = unsafePerformIO $ newIORef False
-{-# NOINLINE hasref_GL_ARB_texture_storage #-}
-has_GL_KHR_debug :: MonadIO m => m Bool
-has_GL_KHR_debug = liftIO $ readIORef hasref_GL_KHR_debug
-{-# INLINE has_GL_KHR_debug #-}
-hasref_GL_KHR_debug :: IORef Bool
-hasref_GL_KHR_debug = unsafePerformIO $ newIORef False
-{-# NOINLINE hasref_GL_KHR_debug #-}
-has_GL_EXT_direct_state_access :: MonadIO m => m Bool
-has_GL_EXT_direct_state_access = liftIO $ readIORef hasref_GL_EXT_direct_state_access
-{-# INLINE has_GL_EXT_direct_state_access #-}
-hasref_GL_EXT_direct_state_access :: IORef Bool
-hasref_GL_EXT_direct_state_access = unsafePerformIO $ newIORef False
-{-# NOINLINE hasref_GL_EXT_direct_state_access #-}
-has_GL_ARB_buffer_storage :: MonadIO m => m Bool
-has_GL_ARB_buffer_storage = liftIO $ readIORef hasref_GL_ARB_buffer_storage
-{-# INLINE has_GL_ARB_buffer_storage #-}
-hasref_GL_ARB_buffer_storage :: IORef Bool
-hasref_GL_ARB_buffer_storage = unsafePerformIO $ newIORef False
-{-# NOINLINE hasref_GL_ARB_buffer_storage #-}
-has_GL_ARB_separate_shader_objects :: MonadIO m => m Bool
-has_GL_ARB_separate_shader_objects = liftIO $ readIORef hasref_GL_ARB_separate_shader_objects
-{-# INLINE has_GL_ARB_separate_shader_objects #-}
-hasref_GL_ARB_separate_shader_objects :: IORef Bool
-hasref_GL_ARB_separate_shader_objects = unsafePerformIO $ newIORef False
-{-# NOINLINE hasref_GL_ARB_separate_shader_objects #-}
-has_GL_ATI_meminfo :: MonadIO m => m Bool
-has_GL_ATI_meminfo = liftIO $ readIORef hasref_GL_ATI_meminfo
-{-# INLINE has_GL_ATI_meminfo #-}
-hasref_GL_ATI_meminfo :: IORef Bool
-hasref_GL_ATI_meminfo = unsafePerformIO $ newIORef False
-{-# NOINLINE hasref_GL_ATI_meminfo #-}
-has_GL_NVX_gpu_memory_info :: MonadIO m => m Bool
-has_GL_NVX_gpu_memory_info = liftIO $ readIORef hasref_GL_NVX_gpu_memory_info
-{-# INLINE has_GL_NVX_gpu_memory_info #-}
-hasref_GL_NVX_gpu_memory_info :: IORef Bool
-hasref_GL_NVX_gpu_memory_info = unsafePerformIO $ newIORef False
-{-# NOINLINE hasref_GL_NVX_gpu_memory_info #-}
-has_GL_ARB_invalidate_subdata :: MonadIO m => m Bool
-has_GL_ARB_invalidate_subdata = liftIO $ readIORef hasref_GL_ARB_invalidate_subdata
-{-# INLINE has_GL_ARB_invalidate_subdata #-}
-hasref_GL_ARB_invalidate_subdata :: IORef Bool
-hasref_GL_ARB_invalidate_subdata = unsafePerformIO $ newIORef False
-{-# NOINLINE hasref_GL_ARB_invalidate_subdata #-}
-
-
--- GL_VERSION_1_0
-
-type FuntypeCullFace =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCullFace :: FunPtr FuntypeCullFace -> FuntypeCullFace
-glrefCullFace :: IORef FuntypeCullFace
-glrefCullFace = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCullFace #-}
-glCullFace :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glCullFace
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefCullFace)
-      a0
-{-# INLINE glCullFace #-}
-type FuntypeFrontFace =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFrontFace :: FunPtr FuntypeFrontFace -> FuntypeFrontFace
-glrefFrontFace :: IORef FuntypeFrontFace
-glrefFrontFace = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFrontFace #-}
-glFrontFace :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glFrontFace
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefFrontFace)
-      a0
-{-# INLINE glFrontFace #-}
-type FuntypeHint =
-    GLenum ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynHint :: FunPtr FuntypeHint -> FuntypeHint
-glrefHint :: IORef FuntypeHint
-glrefHint = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefHint #-}
-glHint :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    m ( () )
-glHint
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefHint)
-      a0
-      a1
-{-# INLINE glHint #-}
-type FuntypeLineWidth =
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynLineWidth :: FunPtr FuntypeLineWidth -> FuntypeLineWidth
-glrefLineWidth :: IORef FuntypeLineWidth
-glrefLineWidth = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefLineWidth #-}
-glLineWidth :: MonadIO m =>
-    GLfloat ->
-    m ( () )
-glLineWidth
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefLineWidth)
-      a0
-{-# INLINE glLineWidth #-}
-type FuntypePointSize =
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPointSize :: FunPtr FuntypePointSize -> FuntypePointSize
-glrefPointSize :: IORef FuntypePointSize
-glrefPointSize = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPointSize #-}
-glPointSize :: MonadIO m =>
-    GLfloat ->
-    m ( () )
-glPointSize
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefPointSize)
-      a0
-{-# INLINE glPointSize #-}
-type FuntypePolygonMode =
-    GLenum ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPolygonMode :: FunPtr FuntypePolygonMode -> FuntypePolygonMode
-glrefPolygonMode :: IORef FuntypePolygonMode
-glrefPolygonMode = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPolygonMode #-}
-glPolygonMode :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    m ( () )
-glPolygonMode
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefPolygonMode)
-      a0
-      a1
-{-# INLINE glPolygonMode #-}
-type FuntypeScissor =
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynScissor :: FunPtr FuntypeScissor -> FuntypeScissor
-glrefScissor :: IORef FuntypeScissor
-glrefScissor = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefScissor #-}
-glScissor :: MonadIO m =>
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glScissor
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefScissor)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glScissor #-}
-type FuntypeTexParameterf =
-    GLenum ->
-    GLenum ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexParameterf :: FunPtr FuntypeTexParameterf -> FuntypeTexParameterf
-glrefTexParameterf :: IORef FuntypeTexParameterf
-glrefTexParameterf = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexParameterf #-}
-glTexParameterf :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLfloat ->
-    m ( () )
-glTexParameterf
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexParameterf)
-      a0
-      a1
-      a2
-{-# INLINE glTexParameterf #-}
-type FuntypeTexParameterfv =
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexParameterfv :: FunPtr FuntypeTexParameterfv -> FuntypeTexParameterfv
-glrefTexParameterfv :: IORef FuntypeTexParameterfv
-glrefTexParameterfv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexParameterfv #-}
-glTexParameterfv :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glTexParameterfv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexParameterfv)
-      a0
-      a1
-      a2
-{-# INLINE glTexParameterfv #-}
-type FuntypeTexParameteri =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexParameteri :: FunPtr FuntypeTexParameteri -> FuntypeTexParameteri
-glrefTexParameteri :: IORef FuntypeTexParameteri
-glrefTexParameteri = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexParameteri #-}
-glTexParameteri :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    m ( () )
-glTexParameteri
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexParameteri)
-      a0
-      a1
-      a2
-{-# INLINE glTexParameteri #-}
-type FuntypeTexParameteriv =
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexParameteriv :: FunPtr FuntypeTexParameteriv -> FuntypeTexParameteriv
-glrefTexParameteriv :: IORef FuntypeTexParameteriv
-glrefTexParameteriv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexParameteriv #-}
-glTexParameteriv :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glTexParameteriv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexParameteriv)
-      a0
-      a1
-      a2
-{-# INLINE glTexParameteriv #-}
-type FuntypeTexImage1D =
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexImage1D :: FunPtr FuntypeTexImage1D -> FuntypeTexImage1D
-glrefTexImage1D :: IORef FuntypeTexImage1D
-glrefTexImage1D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexImage1D #-}
-glTexImage1D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glTexImage1D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexImage1D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glTexImage1D #-}
-type FuntypeTexImage2D =
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexImage2D :: FunPtr FuntypeTexImage2D -> FuntypeTexImage2D
-glrefTexImage2D :: IORef FuntypeTexImage2D
-glrefTexImage2D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexImage2D #-}
-glTexImage2D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glTexImage2D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexImage2D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glTexImage2D #-}
-type FuntypeDrawBuffer =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDrawBuffer :: FunPtr FuntypeDrawBuffer -> FuntypeDrawBuffer
-glrefDrawBuffer :: IORef FuntypeDrawBuffer
-glrefDrawBuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDrawBuffer #-}
-glDrawBuffer :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glDrawBuffer
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefDrawBuffer)
-      a0
-{-# INLINE glDrawBuffer #-}
-type FuntypeClear =
-    GLbitfield ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynClear :: FunPtr FuntypeClear -> FuntypeClear
-glrefClear :: IORef FuntypeClear
-glrefClear = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefClear #-}
-glClear :: MonadIO m =>
-    GLbitfield ->
-    m ( () )
-glClear
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefClear)
-      a0
-{-# INLINE glClear #-}
-type FuntypeClearColor =
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynClearColor :: FunPtr FuntypeClearColor -> FuntypeClearColor
-glrefClearColor :: IORef FuntypeClearColor
-glrefClearColor = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefClearColor #-}
-glClearColor :: MonadIO m =>
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glClearColor
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefClearColor)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glClearColor #-}
-type FuntypeClearStencil =
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynClearStencil :: FunPtr FuntypeClearStencil -> FuntypeClearStencil
-glrefClearStencil :: IORef FuntypeClearStencil
-glrefClearStencil = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefClearStencil #-}
-glClearStencil :: MonadIO m =>
-    GLint ->
-    m ( () )
-glClearStencil
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefClearStencil)
-      a0
-{-# INLINE glClearStencil #-}
-type FuntypeClearDepth =
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynClearDepth :: FunPtr FuntypeClearDepth -> FuntypeClearDepth
-glrefClearDepth :: IORef FuntypeClearDepth
-glrefClearDepth = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefClearDepth #-}
-glClearDepth :: MonadIO m =>
-    GLdouble ->
-    m ( () )
-glClearDepth
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefClearDepth)
-      a0
-{-# INLINE glClearDepth #-}
-type FuntypeStencilMask =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynStencilMask :: FunPtr FuntypeStencilMask -> FuntypeStencilMask
-glrefStencilMask :: IORef FuntypeStencilMask
-glrefStencilMask = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefStencilMask #-}
-glStencilMask :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glStencilMask
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefStencilMask)
-      a0
-{-# INLINE glStencilMask #-}
-type FuntypeColorMask =
-    GLboolean ->
-    GLboolean ->
-    GLboolean ->
-    GLboolean ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynColorMask :: FunPtr FuntypeColorMask -> FuntypeColorMask
-glrefColorMask :: IORef FuntypeColorMask
-glrefColorMask = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefColorMask #-}
-glColorMask :: MonadIO m =>
-    GLboolean ->
-    GLboolean ->
-    GLboolean ->
-    GLboolean ->
-    m ( () )
-glColorMask
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefColorMask)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glColorMask #-}
-type FuntypeDepthMask =
-    GLboolean ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDepthMask :: FunPtr FuntypeDepthMask -> FuntypeDepthMask
-glrefDepthMask :: IORef FuntypeDepthMask
-glrefDepthMask = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDepthMask #-}
-glDepthMask :: MonadIO m =>
-    GLboolean ->
-    m ( () )
-glDepthMask
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefDepthMask)
-      a0
-{-# INLINE glDepthMask #-}
-type FuntypeDisable =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDisable :: FunPtr FuntypeDisable -> FuntypeDisable
-glrefDisable :: IORef FuntypeDisable
-glrefDisable = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDisable #-}
-glDisable :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glDisable
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefDisable)
-      a0
-{-# INLINE glDisable #-}
-type FuntypeEnable =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynEnable :: FunPtr FuntypeEnable -> FuntypeEnable
-glrefEnable :: IORef FuntypeEnable
-glrefEnable = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefEnable #-}
-glEnable :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glEnable
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefEnable)
-      a0
-{-# INLINE glEnable #-}
-type FuntypeFinish =
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFinish :: FunPtr FuntypeFinish -> FuntypeFinish
-glrefFinish :: IORef FuntypeFinish
-glrefFinish = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFinish #-}
-glFinish :: MonadIO m =>
-    m ( () )
-glFinish
-    = liftIO $ (unsafePerformIO $ readIORef glrefFinish)
-{-# INLINE glFinish #-}
-type FuntypeFlush =
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFlush :: FunPtr FuntypeFlush -> FuntypeFlush
-glrefFlush :: IORef FuntypeFlush
-glrefFlush = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFlush #-}
-glFlush :: MonadIO m =>
-    m ( () )
-glFlush
-    = liftIO $ (unsafePerformIO $ readIORef glrefFlush)
-{-# INLINE glFlush #-}
-type FuntypeBlendFunc =
-    GLenum ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBlendFunc :: FunPtr FuntypeBlendFunc -> FuntypeBlendFunc
-glrefBlendFunc :: IORef FuntypeBlendFunc
-glrefBlendFunc = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBlendFunc #-}
-glBlendFunc :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    m ( () )
-glBlendFunc
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefBlendFunc)
-      a0
-      a1
-{-# INLINE glBlendFunc #-}
-type FuntypeLogicOp =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynLogicOp :: FunPtr FuntypeLogicOp -> FuntypeLogicOp
-glrefLogicOp :: IORef FuntypeLogicOp
-glrefLogicOp = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefLogicOp #-}
-glLogicOp :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glLogicOp
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefLogicOp)
-      a0
-{-# INLINE glLogicOp #-}
-type FuntypeStencilFunc =
-    GLenum ->
-    GLint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynStencilFunc :: FunPtr FuntypeStencilFunc -> FuntypeStencilFunc
-glrefStencilFunc :: IORef FuntypeStencilFunc
-glrefStencilFunc = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefStencilFunc #-}
-glStencilFunc :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLuint ->
-    m ( () )
-glStencilFunc
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefStencilFunc)
-      a0
-      a1
-      a2
-{-# INLINE glStencilFunc #-}
-type FuntypeStencilOp =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynStencilOp :: FunPtr FuntypeStencilOp -> FuntypeStencilOp
-glrefStencilOp :: IORef FuntypeStencilOp
-glrefStencilOp = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefStencilOp #-}
-glStencilOp :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    m ( () )
-glStencilOp
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefStencilOp)
-      a0
-      a1
-      a2
-{-# INLINE glStencilOp #-}
-type FuntypeDepthFunc =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDepthFunc :: FunPtr FuntypeDepthFunc -> FuntypeDepthFunc
-glrefDepthFunc :: IORef FuntypeDepthFunc
-glrefDepthFunc = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDepthFunc #-}
-glDepthFunc :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glDepthFunc
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefDepthFunc)
-      a0
-{-# INLINE glDepthFunc #-}
-type FuntypePixelStoref =
-    GLenum ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPixelStoref :: FunPtr FuntypePixelStoref -> FuntypePixelStoref
-glrefPixelStoref :: IORef FuntypePixelStoref
-glrefPixelStoref = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPixelStoref #-}
-glPixelStoref :: MonadIO m =>
-    GLenum ->
-    GLfloat ->
-    m ( () )
-glPixelStoref
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefPixelStoref)
-      a0
-      a1
-{-# INLINE glPixelStoref #-}
-type FuntypePixelStorei =
-    GLenum ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPixelStorei :: FunPtr FuntypePixelStorei -> FuntypePixelStorei
-glrefPixelStorei :: IORef FuntypePixelStorei
-glrefPixelStorei = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPixelStorei #-}
-glPixelStorei :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    m ( () )
-glPixelStorei
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefPixelStorei)
-      a0
-      a1
-{-# INLINE glPixelStorei #-}
-type FuntypeReadBuffer =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynReadBuffer :: FunPtr FuntypeReadBuffer -> FuntypeReadBuffer
-glrefReadBuffer :: IORef FuntypeReadBuffer
-glrefReadBuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefReadBuffer #-}
-glReadBuffer :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glReadBuffer
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefReadBuffer)
-      a0
-{-# INLINE glReadBuffer #-}
-type FuntypeReadPixels =
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynReadPixels :: FunPtr FuntypeReadPixels -> FuntypeReadPixels
-glrefReadPixels :: IORef FuntypeReadPixels
-glrefReadPixels = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefReadPixels #-}
-glReadPixels :: MonadIO m =>
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glReadPixels
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefReadPixels)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glReadPixels #-}
-type FuntypeGetBooleanv =
-    GLenum ->
-    Ptr (GLboolean) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetBooleanv :: FunPtr FuntypeGetBooleanv -> FuntypeGetBooleanv
-glrefGetBooleanv :: IORef FuntypeGetBooleanv
-glrefGetBooleanv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetBooleanv #-}
-glGetBooleanv :: MonadIO m =>
-    GLenum ->
-    Ptr (GLboolean) ->
-    m ( () )
-glGetBooleanv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetBooleanv)
-      a0
-      a1
-{-# INLINE glGetBooleanv #-}
-type FuntypeGetDoublev =
-    GLenum ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetDoublev :: FunPtr FuntypeGetDoublev -> FuntypeGetDoublev
-glrefGetDoublev :: IORef FuntypeGetDoublev
-glrefGetDoublev = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetDoublev #-}
-glGetDoublev :: MonadIO m =>
-    GLenum ->
-    Ptr (GLdouble) ->
-    m ( () )
-glGetDoublev
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetDoublev)
-      a0
-      a1
-{-# INLINE glGetDoublev #-}
-type FuntypeGetError =
-    IO ( GLenum )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetError :: FunPtr FuntypeGetError -> FuntypeGetError
-glrefGetError :: IORef FuntypeGetError
-glrefGetError = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetError #-}
-glGetError :: MonadIO m =>
-    m ( GLenum )
-glGetError
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetError)
-{-# INLINE glGetError #-}
-type FuntypeGetFloatv =
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetFloatv :: FunPtr FuntypeGetFloatv -> FuntypeGetFloatv
-glrefGetFloatv :: IORef FuntypeGetFloatv
-glrefGetFloatv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetFloatv #-}
-glGetFloatv :: MonadIO m =>
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetFloatv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetFloatv)
-      a0
-      a1
-{-# INLINE glGetFloatv #-}
-type FuntypeGetIntegerv =
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetIntegerv :: FunPtr FuntypeGetIntegerv -> FuntypeGetIntegerv
-glrefGetIntegerv :: IORef FuntypeGetIntegerv
-glrefGetIntegerv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetIntegerv #-}
-glGetIntegerv :: MonadIO m =>
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetIntegerv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetIntegerv)
-      a0
-      a1
-{-# INLINE glGetIntegerv #-}
-type FuntypeGetString =
-    GLenum ->
-    IO ( Ptr (GLubyte) )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetString :: FunPtr FuntypeGetString -> FuntypeGetString
-glrefGetString :: IORef FuntypeGetString
-glrefGetString = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetString #-}
-glGetString :: MonadIO m =>
-    GLenum ->
-    m ( Ptr (GLubyte) )
-glGetString
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetString)
-      a0
-{-# INLINE glGetString #-}
-type FuntypeGetTexImage =
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTexImage :: FunPtr FuntypeGetTexImage -> FuntypeGetTexImage
-glrefGetTexImage :: IORef FuntypeGetTexImage
-glrefGetTexImage = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTexImage #-}
-glGetTexImage :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glGetTexImage
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTexImage)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glGetTexImage #-}
-type FuntypeGetTexParameterfv =
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTexParameterfv :: FunPtr FuntypeGetTexParameterfv -> FuntypeGetTexParameterfv
-glrefGetTexParameterfv :: IORef FuntypeGetTexParameterfv
-glrefGetTexParameterfv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTexParameterfv #-}
-glGetTexParameterfv :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetTexParameterfv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTexParameterfv)
-      a0
-      a1
-      a2
-{-# INLINE glGetTexParameterfv #-}
-type FuntypeGetTexParameteriv =
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTexParameteriv :: FunPtr FuntypeGetTexParameteriv -> FuntypeGetTexParameteriv
-glrefGetTexParameteriv :: IORef FuntypeGetTexParameteriv
-glrefGetTexParameteriv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTexParameteriv #-}
-glGetTexParameteriv :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetTexParameteriv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTexParameteriv)
-      a0
-      a1
-      a2
-{-# INLINE glGetTexParameteriv #-}
-type FuntypeGetTexLevelParameterfv =
-    GLenum ->
-    GLint ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTexLevelParameterfv :: FunPtr FuntypeGetTexLevelParameterfv -> FuntypeGetTexLevelParameterfv
-glrefGetTexLevelParameterfv :: IORef FuntypeGetTexLevelParameterfv
-glrefGetTexLevelParameterfv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTexLevelParameterfv #-}
-glGetTexLevelParameterfv :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetTexLevelParameterfv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTexLevelParameterfv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetTexLevelParameterfv #-}
-type FuntypeGetTexLevelParameteriv =
-    GLenum ->
-    GLint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTexLevelParameteriv :: FunPtr FuntypeGetTexLevelParameteriv -> FuntypeGetTexLevelParameteriv
-glrefGetTexLevelParameteriv :: IORef FuntypeGetTexLevelParameteriv
-glrefGetTexLevelParameteriv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTexLevelParameteriv #-}
-glGetTexLevelParameteriv :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetTexLevelParameteriv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTexLevelParameteriv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetTexLevelParameteriv #-}
-type FuntypeIsEnabled =
-    GLenum ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsEnabled :: FunPtr FuntypeIsEnabled -> FuntypeIsEnabled
-glrefIsEnabled :: IORef FuntypeIsEnabled
-glrefIsEnabled = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsEnabled #-}
-glIsEnabled :: MonadIO m =>
-    GLenum ->
-    m ( GLboolean )
-glIsEnabled
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsEnabled)
-      a0
-{-# INLINE glIsEnabled #-}
-type FuntypeDepthRange =
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDepthRange :: FunPtr FuntypeDepthRange -> FuntypeDepthRange
-glrefDepthRange :: IORef FuntypeDepthRange
-glrefDepthRange = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDepthRange #-}
-glDepthRange :: MonadIO m =>
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glDepthRange
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDepthRange)
-      a0
-      a1
-{-# INLINE glDepthRange #-}
-type FuntypeViewport =
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynViewport :: FunPtr FuntypeViewport -> FuntypeViewport
-glrefViewport :: IORef FuntypeViewport
-glrefViewport = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefViewport #-}
-glViewport :: MonadIO m =>
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glViewport
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefViewport)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glViewport #-}
-
--- GL_VERSION_1_1
-
-type FuntypeDrawArrays =
-    GLenum ->
-    GLint ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDrawArrays :: FunPtr FuntypeDrawArrays -> FuntypeDrawArrays
-glrefDrawArrays :: IORef FuntypeDrawArrays
-glrefDrawArrays = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDrawArrays #-}
-glDrawArrays :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLsizei ->
-    m ( () )
-glDrawArrays
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefDrawArrays)
-      a0
-      a1
-      a2
-{-# INLINE glDrawArrays #-}
-type FuntypeDrawElements =
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDrawElements :: FunPtr FuntypeDrawElements -> FuntypeDrawElements
-glrefDrawElements :: IORef FuntypeDrawElements
-glrefDrawElements = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDrawElements #-}
-glDrawElements :: MonadIO m =>
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glDrawElements
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefDrawElements)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glDrawElements #-}
-type FuntypePolygonOffset =
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPolygonOffset :: FunPtr FuntypePolygonOffset -> FuntypePolygonOffset
-glrefPolygonOffset :: IORef FuntypePolygonOffset
-glrefPolygonOffset = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPolygonOffset #-}
-glPolygonOffset :: MonadIO m =>
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glPolygonOffset
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefPolygonOffset)
-      a0
-      a1
-{-# INLINE glPolygonOffset #-}
-type FuntypeCopyTexImage1D =
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyTexImage1D :: FunPtr FuntypeCopyTexImage1D -> FuntypeCopyTexImage1D
-glrefCopyTexImage1D :: IORef FuntypeCopyTexImage1D
-glrefCopyTexImage1D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyTexImage1D #-}
-glCopyTexImage1D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLint ->
-    m ( () )
-glCopyTexImage1D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyTexImage1D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glCopyTexImage1D #-}
-type FuntypeCopyTexImage2D =
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyTexImage2D :: FunPtr FuntypeCopyTexImage2D -> FuntypeCopyTexImage2D
-glrefCopyTexImage2D :: IORef FuntypeCopyTexImage2D
-glrefCopyTexImage2D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyTexImage2D #-}
-glCopyTexImage2D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    m ( () )
-glCopyTexImage2D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyTexImage2D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glCopyTexImage2D #-}
-type FuntypeCopyTexSubImage1D =
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyTexSubImage1D :: FunPtr FuntypeCopyTexSubImage1D -> FuntypeCopyTexSubImage1D
-glrefCopyTexSubImage1D :: IORef FuntypeCopyTexSubImage1D
-glrefCopyTexSubImage1D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyTexSubImage1D #-}
-glCopyTexSubImage1D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    m ( () )
-glCopyTexSubImage1D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyTexSubImage1D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glCopyTexSubImage1D #-}
-type FuntypeCopyTexSubImage2D =
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyTexSubImage2D :: FunPtr FuntypeCopyTexSubImage2D -> FuntypeCopyTexSubImage2D
-glrefCopyTexSubImage2D :: IORef FuntypeCopyTexSubImage2D
-glrefCopyTexSubImage2D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyTexSubImage2D #-}
-glCopyTexSubImage2D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glCopyTexSubImage2D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyTexSubImage2D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glCopyTexSubImage2D #-}
-type FuntypeTexSubImage1D =
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexSubImage1D :: FunPtr FuntypeTexSubImage1D -> FuntypeTexSubImage1D
-glrefTexSubImage1D :: IORef FuntypeTexSubImage1D
-glrefTexSubImage1D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexSubImage1D #-}
-glTexSubImage1D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glTexSubImage1D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexSubImage1D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glTexSubImage1D #-}
-type FuntypeTexSubImage2D =
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexSubImage2D :: FunPtr FuntypeTexSubImage2D -> FuntypeTexSubImage2D
-glrefTexSubImage2D :: IORef FuntypeTexSubImage2D
-glrefTexSubImage2D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexSubImage2D #-}
-glTexSubImage2D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glTexSubImage2D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexSubImage2D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glTexSubImage2D #-}
-type FuntypeBindTexture =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBindTexture :: FunPtr FuntypeBindTexture -> FuntypeBindTexture
-glrefBindTexture :: IORef FuntypeBindTexture
-glrefBindTexture = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBindTexture #-}
-glBindTexture :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glBindTexture
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefBindTexture)
-      a0
-      a1
-{-# INLINE glBindTexture #-}
-type FuntypeDeleteTextures =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDeleteTextures :: FunPtr FuntypeDeleteTextures -> FuntypeDeleteTextures
-glrefDeleteTextures :: IORef FuntypeDeleteTextures
-glrefDeleteTextures = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDeleteTextures #-}
-glDeleteTextures :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glDeleteTextures
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDeleteTextures)
-      a0
-      a1
-{-# INLINE glDeleteTextures #-}
-type FuntypeGenTextures =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGenTextures :: FunPtr FuntypeGenTextures -> FuntypeGenTextures
-glrefGenTextures :: IORef FuntypeGenTextures
-glrefGenTextures = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGenTextures #-}
-glGenTextures :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glGenTextures
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGenTextures)
-      a0
-      a1
-{-# INLINE glGenTextures #-}
-type FuntypeIsTexture =
-    GLuint ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsTexture :: FunPtr FuntypeIsTexture -> FuntypeIsTexture
-glrefIsTexture :: IORef FuntypeIsTexture
-glrefIsTexture = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsTexture #-}
-glIsTexture :: MonadIO m =>
-    GLuint ->
-    m ( GLboolean )
-glIsTexture
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsTexture)
-      a0
-{-# INLINE glIsTexture #-}
-
--- GL_VERSION_1_2
-
-type FuntypeDrawRangeElements =
-    GLenum ->
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDrawRangeElements :: FunPtr FuntypeDrawRangeElements -> FuntypeDrawRangeElements
-glrefDrawRangeElements :: IORef FuntypeDrawRangeElements
-glrefDrawRangeElements = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDrawRangeElements #-}
-glDrawRangeElements :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glDrawRangeElements
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefDrawRangeElements)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glDrawRangeElements #-}
-type FuntypeTexImage3D =
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexImage3D :: FunPtr FuntypeTexImage3D -> FuntypeTexImage3D
-glrefTexImage3D :: IORef FuntypeTexImage3D
-glrefTexImage3D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexImage3D #-}
-glTexImage3D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glTexImage3D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexImage3D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-{-# INLINE glTexImage3D #-}
-type FuntypeTexSubImage3D =
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexSubImage3D :: FunPtr FuntypeTexSubImage3D -> FuntypeTexSubImage3D
-glrefTexSubImage3D :: IORef FuntypeTexSubImage3D
-glrefTexSubImage3D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexSubImage3D #-}
-glTexSubImage3D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glTexSubImage3D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    a10
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexSubImage3D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-      a10
-{-# INLINE glTexSubImage3D #-}
-type FuntypeCopyTexSubImage3D =
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyTexSubImage3D :: FunPtr FuntypeCopyTexSubImage3D -> FuntypeCopyTexSubImage3D
-glrefCopyTexSubImage3D :: IORef FuntypeCopyTexSubImage3D
-glrefCopyTexSubImage3D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyTexSubImage3D #-}
-glCopyTexSubImage3D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glCopyTexSubImage3D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyTexSubImage3D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glCopyTexSubImage3D #-}
-
--- GL_VERSION_1_3
-
-type FuntypeActiveTexture =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynActiveTexture :: FunPtr FuntypeActiveTexture -> FuntypeActiveTexture
-glrefActiveTexture :: IORef FuntypeActiveTexture
-glrefActiveTexture = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefActiveTexture #-}
-glActiveTexture :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glActiveTexture
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefActiveTexture)
-      a0
-{-# INLINE glActiveTexture #-}
-type FuntypeSampleCoverage =
-    GLfloat ->
-    GLboolean ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynSampleCoverage :: FunPtr FuntypeSampleCoverage -> FuntypeSampleCoverage
-glrefSampleCoverage :: IORef FuntypeSampleCoverage
-glrefSampleCoverage = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefSampleCoverage #-}
-glSampleCoverage :: MonadIO m =>
-    GLfloat ->
-    GLboolean ->
-    m ( () )
-glSampleCoverage
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefSampleCoverage)
-      a0
-      a1
-{-# INLINE glSampleCoverage #-}
-type FuntypeCompressedTexImage3D =
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedTexImage3D :: FunPtr FuntypeCompressedTexImage3D -> FuntypeCompressedTexImage3D
-glrefCompressedTexImage3D :: IORef FuntypeCompressedTexImage3D
-glrefCompressedTexImage3D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedTexImage3D #-}
-glCompressedTexImage3D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedTexImage3D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedTexImage3D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glCompressedTexImage3D #-}
-type FuntypeCompressedTexImage2D =
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedTexImage2D :: FunPtr FuntypeCompressedTexImage2D -> FuntypeCompressedTexImage2D
-glrefCompressedTexImage2D :: IORef FuntypeCompressedTexImage2D
-glrefCompressedTexImage2D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedTexImage2D #-}
-glCompressedTexImage2D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedTexImage2D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedTexImage2D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glCompressedTexImage2D #-}
-type FuntypeCompressedTexImage1D =
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedTexImage1D :: FunPtr FuntypeCompressedTexImage1D -> FuntypeCompressedTexImage1D
-glrefCompressedTexImage1D :: IORef FuntypeCompressedTexImage1D
-glrefCompressedTexImage1D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedTexImage1D #-}
-glCompressedTexImage1D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedTexImage1D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedTexImage1D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glCompressedTexImage1D #-}
-type FuntypeCompressedTexSubImage3D =
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedTexSubImage3D :: FunPtr FuntypeCompressedTexSubImage3D -> FuntypeCompressedTexSubImage3D
-glrefCompressedTexSubImage3D :: IORef FuntypeCompressedTexSubImage3D
-glrefCompressedTexSubImage3D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedTexSubImage3D #-}
-glCompressedTexSubImage3D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedTexSubImage3D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    a10
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedTexSubImage3D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-      a10
-{-# INLINE glCompressedTexSubImage3D #-}
-type FuntypeCompressedTexSubImage2D =
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedTexSubImage2D :: FunPtr FuntypeCompressedTexSubImage2D -> FuntypeCompressedTexSubImage2D
-glrefCompressedTexSubImage2D :: IORef FuntypeCompressedTexSubImage2D
-glrefCompressedTexSubImage2D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedTexSubImage2D #-}
-glCompressedTexSubImage2D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedTexSubImage2D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedTexSubImage2D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glCompressedTexSubImage2D #-}
-type FuntypeCompressedTexSubImage1D =
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedTexSubImage1D :: FunPtr FuntypeCompressedTexSubImage1D -> FuntypeCompressedTexSubImage1D
-glrefCompressedTexSubImage1D :: IORef FuntypeCompressedTexSubImage1D
-glrefCompressedTexSubImage1D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedTexSubImage1D #-}
-glCompressedTexSubImage1D :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedTexSubImage1D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedTexSubImage1D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glCompressedTexSubImage1D #-}
-type FuntypeGetCompressedTexImage =
-    GLenum ->
-    GLint ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetCompressedTexImage :: FunPtr FuntypeGetCompressedTexImage -> FuntypeGetCompressedTexImage
-glrefGetCompressedTexImage :: IORef FuntypeGetCompressedTexImage
-glrefGetCompressedTexImage = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetCompressedTexImage #-}
-glGetCompressedTexImage :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    Ptr () ->
-    m ( () )
-glGetCompressedTexImage
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetCompressedTexImage)
-      a0
-      a1
-      a2
-{-# INLINE glGetCompressedTexImage #-}
-
--- GL_VERSION_1_4
-
-type FuntypeBlendFuncSeparate =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBlendFuncSeparate :: FunPtr FuntypeBlendFuncSeparate -> FuntypeBlendFuncSeparate
-glrefBlendFuncSeparate :: IORef FuntypeBlendFuncSeparate
-glrefBlendFuncSeparate = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBlendFuncSeparate #-}
-glBlendFuncSeparate :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    m ( () )
-glBlendFuncSeparate
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefBlendFuncSeparate)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glBlendFuncSeparate #-}
-type FuntypeMultiDrawArrays =
-    GLenum ->
-    Ptr (GLint) ->
-    Ptr (GLsizei) ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiDrawArrays :: FunPtr FuntypeMultiDrawArrays -> FuntypeMultiDrawArrays
-glrefMultiDrawArrays :: IORef FuntypeMultiDrawArrays
-glrefMultiDrawArrays = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiDrawArrays #-}
-glMultiDrawArrays :: MonadIO m =>
-    GLenum ->
-    Ptr (GLint) ->
-    Ptr (GLsizei) ->
-    GLsizei ->
-    m ( () )
-glMultiDrawArrays
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiDrawArrays)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiDrawArrays #-}
-type FuntypeMultiDrawElements =
-    GLenum ->
-    Ptr (GLsizei) ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiDrawElements :: FunPtr FuntypeMultiDrawElements -> FuntypeMultiDrawElements
-glrefMultiDrawElements :: IORef FuntypeMultiDrawElements
-glrefMultiDrawElements = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiDrawElements #-}
-glMultiDrawElements :: MonadIO m =>
-    GLenum ->
-    Ptr (GLsizei) ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    GLsizei ->
-    m ( () )
-glMultiDrawElements
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiDrawElements)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glMultiDrawElements #-}
-type FuntypePointParameterf =
-    GLenum ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPointParameterf :: FunPtr FuntypePointParameterf -> FuntypePointParameterf
-glrefPointParameterf :: IORef FuntypePointParameterf
-glrefPointParameterf = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPointParameterf #-}
-glPointParameterf :: MonadIO m =>
-    GLenum ->
-    GLfloat ->
-    m ( () )
-glPointParameterf
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefPointParameterf)
-      a0
-      a1
-{-# INLINE glPointParameterf #-}
-type FuntypePointParameterfv =
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPointParameterfv :: FunPtr FuntypePointParameterfv -> FuntypePointParameterfv
-glrefPointParameterfv :: IORef FuntypePointParameterfv
-glrefPointParameterfv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPointParameterfv #-}
-glPointParameterfv :: MonadIO m =>
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glPointParameterfv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefPointParameterfv)
-      a0
-      a1
-{-# INLINE glPointParameterfv #-}
-type FuntypePointParameteri =
-    GLenum ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPointParameteri :: FunPtr FuntypePointParameteri -> FuntypePointParameteri
-glrefPointParameteri :: IORef FuntypePointParameteri
-glrefPointParameteri = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPointParameteri #-}
-glPointParameteri :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    m ( () )
-glPointParameteri
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefPointParameteri)
-      a0
-      a1
-{-# INLINE glPointParameteri #-}
-type FuntypePointParameteriv =
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPointParameteriv :: FunPtr FuntypePointParameteriv -> FuntypePointParameteriv
-glrefPointParameteriv :: IORef FuntypePointParameteriv
-glrefPointParameteriv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPointParameteriv #-}
-glPointParameteriv :: MonadIO m =>
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glPointParameteriv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefPointParameteriv)
-      a0
-      a1
-{-# INLINE glPointParameteriv #-}
-type FuntypeBlendColor =
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBlendColor :: FunPtr FuntypeBlendColor -> FuntypeBlendColor
-glrefBlendColor :: IORef FuntypeBlendColor
-glrefBlendColor = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBlendColor #-}
-glBlendColor :: MonadIO m =>
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glBlendColor
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefBlendColor)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glBlendColor #-}
-type FuntypeBlendEquation =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBlendEquation :: FunPtr FuntypeBlendEquation -> FuntypeBlendEquation
-glrefBlendEquation :: IORef FuntypeBlendEquation
-glrefBlendEquation = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBlendEquation #-}
-glBlendEquation :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glBlendEquation
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefBlendEquation)
-      a0
-{-# INLINE glBlendEquation #-}
-
--- GL_VERSION_1_5
-
-type FuntypeGenQueries =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGenQueries :: FunPtr FuntypeGenQueries -> FuntypeGenQueries
-glrefGenQueries :: IORef FuntypeGenQueries
-glrefGenQueries = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGenQueries #-}
-glGenQueries :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glGenQueries
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGenQueries)
-      a0
-      a1
-{-# INLINE glGenQueries #-}
-type FuntypeDeleteQueries =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDeleteQueries :: FunPtr FuntypeDeleteQueries -> FuntypeDeleteQueries
-glrefDeleteQueries :: IORef FuntypeDeleteQueries
-glrefDeleteQueries = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDeleteQueries #-}
-glDeleteQueries :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glDeleteQueries
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDeleteQueries)
-      a0
-      a1
-{-# INLINE glDeleteQueries #-}
-type FuntypeIsQuery =
-    GLuint ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsQuery :: FunPtr FuntypeIsQuery -> FuntypeIsQuery
-glrefIsQuery :: IORef FuntypeIsQuery
-glrefIsQuery = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsQuery #-}
-glIsQuery :: MonadIO m =>
-    GLuint ->
-    m ( GLboolean )
-glIsQuery
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsQuery)
-      a0
-{-# INLINE glIsQuery #-}
-type FuntypeBeginQuery =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBeginQuery :: FunPtr FuntypeBeginQuery -> FuntypeBeginQuery
-glrefBeginQuery :: IORef FuntypeBeginQuery
-glrefBeginQuery = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBeginQuery #-}
-glBeginQuery :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glBeginQuery
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefBeginQuery)
-      a0
-      a1
-{-# INLINE glBeginQuery #-}
-type FuntypeEndQuery =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynEndQuery :: FunPtr FuntypeEndQuery -> FuntypeEndQuery
-glrefEndQuery :: IORef FuntypeEndQuery
-glrefEndQuery = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefEndQuery #-}
-glEndQuery :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glEndQuery
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefEndQuery)
-      a0
-{-# INLINE glEndQuery #-}
-type FuntypeGetQueryiv =
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetQueryiv :: FunPtr FuntypeGetQueryiv -> FuntypeGetQueryiv
-glrefGetQueryiv :: IORef FuntypeGetQueryiv
-glrefGetQueryiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetQueryiv #-}
-glGetQueryiv :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetQueryiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetQueryiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetQueryiv #-}
-type FuntypeGetQueryObjectiv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetQueryObjectiv :: FunPtr FuntypeGetQueryObjectiv -> FuntypeGetQueryObjectiv
-glrefGetQueryObjectiv :: IORef FuntypeGetQueryObjectiv
-glrefGetQueryObjectiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetQueryObjectiv #-}
-glGetQueryObjectiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetQueryObjectiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetQueryObjectiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetQueryObjectiv #-}
-type FuntypeGetQueryObjectuiv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetQueryObjectuiv :: FunPtr FuntypeGetQueryObjectuiv -> FuntypeGetQueryObjectuiv
-glrefGetQueryObjectuiv :: IORef FuntypeGetQueryObjectuiv
-glrefGetQueryObjectuiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetQueryObjectuiv #-}
-glGetQueryObjectuiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLuint) ->
-    m ( () )
-glGetQueryObjectuiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetQueryObjectuiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetQueryObjectuiv #-}
-type FuntypeBindBuffer =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBindBuffer :: FunPtr FuntypeBindBuffer -> FuntypeBindBuffer
-glrefBindBuffer :: IORef FuntypeBindBuffer
-glrefBindBuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBindBuffer #-}
-glBindBuffer :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glBindBuffer
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefBindBuffer)
-      a0
-      a1
-{-# INLINE glBindBuffer #-}
-type FuntypeDeleteBuffers =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDeleteBuffers :: FunPtr FuntypeDeleteBuffers -> FuntypeDeleteBuffers
-glrefDeleteBuffers :: IORef FuntypeDeleteBuffers
-glrefDeleteBuffers = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDeleteBuffers #-}
-glDeleteBuffers :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glDeleteBuffers
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDeleteBuffers)
-      a0
-      a1
-{-# INLINE glDeleteBuffers #-}
-type FuntypeGenBuffers =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGenBuffers :: FunPtr FuntypeGenBuffers -> FuntypeGenBuffers
-glrefGenBuffers :: IORef FuntypeGenBuffers
-glrefGenBuffers = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGenBuffers #-}
-glGenBuffers :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glGenBuffers
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGenBuffers)
-      a0
-      a1
-{-# INLINE glGenBuffers #-}
-type FuntypeIsBuffer =
-    GLuint ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsBuffer :: FunPtr FuntypeIsBuffer -> FuntypeIsBuffer
-glrefIsBuffer :: IORef FuntypeIsBuffer
-glrefIsBuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsBuffer #-}
-glIsBuffer :: MonadIO m =>
-    GLuint ->
-    m ( GLboolean )
-glIsBuffer
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsBuffer)
-      a0
-{-# INLINE glIsBuffer #-}
-type FuntypeBufferData =
-    GLenum ->
-    GLsizeiptr ->
-    Ptr () ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBufferData :: FunPtr FuntypeBufferData -> FuntypeBufferData
-glrefBufferData :: IORef FuntypeBufferData
-glrefBufferData = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBufferData #-}
-glBufferData :: MonadIO m =>
-    GLenum ->
-    GLsizeiptr ->
-    Ptr () ->
-    GLenum ->
-    m ( () )
-glBufferData
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefBufferData)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glBufferData #-}
-type FuntypeBufferSubData =
-    GLenum ->
-    GLintptr ->
-    GLsizeiptr ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBufferSubData :: FunPtr FuntypeBufferSubData -> FuntypeBufferSubData
-glrefBufferSubData :: IORef FuntypeBufferSubData
-glrefBufferSubData = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBufferSubData #-}
-glBufferSubData :: MonadIO m =>
-    GLenum ->
-    GLintptr ->
-    GLsizeiptr ->
-    Ptr () ->
-    m ( () )
-glBufferSubData
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefBufferSubData)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glBufferSubData #-}
-type FuntypeGetBufferSubData =
-    GLenum ->
-    GLintptr ->
-    GLsizeiptr ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetBufferSubData :: FunPtr FuntypeGetBufferSubData -> FuntypeGetBufferSubData
-glrefGetBufferSubData :: IORef FuntypeGetBufferSubData
-glrefGetBufferSubData = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetBufferSubData #-}
-glGetBufferSubData :: MonadIO m =>
-    GLenum ->
-    GLintptr ->
-    GLsizeiptr ->
-    Ptr () ->
-    m ( () )
-glGetBufferSubData
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetBufferSubData)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetBufferSubData #-}
-type FuntypeMapBuffer =
-    GLenum ->
-    GLenum ->
-    IO ( Ptr () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMapBuffer :: FunPtr FuntypeMapBuffer -> FuntypeMapBuffer
-glrefMapBuffer :: IORef FuntypeMapBuffer
-glrefMapBuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMapBuffer #-}
-glMapBuffer :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    m ( Ptr () )
-glMapBuffer
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefMapBuffer)
-      a0
-      a1
-{-# INLINE glMapBuffer #-}
-type FuntypeUnmapBuffer =
-    GLenum ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUnmapBuffer :: FunPtr FuntypeUnmapBuffer -> FuntypeUnmapBuffer
-glrefUnmapBuffer :: IORef FuntypeUnmapBuffer
-glrefUnmapBuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUnmapBuffer #-}
-glUnmapBuffer :: MonadIO m =>
-    GLenum ->
-    m ( GLboolean )
-glUnmapBuffer
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefUnmapBuffer)
-      a0
-{-# INLINE glUnmapBuffer #-}
-type FuntypeGetBufferParameteriv =
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetBufferParameteriv :: FunPtr FuntypeGetBufferParameteriv -> FuntypeGetBufferParameteriv
-glrefGetBufferParameteriv :: IORef FuntypeGetBufferParameteriv
-glrefGetBufferParameteriv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetBufferParameteriv #-}
-glGetBufferParameteriv :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetBufferParameteriv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetBufferParameteriv)
-      a0
-      a1
-      a2
-{-# INLINE glGetBufferParameteriv #-}
-type FuntypeGetBufferPointerv =
-    GLenum ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetBufferPointerv :: FunPtr FuntypeGetBufferPointerv -> FuntypeGetBufferPointerv
-glrefGetBufferPointerv :: IORef FuntypeGetBufferPointerv
-glrefGetBufferPointerv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetBufferPointerv #-}
-glGetBufferPointerv :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    m ( () )
-glGetBufferPointerv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetBufferPointerv)
-      a0
-      a1
-      a2
-{-# INLINE glGetBufferPointerv #-}
-
--- GL_VERSION_2_0
-
-type FuntypeBlendEquationSeparate =
-    GLenum ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBlendEquationSeparate :: FunPtr FuntypeBlendEquationSeparate -> FuntypeBlendEquationSeparate
-glrefBlendEquationSeparate :: IORef FuntypeBlendEquationSeparate
-glrefBlendEquationSeparate = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBlendEquationSeparate #-}
-glBlendEquationSeparate :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    m ( () )
-glBlendEquationSeparate
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefBlendEquationSeparate)
-      a0
-      a1
-{-# INLINE glBlendEquationSeparate #-}
-type FuntypeDrawBuffers =
-    GLsizei ->
-    Ptr (GLenum) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDrawBuffers :: FunPtr FuntypeDrawBuffers -> FuntypeDrawBuffers
-glrefDrawBuffers :: IORef FuntypeDrawBuffers
-glrefDrawBuffers = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDrawBuffers #-}
-glDrawBuffers :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLenum) ->
-    m ( () )
-glDrawBuffers
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDrawBuffers)
-      a0
-      a1
-{-# INLINE glDrawBuffers #-}
-type FuntypeStencilOpSeparate =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynStencilOpSeparate :: FunPtr FuntypeStencilOpSeparate -> FuntypeStencilOpSeparate
-glrefStencilOpSeparate :: IORef FuntypeStencilOpSeparate
-glrefStencilOpSeparate = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefStencilOpSeparate #-}
-glStencilOpSeparate :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    m ( () )
-glStencilOpSeparate
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefStencilOpSeparate)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glStencilOpSeparate #-}
-type FuntypeStencilFuncSeparate =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynStencilFuncSeparate :: FunPtr FuntypeStencilFuncSeparate -> FuntypeStencilFuncSeparate
-glrefStencilFuncSeparate :: IORef FuntypeStencilFuncSeparate
-glrefStencilFuncSeparate = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefStencilFuncSeparate #-}
-glStencilFuncSeparate :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLuint ->
-    m ( () )
-glStencilFuncSeparate
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefStencilFuncSeparate)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glStencilFuncSeparate #-}
-type FuntypeStencilMaskSeparate =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynStencilMaskSeparate :: FunPtr FuntypeStencilMaskSeparate -> FuntypeStencilMaskSeparate
-glrefStencilMaskSeparate :: IORef FuntypeStencilMaskSeparate
-glrefStencilMaskSeparate = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefStencilMaskSeparate #-}
-glStencilMaskSeparate :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glStencilMaskSeparate
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefStencilMaskSeparate)
-      a0
-      a1
-{-# INLINE glStencilMaskSeparate #-}
-type FuntypeAttachShader =
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynAttachShader :: FunPtr FuntypeAttachShader -> FuntypeAttachShader
-glrefAttachShader :: IORef FuntypeAttachShader
-glrefAttachShader = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefAttachShader #-}
-glAttachShader :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    m ( () )
-glAttachShader
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefAttachShader)
-      a0
-      a1
-{-# INLINE glAttachShader #-}
-type FuntypeBindAttribLocation =
-    GLuint ->
-    GLuint ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBindAttribLocation :: FunPtr FuntypeBindAttribLocation -> FuntypeBindAttribLocation
-glrefBindAttribLocation :: IORef FuntypeBindAttribLocation
-glrefBindAttribLocation = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBindAttribLocation #-}
-glBindAttribLocation :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    Ptr (GLchar) ->
-    m ( () )
-glBindAttribLocation
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefBindAttribLocation)
-      a0
-      a1
-      a2
-{-# INLINE glBindAttribLocation #-}
-type FuntypeCompileShader =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompileShader :: FunPtr FuntypeCompileShader -> FuntypeCompileShader
-glrefCompileShader :: IORef FuntypeCompileShader
-glrefCompileShader = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompileShader #-}
-glCompileShader :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glCompileShader
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompileShader)
-      a0
-{-# INLINE glCompileShader #-}
-type FuntypeCreateProgram =
-    IO ( GLuint )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCreateProgram :: FunPtr FuntypeCreateProgram -> FuntypeCreateProgram
-glrefCreateProgram :: IORef FuntypeCreateProgram
-glrefCreateProgram = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCreateProgram #-}
-glCreateProgram :: MonadIO m =>
-    m ( GLuint )
-glCreateProgram
-    = liftIO $ (unsafePerformIO $ readIORef glrefCreateProgram)
-{-# INLINE glCreateProgram #-}
-type FuntypeCreateShader =
-    GLenum ->
-    IO ( GLuint )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCreateShader :: FunPtr FuntypeCreateShader -> FuntypeCreateShader
-glrefCreateShader :: IORef FuntypeCreateShader
-glrefCreateShader = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCreateShader #-}
-glCreateShader :: MonadIO m =>
-    GLenum ->
-    m ( GLuint )
-glCreateShader
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefCreateShader)
-      a0
-{-# INLINE glCreateShader #-}
-type FuntypeDeleteProgram =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDeleteProgram :: FunPtr FuntypeDeleteProgram -> FuntypeDeleteProgram
-glrefDeleteProgram :: IORef FuntypeDeleteProgram
-glrefDeleteProgram = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDeleteProgram #-}
-glDeleteProgram :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glDeleteProgram
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefDeleteProgram)
-      a0
-{-# INLINE glDeleteProgram #-}
-type FuntypeDeleteShader =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDeleteShader :: FunPtr FuntypeDeleteShader -> FuntypeDeleteShader
-glrefDeleteShader :: IORef FuntypeDeleteShader
-glrefDeleteShader = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDeleteShader #-}
-glDeleteShader :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glDeleteShader
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefDeleteShader)
-      a0
-{-# INLINE glDeleteShader #-}
-type FuntypeDetachShader =
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDetachShader :: FunPtr FuntypeDetachShader -> FuntypeDetachShader
-glrefDetachShader :: IORef FuntypeDetachShader
-glrefDetachShader = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDetachShader #-}
-glDetachShader :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    m ( () )
-glDetachShader
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDetachShader)
-      a0
-      a1
-{-# INLINE glDetachShader #-}
-type FuntypeDisableVertexAttribArray =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDisableVertexAttribArray :: FunPtr FuntypeDisableVertexAttribArray -> FuntypeDisableVertexAttribArray
-glrefDisableVertexAttribArray :: IORef FuntypeDisableVertexAttribArray
-glrefDisableVertexAttribArray = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDisableVertexAttribArray #-}
-glDisableVertexAttribArray :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glDisableVertexAttribArray
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefDisableVertexAttribArray)
-      a0
-{-# INLINE glDisableVertexAttribArray #-}
-type FuntypeEnableVertexAttribArray =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynEnableVertexAttribArray :: FunPtr FuntypeEnableVertexAttribArray -> FuntypeEnableVertexAttribArray
-glrefEnableVertexAttribArray :: IORef FuntypeEnableVertexAttribArray
-glrefEnableVertexAttribArray = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefEnableVertexAttribArray #-}
-glEnableVertexAttribArray :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glEnableVertexAttribArray
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefEnableVertexAttribArray)
-      a0
-{-# INLINE glEnableVertexAttribArray #-}
-type FuntypeGetActiveAttrib =
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLint) ->
-    Ptr (GLenum) ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetActiveAttrib :: FunPtr FuntypeGetActiveAttrib -> FuntypeGetActiveAttrib
-glrefGetActiveAttrib :: IORef FuntypeGetActiveAttrib
-glrefGetActiveAttrib = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetActiveAttrib #-}
-glGetActiveAttrib :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLint) ->
-    Ptr (GLenum) ->
-    Ptr (GLchar) ->
-    m ( () )
-glGetActiveAttrib
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetActiveAttrib)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glGetActiveAttrib #-}
-type FuntypeGetActiveUniform =
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLint) ->
-    Ptr (GLenum) ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetActiveUniform :: FunPtr FuntypeGetActiveUniform -> FuntypeGetActiveUniform
-glrefGetActiveUniform :: IORef FuntypeGetActiveUniform
-glrefGetActiveUniform = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetActiveUniform #-}
-glGetActiveUniform :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLint) ->
-    Ptr (GLenum) ->
-    Ptr (GLchar) ->
-    m ( () )
-glGetActiveUniform
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetActiveUniform)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glGetActiveUniform #-}
-type FuntypeGetAttachedShaders =
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetAttachedShaders :: FunPtr FuntypeGetAttachedShaders -> FuntypeGetAttachedShaders
-glrefGetAttachedShaders :: IORef FuntypeGetAttachedShaders
-glrefGetAttachedShaders = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetAttachedShaders #-}
-glGetAttachedShaders :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLuint) ->
-    m ( () )
-glGetAttachedShaders
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetAttachedShaders)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetAttachedShaders #-}
-type FuntypeGetAttribLocation =
-    GLuint ->
-    Ptr (GLchar) ->
-    IO ( GLint )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetAttribLocation :: FunPtr FuntypeGetAttribLocation -> FuntypeGetAttribLocation
-glrefGetAttribLocation :: IORef FuntypeGetAttribLocation
-glrefGetAttribLocation = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetAttribLocation #-}
-glGetAttribLocation :: MonadIO m =>
-    GLuint ->
-    Ptr (GLchar) ->
-    m ( GLint )
-glGetAttribLocation
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetAttribLocation)
-      a0
-      a1
-{-# INLINE glGetAttribLocation #-}
-type FuntypeGetProgramiv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetProgramiv :: FunPtr FuntypeGetProgramiv -> FuntypeGetProgramiv
-glrefGetProgramiv :: IORef FuntypeGetProgramiv
-glrefGetProgramiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetProgramiv #-}
-glGetProgramiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetProgramiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetProgramiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetProgramiv #-}
-type FuntypeGetProgramInfoLog =
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetProgramInfoLog :: FunPtr FuntypeGetProgramInfoLog -> FuntypeGetProgramInfoLog
-glrefGetProgramInfoLog :: IORef FuntypeGetProgramInfoLog
-glrefGetProgramInfoLog = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetProgramInfoLog #-}
-glGetProgramInfoLog :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    m ( () )
-glGetProgramInfoLog
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetProgramInfoLog)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetProgramInfoLog #-}
-type FuntypeGetShaderiv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetShaderiv :: FunPtr FuntypeGetShaderiv -> FuntypeGetShaderiv
-glrefGetShaderiv :: IORef FuntypeGetShaderiv
-glrefGetShaderiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetShaderiv #-}
-glGetShaderiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetShaderiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetShaderiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetShaderiv #-}
-type FuntypeGetShaderInfoLog =
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetShaderInfoLog :: FunPtr FuntypeGetShaderInfoLog -> FuntypeGetShaderInfoLog
-glrefGetShaderInfoLog :: IORef FuntypeGetShaderInfoLog
-glrefGetShaderInfoLog = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetShaderInfoLog #-}
-glGetShaderInfoLog :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    m ( () )
-glGetShaderInfoLog
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetShaderInfoLog)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetShaderInfoLog #-}
-type FuntypeGetShaderSource =
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetShaderSource :: FunPtr FuntypeGetShaderSource -> FuntypeGetShaderSource
-glrefGetShaderSource :: IORef FuntypeGetShaderSource
-glrefGetShaderSource = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetShaderSource #-}
-glGetShaderSource :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    m ( () )
-glGetShaderSource
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetShaderSource)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetShaderSource #-}
-type FuntypeGetUniformLocation =
-    GLuint ->
-    Ptr (GLchar) ->
-    IO ( GLint )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetUniformLocation :: FunPtr FuntypeGetUniformLocation -> FuntypeGetUniformLocation
-glrefGetUniformLocation :: IORef FuntypeGetUniformLocation
-glrefGetUniformLocation = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetUniformLocation #-}
-glGetUniformLocation :: MonadIO m =>
-    GLuint ->
-    Ptr (GLchar) ->
-    m ( GLint )
-glGetUniformLocation
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetUniformLocation)
-      a0
-      a1
-{-# INLINE glGetUniformLocation #-}
-type FuntypeGetUniformfv =
-    GLuint ->
-    GLint ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetUniformfv :: FunPtr FuntypeGetUniformfv -> FuntypeGetUniformfv
-glrefGetUniformfv :: IORef FuntypeGetUniformfv
-glrefGetUniformfv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetUniformfv #-}
-glGetUniformfv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetUniformfv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetUniformfv)
-      a0
-      a1
-      a2
-{-# INLINE glGetUniformfv #-}
-type FuntypeGetUniformiv =
-    GLuint ->
-    GLint ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetUniformiv :: FunPtr FuntypeGetUniformiv -> FuntypeGetUniformiv
-glrefGetUniformiv :: IORef FuntypeGetUniformiv
-glrefGetUniformiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetUniformiv #-}
-glGetUniformiv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    Ptr (GLint) ->
-    m ( () )
-glGetUniformiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetUniformiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetUniformiv #-}
-type FuntypeGetVertexAttribdv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetVertexAttribdv :: FunPtr FuntypeGetVertexAttribdv -> FuntypeGetVertexAttribdv
-glrefGetVertexAttribdv :: IORef FuntypeGetVertexAttribdv
-glrefGetVertexAttribdv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetVertexAttribdv #-}
-glGetVertexAttribdv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLdouble) ->
-    m ( () )
-glGetVertexAttribdv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetVertexAttribdv)
-      a0
-      a1
-      a2
-{-# INLINE glGetVertexAttribdv #-}
-type FuntypeGetVertexAttribfv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetVertexAttribfv :: FunPtr FuntypeGetVertexAttribfv -> FuntypeGetVertexAttribfv
-glrefGetVertexAttribfv :: IORef FuntypeGetVertexAttribfv
-glrefGetVertexAttribfv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetVertexAttribfv #-}
-glGetVertexAttribfv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetVertexAttribfv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetVertexAttribfv)
-      a0
-      a1
-      a2
-{-# INLINE glGetVertexAttribfv #-}
-type FuntypeGetVertexAttribiv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetVertexAttribiv :: FunPtr FuntypeGetVertexAttribiv -> FuntypeGetVertexAttribiv
-glrefGetVertexAttribiv :: IORef FuntypeGetVertexAttribiv
-glrefGetVertexAttribiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetVertexAttribiv #-}
-glGetVertexAttribiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetVertexAttribiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetVertexAttribiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetVertexAttribiv #-}
-type FuntypeGetVertexAttribPointerv =
-    GLuint ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetVertexAttribPointerv :: FunPtr FuntypeGetVertexAttribPointerv -> FuntypeGetVertexAttribPointerv
-glrefGetVertexAttribPointerv :: IORef FuntypeGetVertexAttribPointerv
-glrefGetVertexAttribPointerv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetVertexAttribPointerv #-}
-glGetVertexAttribPointerv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    m ( () )
-glGetVertexAttribPointerv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetVertexAttribPointerv)
-      a0
-      a1
-      a2
-{-# INLINE glGetVertexAttribPointerv #-}
-type FuntypeIsProgram =
-    GLuint ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsProgram :: FunPtr FuntypeIsProgram -> FuntypeIsProgram
-glrefIsProgram :: IORef FuntypeIsProgram
-glrefIsProgram = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsProgram #-}
-glIsProgram :: MonadIO m =>
-    GLuint ->
-    m ( GLboolean )
-glIsProgram
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsProgram)
-      a0
-{-# INLINE glIsProgram #-}
-type FuntypeIsShader =
-    GLuint ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsShader :: FunPtr FuntypeIsShader -> FuntypeIsShader
-glrefIsShader :: IORef FuntypeIsShader
-glrefIsShader = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsShader #-}
-glIsShader :: MonadIO m =>
-    GLuint ->
-    m ( GLboolean )
-glIsShader
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsShader)
-      a0
-{-# INLINE glIsShader #-}
-type FuntypeLinkProgram =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynLinkProgram :: FunPtr FuntypeLinkProgram -> FuntypeLinkProgram
-glrefLinkProgram :: IORef FuntypeLinkProgram
-glrefLinkProgram = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefLinkProgram #-}
-glLinkProgram :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glLinkProgram
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefLinkProgram)
-      a0
-{-# INLINE glLinkProgram #-}
-type FuntypeShaderSource =
-    GLuint ->
-    GLsizei ->
-    Ptr (Ptr (GLchar)) ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynShaderSource :: FunPtr FuntypeShaderSource -> FuntypeShaderSource
-glrefShaderSource :: IORef FuntypeShaderSource
-glrefShaderSource = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefShaderSource #-}
-glShaderSource :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    Ptr (Ptr (GLchar)) ->
-    Ptr (GLint) ->
-    m ( () )
-glShaderSource
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefShaderSource)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glShaderSource #-}
-type FuntypeUseProgram =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUseProgram :: FunPtr FuntypeUseProgram -> FuntypeUseProgram
-glrefUseProgram :: IORef FuntypeUseProgram
-glrefUseProgram = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUseProgram #-}
-glUseProgram :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glUseProgram
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefUseProgram)
-      a0
-{-# INLINE glUseProgram #-}
-type FuntypeUniform1f =
-    GLint ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform1f :: FunPtr FuntypeUniform1f -> FuntypeUniform1f
-glrefUniform1f :: IORef FuntypeUniform1f
-glrefUniform1f = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform1f #-}
-glUniform1f :: MonadIO m =>
-    GLint ->
-    GLfloat ->
-    m ( () )
-glUniform1f
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform1f)
-      a0
-      a1
-{-# INLINE glUniform1f #-}
-type FuntypeUniform2f =
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform2f :: FunPtr FuntypeUniform2f -> FuntypeUniform2f
-glrefUniform2f :: IORef FuntypeUniform2f
-glrefUniform2f = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform2f #-}
-glUniform2f :: MonadIO m =>
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glUniform2f
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform2f)
-      a0
-      a1
-      a2
-{-# INLINE glUniform2f #-}
-type FuntypeUniform3f =
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform3f :: FunPtr FuntypeUniform3f -> FuntypeUniform3f
-glrefUniform3f :: IORef FuntypeUniform3f
-glrefUniform3f = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform3f #-}
-glUniform3f :: MonadIO m =>
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glUniform3f
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform3f)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glUniform3f #-}
-type FuntypeUniform4f =
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform4f :: FunPtr FuntypeUniform4f -> FuntypeUniform4f
-glrefUniform4f :: IORef FuntypeUniform4f
-glrefUniform4f = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform4f #-}
-glUniform4f :: MonadIO m =>
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glUniform4f
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform4f)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glUniform4f #-}
-type FuntypeUniform1i =
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform1i :: FunPtr FuntypeUniform1i -> FuntypeUniform1i
-glrefUniform1i :: IORef FuntypeUniform1i
-glrefUniform1i = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform1i #-}
-glUniform1i :: MonadIO m =>
-    GLint ->
-    GLint ->
-    m ( () )
-glUniform1i
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform1i)
-      a0
-      a1
-{-# INLINE glUniform1i #-}
-type FuntypeUniform2i =
-    GLint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform2i :: FunPtr FuntypeUniform2i -> FuntypeUniform2i
-glrefUniform2i :: IORef FuntypeUniform2i
-glrefUniform2i = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform2i #-}
-glUniform2i :: MonadIO m =>
-    GLint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glUniform2i
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform2i)
-      a0
-      a1
-      a2
-{-# INLINE glUniform2i #-}
-type FuntypeUniform3i =
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform3i :: FunPtr FuntypeUniform3i -> FuntypeUniform3i
-glrefUniform3i :: IORef FuntypeUniform3i
-glrefUniform3i = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform3i #-}
-glUniform3i :: MonadIO m =>
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glUniform3i
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform3i)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glUniform3i #-}
-type FuntypeUniform4i =
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform4i :: FunPtr FuntypeUniform4i -> FuntypeUniform4i
-glrefUniform4i :: IORef FuntypeUniform4i
-glrefUniform4i = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform4i #-}
-glUniform4i :: MonadIO m =>
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glUniform4i
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform4i)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glUniform4i #-}
-type FuntypeUniform1fv =
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform1fv :: FunPtr FuntypeUniform1fv -> FuntypeUniform1fv
-glrefUniform1fv :: IORef FuntypeUniform1fv
-glrefUniform1fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform1fv #-}
-glUniform1fv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    m ( () )
-glUniform1fv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform1fv)
-      a0
-      a1
-      a2
-{-# INLINE glUniform1fv #-}
-type FuntypeUniform2fv =
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform2fv :: FunPtr FuntypeUniform2fv -> FuntypeUniform2fv
-glrefUniform2fv :: IORef FuntypeUniform2fv
-glrefUniform2fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform2fv #-}
-glUniform2fv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    m ( () )
-glUniform2fv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform2fv)
-      a0
-      a1
-      a2
-{-# INLINE glUniform2fv #-}
-type FuntypeUniform3fv =
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform3fv :: FunPtr FuntypeUniform3fv -> FuntypeUniform3fv
-glrefUniform3fv :: IORef FuntypeUniform3fv
-glrefUniform3fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform3fv #-}
-glUniform3fv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    m ( () )
-glUniform3fv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform3fv)
-      a0
-      a1
-      a2
-{-# INLINE glUniform3fv #-}
-type FuntypeUniform4fv =
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform4fv :: FunPtr FuntypeUniform4fv -> FuntypeUniform4fv
-glrefUniform4fv :: IORef FuntypeUniform4fv
-glrefUniform4fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform4fv #-}
-glUniform4fv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    m ( () )
-glUniform4fv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform4fv)
-      a0
-      a1
-      a2
-{-# INLINE glUniform4fv #-}
-type FuntypeUniform1iv =
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform1iv :: FunPtr FuntypeUniform1iv -> FuntypeUniform1iv
-glrefUniform1iv :: IORef FuntypeUniform1iv
-glrefUniform1iv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform1iv #-}
-glUniform1iv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glUniform1iv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform1iv)
-      a0
-      a1
-      a2
-{-# INLINE glUniform1iv #-}
-type FuntypeUniform2iv =
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform2iv :: FunPtr FuntypeUniform2iv -> FuntypeUniform2iv
-glrefUniform2iv :: IORef FuntypeUniform2iv
-glrefUniform2iv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform2iv #-}
-glUniform2iv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glUniform2iv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform2iv)
-      a0
-      a1
-      a2
-{-# INLINE glUniform2iv #-}
-type FuntypeUniform3iv =
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform3iv :: FunPtr FuntypeUniform3iv -> FuntypeUniform3iv
-glrefUniform3iv :: IORef FuntypeUniform3iv
-glrefUniform3iv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform3iv #-}
-glUniform3iv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glUniform3iv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform3iv)
-      a0
-      a1
-      a2
-{-# INLINE glUniform3iv #-}
-type FuntypeUniform4iv =
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform4iv :: FunPtr FuntypeUniform4iv -> FuntypeUniform4iv
-glrefUniform4iv :: IORef FuntypeUniform4iv
-glrefUniform4iv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform4iv #-}
-glUniform4iv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glUniform4iv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform4iv)
-      a0
-      a1
-      a2
-{-# INLINE glUniform4iv #-}
-type FuntypeUniformMatrix2fv =
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniformMatrix2fv :: FunPtr FuntypeUniformMatrix2fv -> FuntypeUniformMatrix2fv
-glrefUniformMatrix2fv :: IORef FuntypeUniformMatrix2fv
-glrefUniformMatrix2fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniformMatrix2fv #-}
-glUniformMatrix2fv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glUniformMatrix2fv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniformMatrix2fv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glUniformMatrix2fv #-}
-type FuntypeUniformMatrix3fv =
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniformMatrix3fv :: FunPtr FuntypeUniformMatrix3fv -> FuntypeUniformMatrix3fv
-glrefUniformMatrix3fv :: IORef FuntypeUniformMatrix3fv
-glrefUniformMatrix3fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniformMatrix3fv #-}
-glUniformMatrix3fv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glUniformMatrix3fv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniformMatrix3fv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glUniformMatrix3fv #-}
-type FuntypeUniformMatrix4fv =
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniformMatrix4fv :: FunPtr FuntypeUniformMatrix4fv -> FuntypeUniformMatrix4fv
-glrefUniformMatrix4fv :: IORef FuntypeUniformMatrix4fv
-glrefUniformMatrix4fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniformMatrix4fv #-}
-glUniformMatrix4fv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glUniformMatrix4fv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniformMatrix4fv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glUniformMatrix4fv #-}
-type FuntypeValidateProgram =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynValidateProgram :: FunPtr FuntypeValidateProgram -> FuntypeValidateProgram
-glrefValidateProgram :: IORef FuntypeValidateProgram
-glrefValidateProgram = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefValidateProgram #-}
-glValidateProgram :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glValidateProgram
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefValidateProgram)
-      a0
-{-# INLINE glValidateProgram #-}
-type FuntypeVertexAttrib1d =
-    GLuint ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib1d :: FunPtr FuntypeVertexAttrib1d -> FuntypeVertexAttrib1d
-glrefVertexAttrib1d :: IORef FuntypeVertexAttrib1d
-glrefVertexAttrib1d = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib1d #-}
-glVertexAttrib1d :: MonadIO m =>
-    GLuint ->
-    GLdouble ->
-    m ( () )
-glVertexAttrib1d
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib1d)
-      a0
-      a1
-{-# INLINE glVertexAttrib1d #-}
-type FuntypeVertexAttrib1dv =
-    GLuint ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib1dv :: FunPtr FuntypeVertexAttrib1dv -> FuntypeVertexAttrib1dv
-glrefVertexAttrib1dv :: IORef FuntypeVertexAttrib1dv
-glrefVertexAttrib1dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib1dv #-}
-glVertexAttrib1dv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLdouble) ->
-    m ( () )
-glVertexAttrib1dv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib1dv)
-      a0
-      a1
-{-# INLINE glVertexAttrib1dv #-}
-type FuntypeVertexAttrib1f =
-    GLuint ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib1f :: FunPtr FuntypeVertexAttrib1f -> FuntypeVertexAttrib1f
-glrefVertexAttrib1f :: IORef FuntypeVertexAttrib1f
-glrefVertexAttrib1f = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib1f #-}
-glVertexAttrib1f :: MonadIO m =>
-    GLuint ->
-    GLfloat ->
-    m ( () )
-glVertexAttrib1f
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib1f)
-      a0
-      a1
-{-# INLINE glVertexAttrib1f #-}
-type FuntypeVertexAttrib1fv =
-    GLuint ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib1fv :: FunPtr FuntypeVertexAttrib1fv -> FuntypeVertexAttrib1fv
-glrefVertexAttrib1fv :: IORef FuntypeVertexAttrib1fv
-glrefVertexAttrib1fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib1fv #-}
-glVertexAttrib1fv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLfloat) ->
-    m ( () )
-glVertexAttrib1fv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib1fv)
-      a0
-      a1
-{-# INLINE glVertexAttrib1fv #-}
-type FuntypeVertexAttrib1s =
-    GLuint ->
-    GLshort ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib1s :: FunPtr FuntypeVertexAttrib1s -> FuntypeVertexAttrib1s
-glrefVertexAttrib1s :: IORef FuntypeVertexAttrib1s
-glrefVertexAttrib1s = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib1s #-}
-glVertexAttrib1s :: MonadIO m =>
-    GLuint ->
-    GLshort ->
-    m ( () )
-glVertexAttrib1s
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib1s)
-      a0
-      a1
-{-# INLINE glVertexAttrib1s #-}
-type FuntypeVertexAttrib1sv =
-    GLuint ->
-    Ptr (GLshort) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib1sv :: FunPtr FuntypeVertexAttrib1sv -> FuntypeVertexAttrib1sv
-glrefVertexAttrib1sv :: IORef FuntypeVertexAttrib1sv
-glrefVertexAttrib1sv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib1sv #-}
-glVertexAttrib1sv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLshort) ->
-    m ( () )
-glVertexAttrib1sv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib1sv)
-      a0
-      a1
-{-# INLINE glVertexAttrib1sv #-}
-type FuntypeVertexAttrib2d =
-    GLuint ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib2d :: FunPtr FuntypeVertexAttrib2d -> FuntypeVertexAttrib2d
-glrefVertexAttrib2d :: IORef FuntypeVertexAttrib2d
-glrefVertexAttrib2d = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib2d #-}
-glVertexAttrib2d :: MonadIO m =>
-    GLuint ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glVertexAttrib2d
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib2d)
-      a0
-      a1
-      a2
-{-# INLINE glVertexAttrib2d #-}
-type FuntypeVertexAttrib2dv =
-    GLuint ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib2dv :: FunPtr FuntypeVertexAttrib2dv -> FuntypeVertexAttrib2dv
-glrefVertexAttrib2dv :: IORef FuntypeVertexAttrib2dv
-glrefVertexAttrib2dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib2dv #-}
-glVertexAttrib2dv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLdouble) ->
-    m ( () )
-glVertexAttrib2dv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib2dv)
-      a0
-      a1
-{-# INLINE glVertexAttrib2dv #-}
-type FuntypeVertexAttrib2f =
-    GLuint ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib2f :: FunPtr FuntypeVertexAttrib2f -> FuntypeVertexAttrib2f
-glrefVertexAttrib2f :: IORef FuntypeVertexAttrib2f
-glrefVertexAttrib2f = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib2f #-}
-glVertexAttrib2f :: MonadIO m =>
-    GLuint ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glVertexAttrib2f
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib2f)
-      a0
-      a1
-      a2
-{-# INLINE glVertexAttrib2f #-}
-type FuntypeVertexAttrib2fv =
-    GLuint ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib2fv :: FunPtr FuntypeVertexAttrib2fv -> FuntypeVertexAttrib2fv
-glrefVertexAttrib2fv :: IORef FuntypeVertexAttrib2fv
-glrefVertexAttrib2fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib2fv #-}
-glVertexAttrib2fv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLfloat) ->
-    m ( () )
-glVertexAttrib2fv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib2fv)
-      a0
-      a1
-{-# INLINE glVertexAttrib2fv #-}
-type FuntypeVertexAttrib2s =
-    GLuint ->
-    GLshort ->
-    GLshort ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib2s :: FunPtr FuntypeVertexAttrib2s -> FuntypeVertexAttrib2s
-glrefVertexAttrib2s :: IORef FuntypeVertexAttrib2s
-glrefVertexAttrib2s = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib2s #-}
-glVertexAttrib2s :: MonadIO m =>
-    GLuint ->
-    GLshort ->
-    GLshort ->
-    m ( () )
-glVertexAttrib2s
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib2s)
-      a0
-      a1
-      a2
-{-# INLINE glVertexAttrib2s #-}
-type FuntypeVertexAttrib2sv =
-    GLuint ->
-    Ptr (GLshort) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib2sv :: FunPtr FuntypeVertexAttrib2sv -> FuntypeVertexAttrib2sv
-glrefVertexAttrib2sv :: IORef FuntypeVertexAttrib2sv
-glrefVertexAttrib2sv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib2sv #-}
-glVertexAttrib2sv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLshort) ->
-    m ( () )
-glVertexAttrib2sv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib2sv)
-      a0
-      a1
-{-# INLINE glVertexAttrib2sv #-}
-type FuntypeVertexAttrib3d =
-    GLuint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib3d :: FunPtr FuntypeVertexAttrib3d -> FuntypeVertexAttrib3d
-glrefVertexAttrib3d :: IORef FuntypeVertexAttrib3d
-glrefVertexAttrib3d = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib3d #-}
-glVertexAttrib3d :: MonadIO m =>
-    GLuint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glVertexAttrib3d
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib3d)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexAttrib3d #-}
-type FuntypeVertexAttrib3dv =
-    GLuint ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib3dv :: FunPtr FuntypeVertexAttrib3dv -> FuntypeVertexAttrib3dv
-glrefVertexAttrib3dv :: IORef FuntypeVertexAttrib3dv
-glrefVertexAttrib3dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib3dv #-}
-glVertexAttrib3dv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLdouble) ->
-    m ( () )
-glVertexAttrib3dv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib3dv)
-      a0
-      a1
-{-# INLINE glVertexAttrib3dv #-}
-type FuntypeVertexAttrib3f =
-    GLuint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib3f :: FunPtr FuntypeVertexAttrib3f -> FuntypeVertexAttrib3f
-glrefVertexAttrib3f :: IORef FuntypeVertexAttrib3f
-glrefVertexAttrib3f = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib3f #-}
-glVertexAttrib3f :: MonadIO m =>
-    GLuint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glVertexAttrib3f
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib3f)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexAttrib3f #-}
-type FuntypeVertexAttrib3fv =
-    GLuint ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib3fv :: FunPtr FuntypeVertexAttrib3fv -> FuntypeVertexAttrib3fv
-glrefVertexAttrib3fv :: IORef FuntypeVertexAttrib3fv
-glrefVertexAttrib3fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib3fv #-}
-glVertexAttrib3fv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLfloat) ->
-    m ( () )
-glVertexAttrib3fv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib3fv)
-      a0
-      a1
-{-# INLINE glVertexAttrib3fv #-}
-type FuntypeVertexAttrib3s =
-    GLuint ->
-    GLshort ->
-    GLshort ->
-    GLshort ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib3s :: FunPtr FuntypeVertexAttrib3s -> FuntypeVertexAttrib3s
-glrefVertexAttrib3s :: IORef FuntypeVertexAttrib3s
-glrefVertexAttrib3s = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib3s #-}
-glVertexAttrib3s :: MonadIO m =>
-    GLuint ->
-    GLshort ->
-    GLshort ->
-    GLshort ->
-    m ( () )
-glVertexAttrib3s
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib3s)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexAttrib3s #-}
-type FuntypeVertexAttrib3sv =
-    GLuint ->
-    Ptr (GLshort) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib3sv :: FunPtr FuntypeVertexAttrib3sv -> FuntypeVertexAttrib3sv
-glrefVertexAttrib3sv :: IORef FuntypeVertexAttrib3sv
-glrefVertexAttrib3sv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib3sv #-}
-glVertexAttrib3sv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLshort) ->
-    m ( () )
-glVertexAttrib3sv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib3sv)
-      a0
-      a1
-{-# INLINE glVertexAttrib3sv #-}
-type FuntypeVertexAttrib4Nbv =
-    GLuint ->
-    Ptr (GLbyte) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4Nbv :: FunPtr FuntypeVertexAttrib4Nbv -> FuntypeVertexAttrib4Nbv
-glrefVertexAttrib4Nbv :: IORef FuntypeVertexAttrib4Nbv
-glrefVertexAttrib4Nbv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4Nbv #-}
-glVertexAttrib4Nbv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLbyte) ->
-    m ( () )
-glVertexAttrib4Nbv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4Nbv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4Nbv #-}
-type FuntypeVertexAttrib4Niv =
-    GLuint ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4Niv :: FunPtr FuntypeVertexAttrib4Niv -> FuntypeVertexAttrib4Niv
-glrefVertexAttrib4Niv :: IORef FuntypeVertexAttrib4Niv
-glrefVertexAttrib4Niv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4Niv #-}
-glVertexAttrib4Niv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLint) ->
-    m ( () )
-glVertexAttrib4Niv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4Niv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4Niv #-}
-type FuntypeVertexAttrib4Nsv =
-    GLuint ->
-    Ptr (GLshort) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4Nsv :: FunPtr FuntypeVertexAttrib4Nsv -> FuntypeVertexAttrib4Nsv
-glrefVertexAttrib4Nsv :: IORef FuntypeVertexAttrib4Nsv
-glrefVertexAttrib4Nsv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4Nsv #-}
-glVertexAttrib4Nsv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLshort) ->
-    m ( () )
-glVertexAttrib4Nsv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4Nsv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4Nsv #-}
-type FuntypeVertexAttrib4Nub =
-    GLuint ->
-    GLubyte ->
-    GLubyte ->
-    GLubyte ->
-    GLubyte ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4Nub :: FunPtr FuntypeVertexAttrib4Nub -> FuntypeVertexAttrib4Nub
-glrefVertexAttrib4Nub :: IORef FuntypeVertexAttrib4Nub
-glrefVertexAttrib4Nub = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4Nub #-}
-glVertexAttrib4Nub :: MonadIO m =>
-    GLuint ->
-    GLubyte ->
-    GLubyte ->
-    GLubyte ->
-    GLubyte ->
-    m ( () )
-glVertexAttrib4Nub
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4Nub)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glVertexAttrib4Nub #-}
-type FuntypeVertexAttrib4Nubv =
-    GLuint ->
-    Ptr (GLubyte) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4Nubv :: FunPtr FuntypeVertexAttrib4Nubv -> FuntypeVertexAttrib4Nubv
-glrefVertexAttrib4Nubv :: IORef FuntypeVertexAttrib4Nubv
-glrefVertexAttrib4Nubv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4Nubv #-}
-glVertexAttrib4Nubv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLubyte) ->
-    m ( () )
-glVertexAttrib4Nubv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4Nubv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4Nubv #-}
-type FuntypeVertexAttrib4Nuiv =
-    GLuint ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4Nuiv :: FunPtr FuntypeVertexAttrib4Nuiv -> FuntypeVertexAttrib4Nuiv
-glrefVertexAttrib4Nuiv :: IORef FuntypeVertexAttrib4Nuiv
-glrefVertexAttrib4Nuiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4Nuiv #-}
-glVertexAttrib4Nuiv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLuint) ->
-    m ( () )
-glVertexAttrib4Nuiv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4Nuiv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4Nuiv #-}
-type FuntypeVertexAttrib4Nusv =
-    GLuint ->
-    Ptr (GLushort) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4Nusv :: FunPtr FuntypeVertexAttrib4Nusv -> FuntypeVertexAttrib4Nusv
-glrefVertexAttrib4Nusv :: IORef FuntypeVertexAttrib4Nusv
-glrefVertexAttrib4Nusv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4Nusv #-}
-glVertexAttrib4Nusv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLushort) ->
-    m ( () )
-glVertexAttrib4Nusv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4Nusv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4Nusv #-}
-type FuntypeVertexAttrib4bv =
-    GLuint ->
-    Ptr (GLbyte) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4bv :: FunPtr FuntypeVertexAttrib4bv -> FuntypeVertexAttrib4bv
-glrefVertexAttrib4bv :: IORef FuntypeVertexAttrib4bv
-glrefVertexAttrib4bv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4bv #-}
-glVertexAttrib4bv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLbyte) ->
-    m ( () )
-glVertexAttrib4bv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4bv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4bv #-}
-type FuntypeVertexAttrib4d =
-    GLuint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4d :: FunPtr FuntypeVertexAttrib4d -> FuntypeVertexAttrib4d
-glrefVertexAttrib4d :: IORef FuntypeVertexAttrib4d
-glrefVertexAttrib4d = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4d #-}
-glVertexAttrib4d :: MonadIO m =>
-    GLuint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glVertexAttrib4d
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4d)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glVertexAttrib4d #-}
-type FuntypeVertexAttrib4dv =
-    GLuint ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4dv :: FunPtr FuntypeVertexAttrib4dv -> FuntypeVertexAttrib4dv
-glrefVertexAttrib4dv :: IORef FuntypeVertexAttrib4dv
-glrefVertexAttrib4dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4dv #-}
-glVertexAttrib4dv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLdouble) ->
-    m ( () )
-glVertexAttrib4dv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4dv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4dv #-}
-type FuntypeVertexAttrib4f =
-    GLuint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4f :: FunPtr FuntypeVertexAttrib4f -> FuntypeVertexAttrib4f
-glrefVertexAttrib4f :: IORef FuntypeVertexAttrib4f
-glrefVertexAttrib4f = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4f #-}
-glVertexAttrib4f :: MonadIO m =>
-    GLuint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glVertexAttrib4f
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4f)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glVertexAttrib4f #-}
-type FuntypeVertexAttrib4fv =
-    GLuint ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4fv :: FunPtr FuntypeVertexAttrib4fv -> FuntypeVertexAttrib4fv
-glrefVertexAttrib4fv :: IORef FuntypeVertexAttrib4fv
-glrefVertexAttrib4fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4fv #-}
-glVertexAttrib4fv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLfloat) ->
-    m ( () )
-glVertexAttrib4fv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4fv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4fv #-}
-type FuntypeVertexAttrib4iv =
-    GLuint ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4iv :: FunPtr FuntypeVertexAttrib4iv -> FuntypeVertexAttrib4iv
-glrefVertexAttrib4iv :: IORef FuntypeVertexAttrib4iv
-glrefVertexAttrib4iv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4iv #-}
-glVertexAttrib4iv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLint) ->
-    m ( () )
-glVertexAttrib4iv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4iv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4iv #-}
-type FuntypeVertexAttrib4s =
-    GLuint ->
-    GLshort ->
-    GLshort ->
-    GLshort ->
-    GLshort ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4s :: FunPtr FuntypeVertexAttrib4s -> FuntypeVertexAttrib4s
-glrefVertexAttrib4s :: IORef FuntypeVertexAttrib4s
-glrefVertexAttrib4s = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4s #-}
-glVertexAttrib4s :: MonadIO m =>
-    GLuint ->
-    GLshort ->
-    GLshort ->
-    GLshort ->
-    GLshort ->
-    m ( () )
-glVertexAttrib4s
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4s)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glVertexAttrib4s #-}
-type FuntypeVertexAttrib4sv =
-    GLuint ->
-    Ptr (GLshort) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4sv :: FunPtr FuntypeVertexAttrib4sv -> FuntypeVertexAttrib4sv
-glrefVertexAttrib4sv :: IORef FuntypeVertexAttrib4sv
-glrefVertexAttrib4sv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4sv #-}
-glVertexAttrib4sv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLshort) ->
-    m ( () )
-glVertexAttrib4sv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4sv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4sv #-}
-type FuntypeVertexAttrib4ubv =
-    GLuint ->
-    Ptr (GLubyte) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4ubv :: FunPtr FuntypeVertexAttrib4ubv -> FuntypeVertexAttrib4ubv
-glrefVertexAttrib4ubv :: IORef FuntypeVertexAttrib4ubv
-glrefVertexAttrib4ubv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4ubv #-}
-glVertexAttrib4ubv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLubyte) ->
-    m ( () )
-glVertexAttrib4ubv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4ubv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4ubv #-}
-type FuntypeVertexAttrib4uiv =
-    GLuint ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4uiv :: FunPtr FuntypeVertexAttrib4uiv -> FuntypeVertexAttrib4uiv
-glrefVertexAttrib4uiv :: IORef FuntypeVertexAttrib4uiv
-glrefVertexAttrib4uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4uiv #-}
-glVertexAttrib4uiv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLuint) ->
-    m ( () )
-glVertexAttrib4uiv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4uiv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4uiv #-}
-type FuntypeVertexAttrib4usv =
-    GLuint ->
-    Ptr (GLushort) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttrib4usv :: FunPtr FuntypeVertexAttrib4usv -> FuntypeVertexAttrib4usv
-glrefVertexAttrib4usv :: IORef FuntypeVertexAttrib4usv
-glrefVertexAttrib4usv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttrib4usv #-}
-glVertexAttrib4usv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLushort) ->
-    m ( () )
-glVertexAttrib4usv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttrib4usv)
-      a0
-      a1
-{-# INLINE glVertexAttrib4usv #-}
-type FuntypeVertexAttribPointer =
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLboolean ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribPointer :: FunPtr FuntypeVertexAttribPointer -> FuntypeVertexAttribPointer
-glrefVertexAttribPointer :: IORef FuntypeVertexAttribPointer
-glrefVertexAttribPointer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribPointer #-}
-glVertexAttribPointer :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLboolean ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glVertexAttribPointer
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribPointer)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glVertexAttribPointer #-}
-
--- GL_VERSION_2_1
-
-type FuntypeUniformMatrix2x3fv =
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniformMatrix2x3fv :: FunPtr FuntypeUniformMatrix2x3fv -> FuntypeUniformMatrix2x3fv
-glrefUniformMatrix2x3fv :: IORef FuntypeUniformMatrix2x3fv
-glrefUniformMatrix2x3fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniformMatrix2x3fv #-}
-glUniformMatrix2x3fv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glUniformMatrix2x3fv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniformMatrix2x3fv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glUniformMatrix2x3fv #-}
-type FuntypeUniformMatrix3x2fv =
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniformMatrix3x2fv :: FunPtr FuntypeUniformMatrix3x2fv -> FuntypeUniformMatrix3x2fv
-glrefUniformMatrix3x2fv :: IORef FuntypeUniformMatrix3x2fv
-glrefUniformMatrix3x2fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniformMatrix3x2fv #-}
-glUniformMatrix3x2fv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glUniformMatrix3x2fv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniformMatrix3x2fv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glUniformMatrix3x2fv #-}
-type FuntypeUniformMatrix2x4fv =
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniformMatrix2x4fv :: FunPtr FuntypeUniformMatrix2x4fv -> FuntypeUniformMatrix2x4fv
-glrefUniformMatrix2x4fv :: IORef FuntypeUniformMatrix2x4fv
-glrefUniformMatrix2x4fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniformMatrix2x4fv #-}
-glUniformMatrix2x4fv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glUniformMatrix2x4fv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniformMatrix2x4fv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glUniformMatrix2x4fv #-}
-type FuntypeUniformMatrix4x2fv =
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniformMatrix4x2fv :: FunPtr FuntypeUniformMatrix4x2fv -> FuntypeUniformMatrix4x2fv
-glrefUniformMatrix4x2fv :: IORef FuntypeUniformMatrix4x2fv
-glrefUniformMatrix4x2fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniformMatrix4x2fv #-}
-glUniformMatrix4x2fv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glUniformMatrix4x2fv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniformMatrix4x2fv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glUniformMatrix4x2fv #-}
-type FuntypeUniformMatrix3x4fv =
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniformMatrix3x4fv :: FunPtr FuntypeUniformMatrix3x4fv -> FuntypeUniformMatrix3x4fv
-glrefUniformMatrix3x4fv :: IORef FuntypeUniformMatrix3x4fv
-glrefUniformMatrix3x4fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniformMatrix3x4fv #-}
-glUniformMatrix3x4fv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glUniformMatrix3x4fv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniformMatrix3x4fv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glUniformMatrix3x4fv #-}
-type FuntypeUniformMatrix4x3fv =
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniformMatrix4x3fv :: FunPtr FuntypeUniformMatrix4x3fv -> FuntypeUniformMatrix4x3fv
-glrefUniformMatrix4x3fv :: IORef FuntypeUniformMatrix4x3fv
-glrefUniformMatrix4x3fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniformMatrix4x3fv #-}
-glUniformMatrix4x3fv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glUniformMatrix4x3fv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniformMatrix4x3fv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glUniformMatrix4x3fv #-}
-
--- GL_VERSION_3_0
-
-type FuntypeColorMaski =
-    GLuint ->
-    GLboolean ->
-    GLboolean ->
-    GLboolean ->
-    GLboolean ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynColorMaski :: FunPtr FuntypeColorMaski -> FuntypeColorMaski
-glrefColorMaski :: IORef FuntypeColorMaski
-glrefColorMaski = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefColorMaski #-}
-glColorMaski :: MonadIO m =>
-    GLuint ->
-    GLboolean ->
-    GLboolean ->
-    GLboolean ->
-    GLboolean ->
-    m ( () )
-glColorMaski
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefColorMaski)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glColorMaski #-}
-type FuntypeGetBooleani_v =
-    GLenum ->
-    GLuint ->
-    Ptr (GLboolean) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetBooleani_v :: FunPtr FuntypeGetBooleani_v -> FuntypeGetBooleani_v
-glrefGetBooleani_v :: IORef FuntypeGetBooleani_v
-glrefGetBooleani_v = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetBooleani_v #-}
-glGetBooleani_v :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    Ptr (GLboolean) ->
-    m ( () )
-glGetBooleani_v
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetBooleani_v)
-      a0
-      a1
-      a2
-{-# INLINE glGetBooleani_v #-}
-type FuntypeGetIntegeri_v =
-    GLenum ->
-    GLuint ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetIntegeri_v :: FunPtr FuntypeGetIntegeri_v -> FuntypeGetIntegeri_v
-glrefGetIntegeri_v :: IORef FuntypeGetIntegeri_v
-glrefGetIntegeri_v = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetIntegeri_v #-}
-glGetIntegeri_v :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    Ptr (GLint) ->
-    m ( () )
-glGetIntegeri_v
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetIntegeri_v)
-      a0
-      a1
-      a2
-{-# INLINE glGetIntegeri_v #-}
-type FuntypeEnablei =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynEnablei :: FunPtr FuntypeEnablei -> FuntypeEnablei
-glrefEnablei :: IORef FuntypeEnablei
-glrefEnablei = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefEnablei #-}
-glEnablei :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glEnablei
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefEnablei)
-      a0
-      a1
-{-# INLINE glEnablei #-}
-type FuntypeDisablei =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDisablei :: FunPtr FuntypeDisablei -> FuntypeDisablei
-glrefDisablei :: IORef FuntypeDisablei
-glrefDisablei = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDisablei #-}
-glDisablei :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glDisablei
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDisablei)
-      a0
-      a1
-{-# INLINE glDisablei #-}
-type FuntypeIsEnabledi =
-    GLenum ->
-    GLuint ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsEnabledi :: FunPtr FuntypeIsEnabledi -> FuntypeIsEnabledi
-glrefIsEnabledi :: IORef FuntypeIsEnabledi
-glrefIsEnabledi = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsEnabledi #-}
-glIsEnabledi :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( GLboolean )
-glIsEnabledi
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsEnabledi)
-      a0
-      a1
-{-# INLINE glIsEnabledi #-}
-type FuntypeBeginTransformFeedback =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBeginTransformFeedback :: FunPtr FuntypeBeginTransformFeedback -> FuntypeBeginTransformFeedback
-glrefBeginTransformFeedback :: IORef FuntypeBeginTransformFeedback
-glrefBeginTransformFeedback = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBeginTransformFeedback #-}
-glBeginTransformFeedback :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glBeginTransformFeedback
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefBeginTransformFeedback)
-      a0
-{-# INLINE glBeginTransformFeedback #-}
-type FuntypeEndTransformFeedback =
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynEndTransformFeedback :: FunPtr FuntypeEndTransformFeedback -> FuntypeEndTransformFeedback
-glrefEndTransformFeedback :: IORef FuntypeEndTransformFeedback
-glrefEndTransformFeedback = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefEndTransformFeedback #-}
-glEndTransformFeedback :: MonadIO m =>
-    m ( () )
-glEndTransformFeedback
-    = liftIO $ (unsafePerformIO $ readIORef glrefEndTransformFeedback)
-{-# INLINE glEndTransformFeedback #-}
-type FuntypeBindBufferRange =
-    GLenum ->
-    GLuint ->
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBindBufferRange :: FunPtr FuntypeBindBufferRange -> FuntypeBindBufferRange
-glrefBindBufferRange :: IORef FuntypeBindBufferRange
-glrefBindBufferRange = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBindBufferRange #-}
-glBindBufferRange :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    m ( () )
-glBindBufferRange
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefBindBufferRange)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glBindBufferRange #-}
-type FuntypeBindBufferBase =
-    GLenum ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBindBufferBase :: FunPtr FuntypeBindBufferBase -> FuntypeBindBufferBase
-glrefBindBufferBase :: IORef FuntypeBindBufferBase
-glrefBindBufferBase = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBindBufferBase #-}
-glBindBufferBase :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glBindBufferBase
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefBindBufferBase)
-      a0
-      a1
-      a2
-{-# INLINE glBindBufferBase #-}
-type FuntypeTransformFeedbackVaryings =
-    GLuint ->
-    GLsizei ->
-    Ptr (Ptr (GLchar)) ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTransformFeedbackVaryings :: FunPtr FuntypeTransformFeedbackVaryings -> FuntypeTransformFeedbackVaryings
-glrefTransformFeedbackVaryings :: IORef FuntypeTransformFeedbackVaryings
-glrefTransformFeedbackVaryings = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTransformFeedbackVaryings #-}
-glTransformFeedbackVaryings :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    Ptr (Ptr (GLchar)) ->
-    GLenum ->
-    m ( () )
-glTransformFeedbackVaryings
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefTransformFeedbackVaryings)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glTransformFeedbackVaryings #-}
-type FuntypeGetTransformFeedbackVarying =
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLsizei) ->
-    Ptr (GLenum) ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTransformFeedbackVarying :: FunPtr FuntypeGetTransformFeedbackVarying -> FuntypeGetTransformFeedbackVarying
-glrefGetTransformFeedbackVarying :: IORef FuntypeGetTransformFeedbackVarying
-glrefGetTransformFeedbackVarying = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTransformFeedbackVarying #-}
-glGetTransformFeedbackVarying :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLsizei) ->
-    Ptr (GLenum) ->
-    Ptr (GLchar) ->
-    m ( () )
-glGetTransformFeedbackVarying
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTransformFeedbackVarying)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glGetTransformFeedbackVarying #-}
-type FuntypeClampColor =
-    GLenum ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynClampColor :: FunPtr FuntypeClampColor -> FuntypeClampColor
-glrefClampColor :: IORef FuntypeClampColor
-glrefClampColor = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefClampColor #-}
-glClampColor :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    m ( () )
-glClampColor
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefClampColor)
-      a0
-      a1
-{-# INLINE glClampColor #-}
-type FuntypeBeginConditionalRender =
-    GLuint ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBeginConditionalRender :: FunPtr FuntypeBeginConditionalRender -> FuntypeBeginConditionalRender
-glrefBeginConditionalRender :: IORef FuntypeBeginConditionalRender
-glrefBeginConditionalRender = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBeginConditionalRender #-}
-glBeginConditionalRender :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    m ( () )
-glBeginConditionalRender
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefBeginConditionalRender)
-      a0
-      a1
-{-# INLINE glBeginConditionalRender #-}
-type FuntypeEndConditionalRender =
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynEndConditionalRender :: FunPtr FuntypeEndConditionalRender -> FuntypeEndConditionalRender
-glrefEndConditionalRender :: IORef FuntypeEndConditionalRender
-glrefEndConditionalRender = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefEndConditionalRender #-}
-glEndConditionalRender :: MonadIO m =>
-    m ( () )
-glEndConditionalRender
-    = liftIO $ (unsafePerformIO $ readIORef glrefEndConditionalRender)
-{-# INLINE glEndConditionalRender #-}
-type FuntypeVertexAttribIPointer =
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribIPointer :: FunPtr FuntypeVertexAttribIPointer -> FuntypeVertexAttribIPointer
-glrefVertexAttribIPointer :: IORef FuntypeVertexAttribIPointer
-glrefVertexAttribIPointer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribIPointer #-}
-glVertexAttribIPointer :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glVertexAttribIPointer
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribIPointer)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glVertexAttribIPointer #-}
-type FuntypeGetVertexAttribIiv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetVertexAttribIiv :: FunPtr FuntypeGetVertexAttribIiv -> FuntypeGetVertexAttribIiv
-glrefGetVertexAttribIiv :: IORef FuntypeGetVertexAttribIiv
-glrefGetVertexAttribIiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetVertexAttribIiv #-}
-glGetVertexAttribIiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetVertexAttribIiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetVertexAttribIiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetVertexAttribIiv #-}
-type FuntypeGetVertexAttribIuiv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetVertexAttribIuiv :: FunPtr FuntypeGetVertexAttribIuiv -> FuntypeGetVertexAttribIuiv
-glrefGetVertexAttribIuiv :: IORef FuntypeGetVertexAttribIuiv
-glrefGetVertexAttribIuiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetVertexAttribIuiv #-}
-glGetVertexAttribIuiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLuint) ->
-    m ( () )
-glGetVertexAttribIuiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetVertexAttribIuiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetVertexAttribIuiv #-}
-type FuntypeVertexAttribI1i =
-    GLuint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI1i :: FunPtr FuntypeVertexAttribI1i -> FuntypeVertexAttribI1i
-glrefVertexAttribI1i :: IORef FuntypeVertexAttribI1i
-glrefVertexAttribI1i = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI1i #-}
-glVertexAttribI1i :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    m ( () )
-glVertexAttribI1i
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI1i)
-      a0
-      a1
-{-# INLINE glVertexAttribI1i #-}
-type FuntypeVertexAttribI2i =
-    GLuint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI2i :: FunPtr FuntypeVertexAttribI2i -> FuntypeVertexAttribI2i
-glrefVertexAttribI2i :: IORef FuntypeVertexAttribI2i
-glrefVertexAttribI2i = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI2i #-}
-glVertexAttribI2i :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glVertexAttribI2i
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI2i)
-      a0
-      a1
-      a2
-{-# INLINE glVertexAttribI2i #-}
-type FuntypeVertexAttribI3i =
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI3i :: FunPtr FuntypeVertexAttribI3i -> FuntypeVertexAttribI3i
-glrefVertexAttribI3i :: IORef FuntypeVertexAttribI3i
-glrefVertexAttribI3i = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI3i #-}
-glVertexAttribI3i :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glVertexAttribI3i
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI3i)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexAttribI3i #-}
-type FuntypeVertexAttribI4i =
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI4i :: FunPtr FuntypeVertexAttribI4i -> FuntypeVertexAttribI4i
-glrefVertexAttribI4i :: IORef FuntypeVertexAttribI4i
-glrefVertexAttribI4i = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI4i #-}
-glVertexAttribI4i :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glVertexAttribI4i
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI4i)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glVertexAttribI4i #-}
-type FuntypeVertexAttribI1ui =
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI1ui :: FunPtr FuntypeVertexAttribI1ui -> FuntypeVertexAttribI1ui
-glrefVertexAttribI1ui :: IORef FuntypeVertexAttribI1ui
-glrefVertexAttribI1ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI1ui #-}
-glVertexAttribI1ui :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    m ( () )
-glVertexAttribI1ui
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI1ui)
-      a0
-      a1
-{-# INLINE glVertexAttribI1ui #-}
-type FuntypeVertexAttribI2ui =
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI2ui :: FunPtr FuntypeVertexAttribI2ui -> FuntypeVertexAttribI2ui
-glrefVertexAttribI2ui :: IORef FuntypeVertexAttribI2ui
-glrefVertexAttribI2ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI2ui #-}
-glVertexAttribI2ui :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glVertexAttribI2ui
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI2ui)
-      a0
-      a1
-      a2
-{-# INLINE glVertexAttribI2ui #-}
-type FuntypeVertexAttribI3ui =
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI3ui :: FunPtr FuntypeVertexAttribI3ui -> FuntypeVertexAttribI3ui
-glrefVertexAttribI3ui :: IORef FuntypeVertexAttribI3ui
-glrefVertexAttribI3ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI3ui #-}
-glVertexAttribI3ui :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glVertexAttribI3ui
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI3ui)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexAttribI3ui #-}
-type FuntypeVertexAttribI4ui =
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI4ui :: FunPtr FuntypeVertexAttribI4ui -> FuntypeVertexAttribI4ui
-glrefVertexAttribI4ui :: IORef FuntypeVertexAttribI4ui
-glrefVertexAttribI4ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI4ui #-}
-glVertexAttribI4ui :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glVertexAttribI4ui
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI4ui)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glVertexAttribI4ui #-}
-type FuntypeVertexAttribI1iv =
-    GLuint ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI1iv :: FunPtr FuntypeVertexAttribI1iv -> FuntypeVertexAttribI1iv
-glrefVertexAttribI1iv :: IORef FuntypeVertexAttribI1iv
-glrefVertexAttribI1iv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI1iv #-}
-glVertexAttribI1iv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLint) ->
-    m ( () )
-glVertexAttribI1iv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI1iv)
-      a0
-      a1
-{-# INLINE glVertexAttribI1iv #-}
-type FuntypeVertexAttribI2iv =
-    GLuint ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI2iv :: FunPtr FuntypeVertexAttribI2iv -> FuntypeVertexAttribI2iv
-glrefVertexAttribI2iv :: IORef FuntypeVertexAttribI2iv
-glrefVertexAttribI2iv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI2iv #-}
-glVertexAttribI2iv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLint) ->
-    m ( () )
-glVertexAttribI2iv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI2iv)
-      a0
-      a1
-{-# INLINE glVertexAttribI2iv #-}
-type FuntypeVertexAttribI3iv =
-    GLuint ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI3iv :: FunPtr FuntypeVertexAttribI3iv -> FuntypeVertexAttribI3iv
-glrefVertexAttribI3iv :: IORef FuntypeVertexAttribI3iv
-glrefVertexAttribI3iv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI3iv #-}
-glVertexAttribI3iv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLint) ->
-    m ( () )
-glVertexAttribI3iv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI3iv)
-      a0
-      a1
-{-# INLINE glVertexAttribI3iv #-}
-type FuntypeVertexAttribI4iv =
-    GLuint ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI4iv :: FunPtr FuntypeVertexAttribI4iv -> FuntypeVertexAttribI4iv
-glrefVertexAttribI4iv :: IORef FuntypeVertexAttribI4iv
-glrefVertexAttribI4iv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI4iv #-}
-glVertexAttribI4iv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLint) ->
-    m ( () )
-glVertexAttribI4iv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI4iv)
-      a0
-      a1
-{-# INLINE glVertexAttribI4iv #-}
-type FuntypeVertexAttribI1uiv =
-    GLuint ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI1uiv :: FunPtr FuntypeVertexAttribI1uiv -> FuntypeVertexAttribI1uiv
-glrefVertexAttribI1uiv :: IORef FuntypeVertexAttribI1uiv
-glrefVertexAttribI1uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI1uiv #-}
-glVertexAttribI1uiv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLuint) ->
-    m ( () )
-glVertexAttribI1uiv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI1uiv)
-      a0
-      a1
-{-# INLINE glVertexAttribI1uiv #-}
-type FuntypeVertexAttribI2uiv =
-    GLuint ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI2uiv :: FunPtr FuntypeVertexAttribI2uiv -> FuntypeVertexAttribI2uiv
-glrefVertexAttribI2uiv :: IORef FuntypeVertexAttribI2uiv
-glrefVertexAttribI2uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI2uiv #-}
-glVertexAttribI2uiv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLuint) ->
-    m ( () )
-glVertexAttribI2uiv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI2uiv)
-      a0
-      a1
-{-# INLINE glVertexAttribI2uiv #-}
-type FuntypeVertexAttribI3uiv =
-    GLuint ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI3uiv :: FunPtr FuntypeVertexAttribI3uiv -> FuntypeVertexAttribI3uiv
-glrefVertexAttribI3uiv :: IORef FuntypeVertexAttribI3uiv
-glrefVertexAttribI3uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI3uiv #-}
-glVertexAttribI3uiv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLuint) ->
-    m ( () )
-glVertexAttribI3uiv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI3uiv)
-      a0
-      a1
-{-# INLINE glVertexAttribI3uiv #-}
-type FuntypeVertexAttribI4uiv =
-    GLuint ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI4uiv :: FunPtr FuntypeVertexAttribI4uiv -> FuntypeVertexAttribI4uiv
-glrefVertexAttribI4uiv :: IORef FuntypeVertexAttribI4uiv
-glrefVertexAttribI4uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI4uiv #-}
-glVertexAttribI4uiv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLuint) ->
-    m ( () )
-glVertexAttribI4uiv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI4uiv)
-      a0
-      a1
-{-# INLINE glVertexAttribI4uiv #-}
-type FuntypeVertexAttribI4bv =
-    GLuint ->
-    Ptr (GLbyte) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI4bv :: FunPtr FuntypeVertexAttribI4bv -> FuntypeVertexAttribI4bv
-glrefVertexAttribI4bv :: IORef FuntypeVertexAttribI4bv
-glrefVertexAttribI4bv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI4bv #-}
-glVertexAttribI4bv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLbyte) ->
-    m ( () )
-glVertexAttribI4bv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI4bv)
-      a0
-      a1
-{-# INLINE glVertexAttribI4bv #-}
-type FuntypeVertexAttribI4sv =
-    GLuint ->
-    Ptr (GLshort) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI4sv :: FunPtr FuntypeVertexAttribI4sv -> FuntypeVertexAttribI4sv
-glrefVertexAttribI4sv :: IORef FuntypeVertexAttribI4sv
-glrefVertexAttribI4sv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI4sv #-}
-glVertexAttribI4sv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLshort) ->
-    m ( () )
-glVertexAttribI4sv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI4sv)
-      a0
-      a1
-{-# INLINE glVertexAttribI4sv #-}
-type FuntypeVertexAttribI4ubv =
-    GLuint ->
-    Ptr (GLubyte) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI4ubv :: FunPtr FuntypeVertexAttribI4ubv -> FuntypeVertexAttribI4ubv
-glrefVertexAttribI4ubv :: IORef FuntypeVertexAttribI4ubv
-glrefVertexAttribI4ubv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI4ubv #-}
-glVertexAttribI4ubv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLubyte) ->
-    m ( () )
-glVertexAttribI4ubv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI4ubv)
-      a0
-      a1
-{-# INLINE glVertexAttribI4ubv #-}
-type FuntypeVertexAttribI4usv =
-    GLuint ->
-    Ptr (GLushort) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribI4usv :: FunPtr FuntypeVertexAttribI4usv -> FuntypeVertexAttribI4usv
-glrefVertexAttribI4usv :: IORef FuntypeVertexAttribI4usv
-glrefVertexAttribI4usv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribI4usv #-}
-glVertexAttribI4usv :: MonadIO m =>
-    GLuint ->
-    Ptr (GLushort) ->
-    m ( () )
-glVertexAttribI4usv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribI4usv)
-      a0
-      a1
-{-# INLINE glVertexAttribI4usv #-}
-type FuntypeGetUniformuiv =
-    GLuint ->
-    GLint ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetUniformuiv :: FunPtr FuntypeGetUniformuiv -> FuntypeGetUniformuiv
-glrefGetUniformuiv :: IORef FuntypeGetUniformuiv
-glrefGetUniformuiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetUniformuiv #-}
-glGetUniformuiv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    Ptr (GLuint) ->
-    m ( () )
-glGetUniformuiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetUniformuiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetUniformuiv #-}
-type FuntypeBindFragDataLocation =
-    GLuint ->
-    GLuint ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBindFragDataLocation :: FunPtr FuntypeBindFragDataLocation -> FuntypeBindFragDataLocation
-glrefBindFragDataLocation :: IORef FuntypeBindFragDataLocation
-glrefBindFragDataLocation = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBindFragDataLocation #-}
-glBindFragDataLocation :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    Ptr (GLchar) ->
-    m ( () )
-glBindFragDataLocation
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefBindFragDataLocation)
-      a0
-      a1
-      a2
-{-# INLINE glBindFragDataLocation #-}
-type FuntypeGetFragDataLocation =
-    GLuint ->
-    Ptr (GLchar) ->
-    IO ( GLint )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetFragDataLocation :: FunPtr FuntypeGetFragDataLocation -> FuntypeGetFragDataLocation
-glrefGetFragDataLocation :: IORef FuntypeGetFragDataLocation
-glrefGetFragDataLocation = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetFragDataLocation #-}
-glGetFragDataLocation :: MonadIO m =>
-    GLuint ->
-    Ptr (GLchar) ->
-    m ( GLint )
-glGetFragDataLocation
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetFragDataLocation)
-      a0
-      a1
-{-# INLINE glGetFragDataLocation #-}
-type FuntypeUniform1ui =
-    GLint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform1ui :: FunPtr FuntypeUniform1ui -> FuntypeUniform1ui
-glrefUniform1ui :: IORef FuntypeUniform1ui
-glrefUniform1ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform1ui #-}
-glUniform1ui :: MonadIO m =>
-    GLint ->
-    GLuint ->
-    m ( () )
-glUniform1ui
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform1ui)
-      a0
-      a1
-{-# INLINE glUniform1ui #-}
-type FuntypeUniform2ui =
-    GLint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform2ui :: FunPtr FuntypeUniform2ui -> FuntypeUniform2ui
-glrefUniform2ui :: IORef FuntypeUniform2ui
-glrefUniform2ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform2ui #-}
-glUniform2ui :: MonadIO m =>
-    GLint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glUniform2ui
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform2ui)
-      a0
-      a1
-      a2
-{-# INLINE glUniform2ui #-}
-type FuntypeUniform3ui =
-    GLint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform3ui :: FunPtr FuntypeUniform3ui -> FuntypeUniform3ui
-glrefUniform3ui :: IORef FuntypeUniform3ui
-glrefUniform3ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform3ui #-}
-glUniform3ui :: MonadIO m =>
-    GLint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glUniform3ui
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform3ui)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glUniform3ui #-}
-type FuntypeUniform4ui =
-    GLint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform4ui :: FunPtr FuntypeUniform4ui -> FuntypeUniform4ui
-glrefUniform4ui :: IORef FuntypeUniform4ui
-glrefUniform4ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform4ui #-}
-glUniform4ui :: MonadIO m =>
-    GLint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glUniform4ui
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform4ui)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glUniform4ui #-}
-type FuntypeUniform1uiv =
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform1uiv :: FunPtr FuntypeUniform1uiv -> FuntypeUniform1uiv
-glrefUniform1uiv :: IORef FuntypeUniform1uiv
-glrefUniform1uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform1uiv #-}
-glUniform1uiv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glUniform1uiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform1uiv)
-      a0
-      a1
-      a2
-{-# INLINE glUniform1uiv #-}
-type FuntypeUniform2uiv =
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform2uiv :: FunPtr FuntypeUniform2uiv -> FuntypeUniform2uiv
-glrefUniform2uiv :: IORef FuntypeUniform2uiv
-glrefUniform2uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform2uiv #-}
-glUniform2uiv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glUniform2uiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform2uiv)
-      a0
-      a1
-      a2
-{-# INLINE glUniform2uiv #-}
-type FuntypeUniform3uiv =
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform3uiv :: FunPtr FuntypeUniform3uiv -> FuntypeUniform3uiv
-glrefUniform3uiv :: IORef FuntypeUniform3uiv
-glrefUniform3uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform3uiv #-}
-glUniform3uiv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glUniform3uiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform3uiv)
-      a0
-      a1
-      a2
-{-# INLINE glUniform3uiv #-}
-type FuntypeUniform4uiv =
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniform4uiv :: FunPtr FuntypeUniform4uiv -> FuntypeUniform4uiv
-glrefUniform4uiv :: IORef FuntypeUniform4uiv
-glrefUniform4uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniform4uiv #-}
-glUniform4uiv :: MonadIO m =>
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glUniform4uiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniform4uiv)
-      a0
-      a1
-      a2
-{-# INLINE glUniform4uiv #-}
-type FuntypeTexParameterIiv =
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexParameterIiv :: FunPtr FuntypeTexParameterIiv -> FuntypeTexParameterIiv
-glrefTexParameterIiv :: IORef FuntypeTexParameterIiv
-glrefTexParameterIiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexParameterIiv #-}
-glTexParameterIiv :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glTexParameterIiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexParameterIiv)
-      a0
-      a1
-      a2
-{-# INLINE glTexParameterIiv #-}
-type FuntypeTexParameterIuiv =
-    GLenum ->
-    GLenum ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexParameterIuiv :: FunPtr FuntypeTexParameterIuiv -> FuntypeTexParameterIuiv
-glrefTexParameterIuiv :: IORef FuntypeTexParameterIuiv
-glrefTexParameterIuiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexParameterIuiv #-}
-glTexParameterIuiv :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    Ptr (GLuint) ->
-    m ( () )
-glTexParameterIuiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexParameterIuiv)
-      a0
-      a1
-      a2
-{-# INLINE glTexParameterIuiv #-}
-type FuntypeGetTexParameterIiv =
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTexParameterIiv :: FunPtr FuntypeGetTexParameterIiv -> FuntypeGetTexParameterIiv
-glrefGetTexParameterIiv :: IORef FuntypeGetTexParameterIiv
-glrefGetTexParameterIiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTexParameterIiv #-}
-glGetTexParameterIiv :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetTexParameterIiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTexParameterIiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetTexParameterIiv #-}
-type FuntypeGetTexParameterIuiv =
-    GLenum ->
-    GLenum ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTexParameterIuiv :: FunPtr FuntypeGetTexParameterIuiv -> FuntypeGetTexParameterIuiv
-glrefGetTexParameterIuiv :: IORef FuntypeGetTexParameterIuiv
-glrefGetTexParameterIuiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTexParameterIuiv #-}
-glGetTexParameterIuiv :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    Ptr (GLuint) ->
-    m ( () )
-glGetTexParameterIuiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTexParameterIuiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetTexParameterIuiv #-}
-type FuntypeClearBufferiv =
-    GLenum ->
-    GLint ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynClearBufferiv :: FunPtr FuntypeClearBufferiv -> FuntypeClearBufferiv
-glrefClearBufferiv :: IORef FuntypeClearBufferiv
-glrefClearBufferiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefClearBufferiv #-}
-glClearBufferiv :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    Ptr (GLint) ->
-    m ( () )
-glClearBufferiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefClearBufferiv)
-      a0
-      a1
-      a2
-{-# INLINE glClearBufferiv #-}
-type FuntypeClearBufferuiv =
-    GLenum ->
-    GLint ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynClearBufferuiv :: FunPtr FuntypeClearBufferuiv -> FuntypeClearBufferuiv
-glrefClearBufferuiv :: IORef FuntypeClearBufferuiv
-glrefClearBufferuiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefClearBufferuiv #-}
-glClearBufferuiv :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    Ptr (GLuint) ->
-    m ( () )
-glClearBufferuiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefClearBufferuiv)
-      a0
-      a1
-      a2
-{-# INLINE glClearBufferuiv #-}
-type FuntypeClearBufferfv =
-    GLenum ->
-    GLint ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynClearBufferfv :: FunPtr FuntypeClearBufferfv -> FuntypeClearBufferfv
-glrefClearBufferfv :: IORef FuntypeClearBufferfv
-glrefClearBufferfv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefClearBufferfv #-}
-glClearBufferfv :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    Ptr (GLfloat) ->
-    m ( () )
-glClearBufferfv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefClearBufferfv)
-      a0
-      a1
-      a2
-{-# INLINE glClearBufferfv #-}
-type FuntypeClearBufferfi =
-    GLenum ->
-    GLint ->
-    GLfloat ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynClearBufferfi :: FunPtr FuntypeClearBufferfi -> FuntypeClearBufferfi
-glrefClearBufferfi :: IORef FuntypeClearBufferfi
-glrefClearBufferfi = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefClearBufferfi #-}
-glClearBufferfi :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLfloat ->
-    GLint ->
-    m ( () )
-glClearBufferfi
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefClearBufferfi)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glClearBufferfi #-}
-type FuntypeGetStringi =
-    GLenum ->
-    GLuint ->
-    IO ( Ptr (GLubyte) )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetStringi :: FunPtr FuntypeGetStringi -> FuntypeGetStringi
-glrefGetStringi :: IORef FuntypeGetStringi
-glrefGetStringi = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetStringi #-}
-glGetStringi :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( Ptr (GLubyte) )
-glGetStringi
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetStringi)
-      a0
-      a1
-{-# INLINE glGetStringi #-}
-type FuntypeIsRenderbuffer =
-    GLuint ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsRenderbuffer :: FunPtr FuntypeIsRenderbuffer -> FuntypeIsRenderbuffer
-glrefIsRenderbuffer :: IORef FuntypeIsRenderbuffer
-glrefIsRenderbuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsRenderbuffer #-}
-glIsRenderbuffer :: MonadIO m =>
-    GLuint ->
-    m ( GLboolean )
-glIsRenderbuffer
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsRenderbuffer)
-      a0
-{-# INLINE glIsRenderbuffer #-}
-type FuntypeBindRenderbuffer =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBindRenderbuffer :: FunPtr FuntypeBindRenderbuffer -> FuntypeBindRenderbuffer
-glrefBindRenderbuffer :: IORef FuntypeBindRenderbuffer
-glrefBindRenderbuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBindRenderbuffer #-}
-glBindRenderbuffer :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glBindRenderbuffer
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefBindRenderbuffer)
-      a0
-      a1
-{-# INLINE glBindRenderbuffer #-}
-type FuntypeDeleteRenderbuffers =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDeleteRenderbuffers :: FunPtr FuntypeDeleteRenderbuffers -> FuntypeDeleteRenderbuffers
-glrefDeleteRenderbuffers :: IORef FuntypeDeleteRenderbuffers
-glrefDeleteRenderbuffers = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDeleteRenderbuffers #-}
-glDeleteRenderbuffers :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glDeleteRenderbuffers
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDeleteRenderbuffers)
-      a0
-      a1
-{-# INLINE glDeleteRenderbuffers #-}
-type FuntypeGenRenderbuffers =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGenRenderbuffers :: FunPtr FuntypeGenRenderbuffers -> FuntypeGenRenderbuffers
-glrefGenRenderbuffers :: IORef FuntypeGenRenderbuffers
-glrefGenRenderbuffers = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGenRenderbuffers #-}
-glGenRenderbuffers :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glGenRenderbuffers
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGenRenderbuffers)
-      a0
-      a1
-{-# INLINE glGenRenderbuffers #-}
-type FuntypeRenderbufferStorage =
-    GLenum ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynRenderbufferStorage :: FunPtr FuntypeRenderbufferStorage -> FuntypeRenderbufferStorage
-glrefRenderbufferStorage :: IORef FuntypeRenderbufferStorage
-glrefRenderbufferStorage = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefRenderbufferStorage #-}
-glRenderbufferStorage :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glRenderbufferStorage
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefRenderbufferStorage)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glRenderbufferStorage #-}
-type FuntypeGetRenderbufferParameteriv =
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetRenderbufferParameteriv :: FunPtr FuntypeGetRenderbufferParameteriv -> FuntypeGetRenderbufferParameteriv
-glrefGetRenderbufferParameteriv :: IORef FuntypeGetRenderbufferParameteriv
-glrefGetRenderbufferParameteriv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetRenderbufferParameteriv #-}
-glGetRenderbufferParameteriv :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetRenderbufferParameteriv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetRenderbufferParameteriv)
-      a0
-      a1
-      a2
-{-# INLINE glGetRenderbufferParameteriv #-}
-type FuntypeIsFramebuffer =
-    GLuint ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsFramebuffer :: FunPtr FuntypeIsFramebuffer -> FuntypeIsFramebuffer
-glrefIsFramebuffer :: IORef FuntypeIsFramebuffer
-glrefIsFramebuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsFramebuffer #-}
-glIsFramebuffer :: MonadIO m =>
-    GLuint ->
-    m ( GLboolean )
-glIsFramebuffer
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsFramebuffer)
-      a0
-{-# INLINE glIsFramebuffer #-}
-type FuntypeBindFramebuffer =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBindFramebuffer :: FunPtr FuntypeBindFramebuffer -> FuntypeBindFramebuffer
-glrefBindFramebuffer :: IORef FuntypeBindFramebuffer
-glrefBindFramebuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBindFramebuffer #-}
-glBindFramebuffer :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glBindFramebuffer
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefBindFramebuffer)
-      a0
-      a1
-{-# INLINE glBindFramebuffer #-}
-type FuntypeDeleteFramebuffers =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDeleteFramebuffers :: FunPtr FuntypeDeleteFramebuffers -> FuntypeDeleteFramebuffers
-glrefDeleteFramebuffers :: IORef FuntypeDeleteFramebuffers
-glrefDeleteFramebuffers = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDeleteFramebuffers #-}
-glDeleteFramebuffers :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glDeleteFramebuffers
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDeleteFramebuffers)
-      a0
-      a1
-{-# INLINE glDeleteFramebuffers #-}
-type FuntypeGenFramebuffers =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGenFramebuffers :: FunPtr FuntypeGenFramebuffers -> FuntypeGenFramebuffers
-glrefGenFramebuffers :: IORef FuntypeGenFramebuffers
-glrefGenFramebuffers = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGenFramebuffers #-}
-glGenFramebuffers :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glGenFramebuffers
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGenFramebuffers)
-      a0
-      a1
-{-# INLINE glGenFramebuffers #-}
-type FuntypeCheckFramebufferStatus =
-    GLenum ->
-    IO ( GLenum )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCheckFramebufferStatus :: FunPtr FuntypeCheckFramebufferStatus -> FuntypeCheckFramebufferStatus
-glrefCheckFramebufferStatus :: IORef FuntypeCheckFramebufferStatus
-glrefCheckFramebufferStatus = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCheckFramebufferStatus #-}
-glCheckFramebufferStatus :: MonadIO m =>
-    GLenum ->
-    m ( GLenum )
-glCheckFramebufferStatus
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefCheckFramebufferStatus)
-      a0
-{-# INLINE glCheckFramebufferStatus #-}
-type FuntypeFramebufferTexture1D =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFramebufferTexture1D :: FunPtr FuntypeFramebufferTexture1D -> FuntypeFramebufferTexture1D
-glrefFramebufferTexture1D :: IORef FuntypeFramebufferTexture1D
-glrefFramebufferTexture1D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFramebufferTexture1D #-}
-glFramebufferTexture1D :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    m ( () )
-glFramebufferTexture1D
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefFramebufferTexture1D)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glFramebufferTexture1D #-}
-type FuntypeFramebufferTexture2D =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFramebufferTexture2D :: FunPtr FuntypeFramebufferTexture2D -> FuntypeFramebufferTexture2D
-glrefFramebufferTexture2D :: IORef FuntypeFramebufferTexture2D
-glrefFramebufferTexture2D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFramebufferTexture2D #-}
-glFramebufferTexture2D :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    m ( () )
-glFramebufferTexture2D
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefFramebufferTexture2D)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glFramebufferTexture2D #-}
-type FuntypeFramebufferTexture3D =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFramebufferTexture3D :: FunPtr FuntypeFramebufferTexture3D -> FuntypeFramebufferTexture3D
-glrefFramebufferTexture3D :: IORef FuntypeFramebufferTexture3D
-glrefFramebufferTexture3D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFramebufferTexture3D #-}
-glFramebufferTexture3D :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glFramebufferTexture3D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefFramebufferTexture3D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glFramebufferTexture3D #-}
-type FuntypeFramebufferRenderbuffer =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFramebufferRenderbuffer :: FunPtr FuntypeFramebufferRenderbuffer -> FuntypeFramebufferRenderbuffer
-glrefFramebufferRenderbuffer :: IORef FuntypeFramebufferRenderbuffer
-glrefFramebufferRenderbuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFramebufferRenderbuffer #-}
-glFramebufferRenderbuffer :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    m ( () )
-glFramebufferRenderbuffer
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefFramebufferRenderbuffer)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glFramebufferRenderbuffer #-}
-type FuntypeGetFramebufferAttachmentParameteriv =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetFramebufferAttachmentParameteriv :: FunPtr FuntypeGetFramebufferAttachmentParameteriv -> FuntypeGetFramebufferAttachmentParameteriv
-glrefGetFramebufferAttachmentParameteriv :: IORef FuntypeGetFramebufferAttachmentParameteriv
-glrefGetFramebufferAttachmentParameteriv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetFramebufferAttachmentParameteriv #-}
-glGetFramebufferAttachmentParameteriv :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetFramebufferAttachmentParameteriv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetFramebufferAttachmentParameteriv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetFramebufferAttachmentParameteriv #-}
-type FuntypeGenerateMipmap =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGenerateMipmap :: FunPtr FuntypeGenerateMipmap -> FuntypeGenerateMipmap
-glrefGenerateMipmap :: IORef FuntypeGenerateMipmap
-glrefGenerateMipmap = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGenerateMipmap #-}
-glGenerateMipmap :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glGenerateMipmap
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefGenerateMipmap)
-      a0
-{-# INLINE glGenerateMipmap #-}
-type FuntypeBlitFramebuffer =
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLbitfield ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBlitFramebuffer :: FunPtr FuntypeBlitFramebuffer -> FuntypeBlitFramebuffer
-glrefBlitFramebuffer :: IORef FuntypeBlitFramebuffer
-glrefBlitFramebuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBlitFramebuffer #-}
-glBlitFramebuffer :: MonadIO m =>
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLbitfield ->
-    GLenum ->
-    m ( () )
-glBlitFramebuffer
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    = liftIO $ (unsafePerformIO $ readIORef glrefBlitFramebuffer)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-{-# INLINE glBlitFramebuffer #-}
-type FuntypeRenderbufferStorageMultisample =
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynRenderbufferStorageMultisample :: FunPtr FuntypeRenderbufferStorageMultisample -> FuntypeRenderbufferStorageMultisample
-glrefRenderbufferStorageMultisample :: IORef FuntypeRenderbufferStorageMultisample
-glrefRenderbufferStorageMultisample = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefRenderbufferStorageMultisample #-}
-glRenderbufferStorageMultisample :: MonadIO m =>
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glRenderbufferStorageMultisample
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefRenderbufferStorageMultisample)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glRenderbufferStorageMultisample #-}
-type FuntypeFramebufferTextureLayer =
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFramebufferTextureLayer :: FunPtr FuntypeFramebufferTextureLayer -> FuntypeFramebufferTextureLayer
-glrefFramebufferTextureLayer :: IORef FuntypeFramebufferTextureLayer
-glrefFramebufferTextureLayer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFramebufferTextureLayer #-}
-glFramebufferTextureLayer :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glFramebufferTextureLayer
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefFramebufferTextureLayer)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glFramebufferTextureLayer #-}
-type FuntypeMapBufferRange =
-    GLenum ->
-    GLintptr ->
-    GLsizeiptr ->
-    GLbitfield ->
-    IO ( Ptr () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMapBufferRange :: FunPtr FuntypeMapBufferRange -> FuntypeMapBufferRange
-glrefMapBufferRange :: IORef FuntypeMapBufferRange
-glrefMapBufferRange = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMapBufferRange #-}
-glMapBufferRange :: MonadIO m =>
-    GLenum ->
-    GLintptr ->
-    GLsizeiptr ->
-    GLbitfield ->
-    m ( Ptr () )
-glMapBufferRange
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMapBufferRange)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMapBufferRange #-}
-type FuntypeFlushMappedBufferRange =
-    GLenum ->
-    GLintptr ->
-    GLsizeiptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFlushMappedBufferRange :: FunPtr FuntypeFlushMappedBufferRange -> FuntypeFlushMappedBufferRange
-glrefFlushMappedBufferRange :: IORef FuntypeFlushMappedBufferRange
-glrefFlushMappedBufferRange = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFlushMappedBufferRange #-}
-glFlushMappedBufferRange :: MonadIO m =>
-    GLenum ->
-    GLintptr ->
-    GLsizeiptr ->
-    m ( () )
-glFlushMappedBufferRange
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefFlushMappedBufferRange)
-      a0
-      a1
-      a2
-{-# INLINE glFlushMappedBufferRange #-}
-type FuntypeBindVertexArray =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBindVertexArray :: FunPtr FuntypeBindVertexArray -> FuntypeBindVertexArray
-glrefBindVertexArray :: IORef FuntypeBindVertexArray
-glrefBindVertexArray = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBindVertexArray #-}
-glBindVertexArray :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glBindVertexArray
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefBindVertexArray)
-      a0
-{-# INLINE glBindVertexArray #-}
-type FuntypeDeleteVertexArrays =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDeleteVertexArrays :: FunPtr FuntypeDeleteVertexArrays -> FuntypeDeleteVertexArrays
-glrefDeleteVertexArrays :: IORef FuntypeDeleteVertexArrays
-glrefDeleteVertexArrays = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDeleteVertexArrays #-}
-glDeleteVertexArrays :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glDeleteVertexArrays
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDeleteVertexArrays)
-      a0
-      a1
-{-# INLINE glDeleteVertexArrays #-}
-type FuntypeGenVertexArrays =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGenVertexArrays :: FunPtr FuntypeGenVertexArrays -> FuntypeGenVertexArrays
-glrefGenVertexArrays :: IORef FuntypeGenVertexArrays
-glrefGenVertexArrays = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGenVertexArrays #-}
-glGenVertexArrays :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glGenVertexArrays
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGenVertexArrays)
-      a0
-      a1
-{-# INLINE glGenVertexArrays #-}
-type FuntypeIsVertexArray =
-    GLuint ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsVertexArray :: FunPtr FuntypeIsVertexArray -> FuntypeIsVertexArray
-glrefIsVertexArray :: IORef FuntypeIsVertexArray
-glrefIsVertexArray = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsVertexArray #-}
-glIsVertexArray :: MonadIO m =>
-    GLuint ->
-    m ( GLboolean )
-glIsVertexArray
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsVertexArray)
-      a0
-{-# INLINE glIsVertexArray #-}
-
--- GL_VERSION_3_1
-
-type FuntypeDrawArraysInstanced =
-    GLenum ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDrawArraysInstanced :: FunPtr FuntypeDrawArraysInstanced -> FuntypeDrawArraysInstanced
-glrefDrawArraysInstanced :: IORef FuntypeDrawArraysInstanced
-glrefDrawArraysInstanced = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDrawArraysInstanced #-}
-glDrawArraysInstanced :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glDrawArraysInstanced
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefDrawArraysInstanced)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glDrawArraysInstanced #-}
-type FuntypeDrawElementsInstanced =
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    Ptr () ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDrawElementsInstanced :: FunPtr FuntypeDrawElementsInstanced -> FuntypeDrawElementsInstanced
-glrefDrawElementsInstanced :: IORef FuntypeDrawElementsInstanced
-glrefDrawElementsInstanced = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDrawElementsInstanced #-}
-glDrawElementsInstanced :: MonadIO m =>
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    Ptr () ->
-    GLsizei ->
-    m ( () )
-glDrawElementsInstanced
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefDrawElementsInstanced)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glDrawElementsInstanced #-}
-type FuntypeTexBuffer =
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexBuffer :: FunPtr FuntypeTexBuffer -> FuntypeTexBuffer
-glrefTexBuffer :: IORef FuntypeTexBuffer
-glrefTexBuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexBuffer #-}
-glTexBuffer :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    m ( () )
-glTexBuffer
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexBuffer)
-      a0
-      a1
-      a2
-{-# INLINE glTexBuffer #-}
-type FuntypePrimitiveRestartIndex =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPrimitiveRestartIndex :: FunPtr FuntypePrimitiveRestartIndex -> FuntypePrimitiveRestartIndex
-glrefPrimitiveRestartIndex :: IORef FuntypePrimitiveRestartIndex
-glrefPrimitiveRestartIndex = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPrimitiveRestartIndex #-}
-glPrimitiveRestartIndex :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glPrimitiveRestartIndex
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefPrimitiveRestartIndex)
-      a0
-{-# INLINE glPrimitiveRestartIndex #-}
-type FuntypeCopyBufferSubData =
-    GLenum ->
-    GLenum ->
-    GLintptr ->
-    GLintptr ->
-    GLsizeiptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyBufferSubData :: FunPtr FuntypeCopyBufferSubData -> FuntypeCopyBufferSubData
-glrefCopyBufferSubData :: IORef FuntypeCopyBufferSubData
-glrefCopyBufferSubData = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyBufferSubData #-}
-glCopyBufferSubData :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLintptr ->
-    GLintptr ->
-    GLsizeiptr ->
-    m ( () )
-glCopyBufferSubData
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyBufferSubData)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glCopyBufferSubData #-}
-type FuntypeGetUniformIndices =
-    GLuint ->
-    GLsizei ->
-    Ptr (Ptr (GLchar)) ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetUniformIndices :: FunPtr FuntypeGetUniformIndices -> FuntypeGetUniformIndices
-glrefGetUniformIndices :: IORef FuntypeGetUniformIndices
-glrefGetUniformIndices = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetUniformIndices #-}
-glGetUniformIndices :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    Ptr (Ptr (GLchar)) ->
-    Ptr (GLuint) ->
-    m ( () )
-glGetUniformIndices
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetUniformIndices)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetUniformIndices #-}
-type FuntypeGetActiveUniformsiv =
-    GLuint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetActiveUniformsiv :: FunPtr FuntypeGetActiveUniformsiv -> FuntypeGetActiveUniformsiv
-glrefGetActiveUniformsiv :: IORef FuntypeGetActiveUniformsiv
-glrefGetActiveUniformsiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetActiveUniformsiv #-}
-glGetActiveUniformsiv :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetActiveUniformsiv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetActiveUniformsiv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glGetActiveUniformsiv #-}
-type FuntypeGetActiveUniformName =
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetActiveUniformName :: FunPtr FuntypeGetActiveUniformName -> FuntypeGetActiveUniformName
-glrefGetActiveUniformName :: IORef FuntypeGetActiveUniformName
-glrefGetActiveUniformName = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetActiveUniformName #-}
-glGetActiveUniformName :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    m ( () )
-glGetActiveUniformName
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetActiveUniformName)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glGetActiveUniformName #-}
-type FuntypeGetUniformBlockIndex =
-    GLuint ->
-    Ptr (GLchar) ->
-    IO ( GLuint )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetUniformBlockIndex :: FunPtr FuntypeGetUniformBlockIndex -> FuntypeGetUniformBlockIndex
-glrefGetUniformBlockIndex :: IORef FuntypeGetUniformBlockIndex
-glrefGetUniformBlockIndex = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetUniformBlockIndex #-}
-glGetUniformBlockIndex :: MonadIO m =>
-    GLuint ->
-    Ptr (GLchar) ->
-    m ( GLuint )
-glGetUniformBlockIndex
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetUniformBlockIndex)
-      a0
-      a1
-{-# INLINE glGetUniformBlockIndex #-}
-type FuntypeGetActiveUniformBlockiv =
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetActiveUniformBlockiv :: FunPtr FuntypeGetActiveUniformBlockiv -> FuntypeGetActiveUniformBlockiv
-glrefGetActiveUniformBlockiv :: IORef FuntypeGetActiveUniformBlockiv
-glrefGetActiveUniformBlockiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetActiveUniformBlockiv #-}
-glGetActiveUniformBlockiv :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetActiveUniformBlockiv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetActiveUniformBlockiv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetActiveUniformBlockiv #-}
-type FuntypeGetActiveUniformBlockName =
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetActiveUniformBlockName :: FunPtr FuntypeGetActiveUniformBlockName -> FuntypeGetActiveUniformBlockName
-glrefGetActiveUniformBlockName :: IORef FuntypeGetActiveUniformBlockName
-glrefGetActiveUniformBlockName = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetActiveUniformBlockName #-}
-glGetActiveUniformBlockName :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    m ( () )
-glGetActiveUniformBlockName
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetActiveUniformBlockName)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glGetActiveUniformBlockName #-}
-type FuntypeUniformBlockBinding =
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUniformBlockBinding :: FunPtr FuntypeUniformBlockBinding -> FuntypeUniformBlockBinding
-glrefUniformBlockBinding :: IORef FuntypeUniformBlockBinding
-glrefUniformBlockBinding = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUniformBlockBinding #-}
-glUniformBlockBinding :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glUniformBlockBinding
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUniformBlockBinding)
-      a0
-      a1
-      a2
-{-# INLINE glUniformBlockBinding #-}
-
--- GL_VERSION_3_2
-
-type FuntypeDrawElementsBaseVertex =
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    Ptr () ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDrawElementsBaseVertex :: FunPtr FuntypeDrawElementsBaseVertex -> FuntypeDrawElementsBaseVertex
-glrefDrawElementsBaseVertex :: IORef FuntypeDrawElementsBaseVertex
-glrefDrawElementsBaseVertex = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDrawElementsBaseVertex #-}
-glDrawElementsBaseVertex :: MonadIO m =>
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    Ptr () ->
-    GLint ->
-    m ( () )
-glDrawElementsBaseVertex
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefDrawElementsBaseVertex)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glDrawElementsBaseVertex #-}
-type FuntypeDrawRangeElementsBaseVertex =
-    GLenum ->
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    GLenum ->
-    Ptr () ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDrawRangeElementsBaseVertex :: FunPtr FuntypeDrawRangeElementsBaseVertex -> FuntypeDrawRangeElementsBaseVertex
-glrefDrawRangeElementsBaseVertex :: IORef FuntypeDrawRangeElementsBaseVertex
-glrefDrawRangeElementsBaseVertex = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDrawRangeElementsBaseVertex #-}
-glDrawRangeElementsBaseVertex :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    GLenum ->
-    Ptr () ->
-    GLint ->
-    m ( () )
-glDrawRangeElementsBaseVertex
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefDrawRangeElementsBaseVertex)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glDrawRangeElementsBaseVertex #-}
-type FuntypeDrawElementsInstancedBaseVertex =
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    Ptr () ->
-    GLsizei ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDrawElementsInstancedBaseVertex :: FunPtr FuntypeDrawElementsInstancedBaseVertex -> FuntypeDrawElementsInstancedBaseVertex
-glrefDrawElementsInstancedBaseVertex :: IORef FuntypeDrawElementsInstancedBaseVertex
-glrefDrawElementsInstancedBaseVertex = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDrawElementsInstancedBaseVertex #-}
-glDrawElementsInstancedBaseVertex :: MonadIO m =>
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    Ptr () ->
-    GLsizei ->
-    GLint ->
-    m ( () )
-glDrawElementsInstancedBaseVertex
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefDrawElementsInstancedBaseVertex)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glDrawElementsInstancedBaseVertex #-}
-type FuntypeMultiDrawElementsBaseVertex =
-    GLenum ->
-    Ptr (GLsizei) ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiDrawElementsBaseVertex :: FunPtr FuntypeMultiDrawElementsBaseVertex -> FuntypeMultiDrawElementsBaseVertex
-glrefMultiDrawElementsBaseVertex :: IORef FuntypeMultiDrawElementsBaseVertex
-glrefMultiDrawElementsBaseVertex = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiDrawElementsBaseVertex #-}
-glMultiDrawElementsBaseVertex :: MonadIO m =>
-    GLenum ->
-    Ptr (GLsizei) ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glMultiDrawElementsBaseVertex
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiDrawElementsBaseVertex)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glMultiDrawElementsBaseVertex #-}
-type FuntypeProvokingVertex =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProvokingVertex :: FunPtr FuntypeProvokingVertex -> FuntypeProvokingVertex
-glrefProvokingVertex :: IORef FuntypeProvokingVertex
-glrefProvokingVertex = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProvokingVertex #-}
-glProvokingVertex :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glProvokingVertex
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefProvokingVertex)
-      a0
-{-# INLINE glProvokingVertex #-}
-type FuntypeFenceSync =
-    GLenum ->
-    GLbitfield ->
-    IO ( GLsync )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFenceSync :: FunPtr FuntypeFenceSync -> FuntypeFenceSync
-glrefFenceSync :: IORef FuntypeFenceSync
-glrefFenceSync = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFenceSync #-}
-glFenceSync :: MonadIO m =>
-    GLenum ->
-    GLbitfield ->
-    m ( GLsync )
-glFenceSync
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefFenceSync)
-      a0
-      a1
-{-# INLINE glFenceSync #-}
-type FuntypeIsSync =
-    GLsync ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsSync :: FunPtr FuntypeIsSync -> FuntypeIsSync
-glrefIsSync :: IORef FuntypeIsSync
-glrefIsSync = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsSync #-}
-glIsSync :: MonadIO m =>
-    GLsync ->
-    m ( GLboolean )
-glIsSync
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsSync)
-      a0
-{-# INLINE glIsSync #-}
-type FuntypeDeleteSync =
-    GLsync ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDeleteSync :: FunPtr FuntypeDeleteSync -> FuntypeDeleteSync
-glrefDeleteSync :: IORef FuntypeDeleteSync
-glrefDeleteSync = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDeleteSync #-}
-glDeleteSync :: MonadIO m =>
-    GLsync ->
-    m ( () )
-glDeleteSync
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefDeleteSync)
-      a0
-{-# INLINE glDeleteSync #-}
-type FuntypeClientWaitSync =
-    GLsync ->
-    GLbitfield ->
-    GLuint64 ->
-    IO ( GLenum )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynClientWaitSync :: FunPtr FuntypeClientWaitSync -> FuntypeClientWaitSync
-glrefClientWaitSync :: IORef FuntypeClientWaitSync
-glrefClientWaitSync = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefClientWaitSync #-}
-glClientWaitSync :: MonadIO m =>
-    GLsync ->
-    GLbitfield ->
-    GLuint64 ->
-    m ( GLenum )
-glClientWaitSync
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefClientWaitSync)
-      a0
-      a1
-      a2
-{-# INLINE glClientWaitSync #-}
-type FuntypeWaitSync =
-    GLsync ->
-    GLbitfield ->
-    GLuint64 ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynWaitSync :: FunPtr FuntypeWaitSync -> FuntypeWaitSync
-glrefWaitSync :: IORef FuntypeWaitSync
-glrefWaitSync = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefWaitSync #-}
-glWaitSync :: MonadIO m =>
-    GLsync ->
-    GLbitfield ->
-    GLuint64 ->
-    m ( () )
-glWaitSync
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefWaitSync)
-      a0
-      a1
-      a2
-{-# INLINE glWaitSync #-}
-type FuntypeGetInteger64v =
-    GLenum ->
-    Ptr (GLint64) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetInteger64v :: FunPtr FuntypeGetInteger64v -> FuntypeGetInteger64v
-glrefGetInteger64v :: IORef FuntypeGetInteger64v
-glrefGetInteger64v = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetInteger64v #-}
-glGetInteger64v :: MonadIO m =>
-    GLenum ->
-    Ptr (GLint64) ->
-    m ( () )
-glGetInteger64v
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetInteger64v)
-      a0
-      a1
-{-# INLINE glGetInteger64v #-}
-type FuntypeGetSynciv =
-    GLsync ->
-    GLenum ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetSynciv :: FunPtr FuntypeGetSynciv -> FuntypeGetSynciv
-glrefGetSynciv :: IORef FuntypeGetSynciv
-glrefGetSynciv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetSynciv #-}
-glGetSynciv :: MonadIO m =>
-    GLsync ->
-    GLenum ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLint) ->
-    m ( () )
-glGetSynciv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetSynciv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glGetSynciv #-}
-type FuntypeGetInteger64i_v =
-    GLenum ->
-    GLuint ->
-    Ptr (GLint64) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetInteger64i_v :: FunPtr FuntypeGetInteger64i_v -> FuntypeGetInteger64i_v
-glrefGetInteger64i_v :: IORef FuntypeGetInteger64i_v
-glrefGetInteger64i_v = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetInteger64i_v #-}
-glGetInteger64i_v :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    Ptr (GLint64) ->
-    m ( () )
-glGetInteger64i_v
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetInteger64i_v)
-      a0
-      a1
-      a2
-{-# INLINE glGetInteger64i_v #-}
-type FuntypeGetBufferParameteri64v =
-    GLenum ->
-    GLenum ->
-    Ptr (GLint64) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetBufferParameteri64v :: FunPtr FuntypeGetBufferParameteri64v -> FuntypeGetBufferParameteri64v
-glrefGetBufferParameteri64v :: IORef FuntypeGetBufferParameteri64v
-glrefGetBufferParameteri64v = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetBufferParameteri64v #-}
-glGetBufferParameteri64v :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    Ptr (GLint64) ->
-    m ( () )
-glGetBufferParameteri64v
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetBufferParameteri64v)
-      a0
-      a1
-      a2
-{-# INLINE glGetBufferParameteri64v #-}
-type FuntypeFramebufferTexture =
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFramebufferTexture :: FunPtr FuntypeFramebufferTexture -> FuntypeFramebufferTexture
-glrefFramebufferTexture :: IORef FuntypeFramebufferTexture
-glrefFramebufferTexture = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFramebufferTexture #-}
-glFramebufferTexture :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    m ( () )
-glFramebufferTexture
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefFramebufferTexture)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glFramebufferTexture #-}
-type FuntypeTexImage2DMultisample =
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLboolean ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexImage2DMultisample :: FunPtr FuntypeTexImage2DMultisample -> FuntypeTexImage2DMultisample
-glrefTexImage2DMultisample :: IORef FuntypeTexImage2DMultisample
-glrefTexImage2DMultisample = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexImage2DMultisample #-}
-glTexImage2DMultisample :: MonadIO m =>
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLboolean ->
-    m ( () )
-glTexImage2DMultisample
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexImage2DMultisample)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glTexImage2DMultisample #-}
-type FuntypeTexImage3DMultisample =
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLboolean ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexImage3DMultisample :: FunPtr FuntypeTexImage3DMultisample -> FuntypeTexImage3DMultisample
-glrefTexImage3DMultisample :: IORef FuntypeTexImage3DMultisample
-glrefTexImage3DMultisample = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexImage3DMultisample #-}
-glTexImage3DMultisample :: MonadIO m =>
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLboolean ->
-    m ( () )
-glTexImage3DMultisample
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexImage3DMultisample)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glTexImage3DMultisample #-}
-type FuntypeGetMultisamplefv =
-    GLenum ->
-    GLuint ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetMultisamplefv :: FunPtr FuntypeGetMultisamplefv -> FuntypeGetMultisamplefv
-glrefGetMultisamplefv :: IORef FuntypeGetMultisamplefv
-glrefGetMultisamplefv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetMultisamplefv #-}
-glGetMultisamplefv :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetMultisamplefv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetMultisamplefv)
-      a0
-      a1
-      a2
-{-# INLINE glGetMultisamplefv #-}
-type FuntypeSampleMaski =
-    GLuint ->
-    GLbitfield ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynSampleMaski :: FunPtr FuntypeSampleMaski -> FuntypeSampleMaski
-glrefSampleMaski :: IORef FuntypeSampleMaski
-glrefSampleMaski = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefSampleMaski #-}
-glSampleMaski :: MonadIO m =>
-    GLuint ->
-    GLbitfield ->
-    m ( () )
-glSampleMaski
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefSampleMaski)
-      a0
-      a1
-{-# INLINE glSampleMaski #-}
-
--- GL_VERSION_3_3
-
-type FuntypeBindFragDataLocationIndexed =
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBindFragDataLocationIndexed :: FunPtr FuntypeBindFragDataLocationIndexed -> FuntypeBindFragDataLocationIndexed
-glrefBindFragDataLocationIndexed :: IORef FuntypeBindFragDataLocationIndexed
-glrefBindFragDataLocationIndexed = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBindFragDataLocationIndexed #-}
-glBindFragDataLocationIndexed :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    Ptr (GLchar) ->
-    m ( () )
-glBindFragDataLocationIndexed
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefBindFragDataLocationIndexed)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glBindFragDataLocationIndexed #-}
-type FuntypeGetFragDataIndex =
-    GLuint ->
-    Ptr (GLchar) ->
-    IO ( GLint )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetFragDataIndex :: FunPtr FuntypeGetFragDataIndex -> FuntypeGetFragDataIndex
-glrefGetFragDataIndex :: IORef FuntypeGetFragDataIndex
-glrefGetFragDataIndex = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetFragDataIndex #-}
-glGetFragDataIndex :: MonadIO m =>
-    GLuint ->
-    Ptr (GLchar) ->
-    m ( GLint )
-glGetFragDataIndex
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetFragDataIndex)
-      a0
-      a1
-{-# INLINE glGetFragDataIndex #-}
-type FuntypeGenSamplers =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGenSamplers :: FunPtr FuntypeGenSamplers -> FuntypeGenSamplers
-glrefGenSamplers :: IORef FuntypeGenSamplers
-glrefGenSamplers = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGenSamplers #-}
-glGenSamplers :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glGenSamplers
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGenSamplers)
-      a0
-      a1
-{-# INLINE glGenSamplers #-}
-type FuntypeDeleteSamplers =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDeleteSamplers :: FunPtr FuntypeDeleteSamplers -> FuntypeDeleteSamplers
-glrefDeleteSamplers :: IORef FuntypeDeleteSamplers
-glrefDeleteSamplers = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDeleteSamplers #-}
-glDeleteSamplers :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glDeleteSamplers
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDeleteSamplers)
-      a0
-      a1
-{-# INLINE glDeleteSamplers #-}
-type FuntypeIsSampler =
-    GLuint ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsSampler :: FunPtr FuntypeIsSampler -> FuntypeIsSampler
-glrefIsSampler :: IORef FuntypeIsSampler
-glrefIsSampler = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsSampler #-}
-glIsSampler :: MonadIO m =>
-    GLuint ->
-    m ( GLboolean )
-glIsSampler
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsSampler)
-      a0
-{-# INLINE glIsSampler #-}
-type FuntypeBindSampler =
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBindSampler :: FunPtr FuntypeBindSampler -> FuntypeBindSampler
-glrefBindSampler :: IORef FuntypeBindSampler
-glrefBindSampler = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBindSampler #-}
-glBindSampler :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    m ( () )
-glBindSampler
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefBindSampler)
-      a0
-      a1
-{-# INLINE glBindSampler #-}
-type FuntypeSamplerParameteri =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynSamplerParameteri :: FunPtr FuntypeSamplerParameteri -> FuntypeSamplerParameteri
-glrefSamplerParameteri :: IORef FuntypeSamplerParameteri
-glrefSamplerParameteri = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefSamplerParameteri #-}
-glSamplerParameteri :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    m ( () )
-glSamplerParameteri
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefSamplerParameteri)
-      a0
-      a1
-      a2
-{-# INLINE glSamplerParameteri #-}
-type FuntypeSamplerParameteriv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynSamplerParameteriv :: FunPtr FuntypeSamplerParameteriv -> FuntypeSamplerParameteriv
-glrefSamplerParameteriv :: IORef FuntypeSamplerParameteriv
-glrefSamplerParameteriv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefSamplerParameteriv #-}
-glSamplerParameteriv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glSamplerParameteriv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefSamplerParameteriv)
-      a0
-      a1
-      a2
-{-# INLINE glSamplerParameteriv #-}
-type FuntypeSamplerParameterf =
-    GLuint ->
-    GLenum ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynSamplerParameterf :: FunPtr FuntypeSamplerParameterf -> FuntypeSamplerParameterf
-glrefSamplerParameterf :: IORef FuntypeSamplerParameterf
-glrefSamplerParameterf = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefSamplerParameterf #-}
-glSamplerParameterf :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLfloat ->
-    m ( () )
-glSamplerParameterf
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefSamplerParameterf)
-      a0
-      a1
-      a2
-{-# INLINE glSamplerParameterf #-}
-type FuntypeSamplerParameterfv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynSamplerParameterfv :: FunPtr FuntypeSamplerParameterfv -> FuntypeSamplerParameterfv
-glrefSamplerParameterfv :: IORef FuntypeSamplerParameterfv
-glrefSamplerParameterfv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefSamplerParameterfv #-}
-glSamplerParameterfv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glSamplerParameterfv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefSamplerParameterfv)
-      a0
-      a1
-      a2
-{-# INLINE glSamplerParameterfv #-}
-type FuntypeSamplerParameterIiv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynSamplerParameterIiv :: FunPtr FuntypeSamplerParameterIiv -> FuntypeSamplerParameterIiv
-glrefSamplerParameterIiv :: IORef FuntypeSamplerParameterIiv
-glrefSamplerParameterIiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefSamplerParameterIiv #-}
-glSamplerParameterIiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glSamplerParameterIiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefSamplerParameterIiv)
-      a0
-      a1
-      a2
-{-# INLINE glSamplerParameterIiv #-}
-type FuntypeSamplerParameterIuiv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynSamplerParameterIuiv :: FunPtr FuntypeSamplerParameterIuiv -> FuntypeSamplerParameterIuiv
-glrefSamplerParameterIuiv :: IORef FuntypeSamplerParameterIuiv
-glrefSamplerParameterIuiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefSamplerParameterIuiv #-}
-glSamplerParameterIuiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLuint) ->
-    m ( () )
-glSamplerParameterIuiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefSamplerParameterIuiv)
-      a0
-      a1
-      a2
-{-# INLINE glSamplerParameterIuiv #-}
-type FuntypeGetSamplerParameteriv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetSamplerParameteriv :: FunPtr FuntypeGetSamplerParameteriv -> FuntypeGetSamplerParameteriv
-glrefGetSamplerParameteriv :: IORef FuntypeGetSamplerParameteriv
-glrefGetSamplerParameteriv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetSamplerParameteriv #-}
-glGetSamplerParameteriv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetSamplerParameteriv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetSamplerParameteriv)
-      a0
-      a1
-      a2
-{-# INLINE glGetSamplerParameteriv #-}
-type FuntypeGetSamplerParameterIiv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetSamplerParameterIiv :: FunPtr FuntypeGetSamplerParameterIiv -> FuntypeGetSamplerParameterIiv
-glrefGetSamplerParameterIiv :: IORef FuntypeGetSamplerParameterIiv
-glrefGetSamplerParameterIiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetSamplerParameterIiv #-}
-glGetSamplerParameterIiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetSamplerParameterIiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetSamplerParameterIiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetSamplerParameterIiv #-}
-type FuntypeGetSamplerParameterfv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetSamplerParameterfv :: FunPtr FuntypeGetSamplerParameterfv -> FuntypeGetSamplerParameterfv
-glrefGetSamplerParameterfv :: IORef FuntypeGetSamplerParameterfv
-glrefGetSamplerParameterfv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetSamplerParameterfv #-}
-glGetSamplerParameterfv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetSamplerParameterfv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetSamplerParameterfv)
-      a0
-      a1
-      a2
-{-# INLINE glGetSamplerParameterfv #-}
-type FuntypeGetSamplerParameterIuiv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetSamplerParameterIuiv :: FunPtr FuntypeGetSamplerParameterIuiv -> FuntypeGetSamplerParameterIuiv
-glrefGetSamplerParameterIuiv :: IORef FuntypeGetSamplerParameterIuiv
-glrefGetSamplerParameterIuiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetSamplerParameterIuiv #-}
-glGetSamplerParameterIuiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLuint) ->
-    m ( () )
-glGetSamplerParameterIuiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetSamplerParameterIuiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetSamplerParameterIuiv #-}
-type FuntypeQueryCounter =
-    GLuint ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynQueryCounter :: FunPtr FuntypeQueryCounter -> FuntypeQueryCounter
-glrefQueryCounter :: IORef FuntypeQueryCounter
-glrefQueryCounter = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefQueryCounter #-}
-glQueryCounter :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    m ( () )
-glQueryCounter
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefQueryCounter)
-      a0
-      a1
-{-# INLINE glQueryCounter #-}
-type FuntypeGetQueryObjecti64v =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint64) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetQueryObjecti64v :: FunPtr FuntypeGetQueryObjecti64v -> FuntypeGetQueryObjecti64v
-glrefGetQueryObjecti64v :: IORef FuntypeGetQueryObjecti64v
-glrefGetQueryObjecti64v = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetQueryObjecti64v #-}
-glGetQueryObjecti64v :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint64) ->
-    m ( () )
-glGetQueryObjecti64v
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetQueryObjecti64v)
-      a0
-      a1
-      a2
-{-# INLINE glGetQueryObjecti64v #-}
-type FuntypeGetQueryObjectui64v =
-    GLuint ->
-    GLenum ->
-    Ptr (GLuint64) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetQueryObjectui64v :: FunPtr FuntypeGetQueryObjectui64v -> FuntypeGetQueryObjectui64v
-glrefGetQueryObjectui64v :: IORef FuntypeGetQueryObjectui64v
-glrefGetQueryObjectui64v = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetQueryObjectui64v #-}
-glGetQueryObjectui64v :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLuint64) ->
-    m ( () )
-glGetQueryObjectui64v
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetQueryObjectui64v)
-      a0
-      a1
-      a2
-{-# INLINE glGetQueryObjectui64v #-}
-type FuntypeVertexAttribDivisor =
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribDivisor :: FunPtr FuntypeVertexAttribDivisor -> FuntypeVertexAttribDivisor
-glrefVertexAttribDivisor :: IORef FuntypeVertexAttribDivisor
-glrefVertexAttribDivisor = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribDivisor #-}
-glVertexAttribDivisor :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    m ( () )
-glVertexAttribDivisor
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribDivisor)
-      a0
-      a1
-{-# INLINE glVertexAttribDivisor #-}
-type FuntypeVertexAttribP1ui =
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribP1ui :: FunPtr FuntypeVertexAttribP1ui -> FuntypeVertexAttribP1ui
-glrefVertexAttribP1ui :: IORef FuntypeVertexAttribP1ui
-glrefVertexAttribP1ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribP1ui #-}
-glVertexAttribP1ui :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    GLuint ->
-    m ( () )
-glVertexAttribP1ui
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribP1ui)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexAttribP1ui #-}
-type FuntypeVertexAttribP1uiv =
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribP1uiv :: FunPtr FuntypeVertexAttribP1uiv -> FuntypeVertexAttribP1uiv
-glrefVertexAttribP1uiv :: IORef FuntypeVertexAttribP1uiv
-glrefVertexAttribP1uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribP1uiv #-}
-glVertexAttribP1uiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    Ptr (GLuint) ->
-    m ( () )
-glVertexAttribP1uiv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribP1uiv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexAttribP1uiv #-}
-type FuntypeVertexAttribP2ui =
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribP2ui :: FunPtr FuntypeVertexAttribP2ui -> FuntypeVertexAttribP2ui
-glrefVertexAttribP2ui :: IORef FuntypeVertexAttribP2ui
-glrefVertexAttribP2ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribP2ui #-}
-glVertexAttribP2ui :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    GLuint ->
-    m ( () )
-glVertexAttribP2ui
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribP2ui)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexAttribP2ui #-}
-type FuntypeVertexAttribP2uiv =
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribP2uiv :: FunPtr FuntypeVertexAttribP2uiv -> FuntypeVertexAttribP2uiv
-glrefVertexAttribP2uiv :: IORef FuntypeVertexAttribP2uiv
-glrefVertexAttribP2uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribP2uiv #-}
-glVertexAttribP2uiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    Ptr (GLuint) ->
-    m ( () )
-glVertexAttribP2uiv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribP2uiv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexAttribP2uiv #-}
-type FuntypeVertexAttribP3ui =
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribP3ui :: FunPtr FuntypeVertexAttribP3ui -> FuntypeVertexAttribP3ui
-glrefVertexAttribP3ui :: IORef FuntypeVertexAttribP3ui
-glrefVertexAttribP3ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribP3ui #-}
-glVertexAttribP3ui :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    GLuint ->
-    m ( () )
-glVertexAttribP3ui
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribP3ui)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexAttribP3ui #-}
-type FuntypeVertexAttribP3uiv =
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribP3uiv :: FunPtr FuntypeVertexAttribP3uiv -> FuntypeVertexAttribP3uiv
-glrefVertexAttribP3uiv :: IORef FuntypeVertexAttribP3uiv
-glrefVertexAttribP3uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribP3uiv #-}
-glVertexAttribP3uiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    Ptr (GLuint) ->
-    m ( () )
-glVertexAttribP3uiv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribP3uiv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexAttribP3uiv #-}
-type FuntypeVertexAttribP4ui =
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribP4ui :: FunPtr FuntypeVertexAttribP4ui -> FuntypeVertexAttribP4ui
-glrefVertexAttribP4ui :: IORef FuntypeVertexAttribP4ui
-glrefVertexAttribP4ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribP4ui #-}
-glVertexAttribP4ui :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    GLuint ->
-    m ( () )
-glVertexAttribP4ui
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribP4ui)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexAttribP4ui #-}
-type FuntypeVertexAttribP4uiv =
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexAttribP4uiv :: FunPtr FuntypeVertexAttribP4uiv -> FuntypeVertexAttribP4uiv
-glrefVertexAttribP4uiv :: IORef FuntypeVertexAttribP4uiv
-glrefVertexAttribP4uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexAttribP4uiv #-}
-glVertexAttribP4uiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLboolean ->
-    Ptr (GLuint) ->
-    m ( () )
-glVertexAttribP4uiv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexAttribP4uiv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexAttribP4uiv #-}
-
--- GL_ARB_texture_storage
-
-type FuntypeTexStorage1D =
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexStorage1D :: FunPtr FuntypeTexStorage1D -> FuntypeTexStorage1D
-glrefTexStorage1D :: IORef FuntypeTexStorage1D
-glrefTexStorage1D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexStorage1D #-}
-glTexStorage1D :: MonadIO m =>
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    m ( () )
-glTexStorage1D
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexStorage1D)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glTexStorage1D #-}
-type FuntypeTexStorage2D =
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexStorage2D :: FunPtr FuntypeTexStorage2D -> FuntypeTexStorage2D
-glrefTexStorage2D :: IORef FuntypeTexStorage2D
-glrefTexStorage2D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexStorage2D #-}
-glTexStorage2D :: MonadIO m =>
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glTexStorage2D
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexStorage2D)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glTexStorage2D #-}
-type FuntypeTexStorage3D =
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexStorage3D :: FunPtr FuntypeTexStorage3D -> FuntypeTexStorage3D
-glrefTexStorage3D :: IORef FuntypeTexStorage3D
-glrefTexStorage3D = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexStorage3D #-}
-glTexStorage3D :: MonadIO m =>
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glTexStorage3D
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexStorage3D)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glTexStorage3D #-}
-
--- GL_KHR_debug
-
-type FuntypeDebugMessageControl =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    GLboolean ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDebugMessageControl :: FunPtr FuntypeDebugMessageControl -> FuntypeDebugMessageControl
-glrefDebugMessageControl :: IORef FuntypeDebugMessageControl
-glrefDebugMessageControl = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDebugMessageControl #-}
-glDebugMessageControl :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    GLboolean ->
-    m ( () )
-glDebugMessageControl
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefDebugMessageControl)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glDebugMessageControl #-}
-type FuntypeDebugMessageInsert =
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDebugMessageInsert :: FunPtr FuntypeDebugMessageInsert -> FuntypeDebugMessageInsert
-glrefDebugMessageInsert :: IORef FuntypeDebugMessageInsert
-glrefDebugMessageInsert = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDebugMessageInsert #-}
-glDebugMessageInsert :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    m ( () )
-glDebugMessageInsert
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefDebugMessageInsert)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glDebugMessageInsert #-}
-type FuntypeDebugMessageCallback =
-    GLDEBUGPROC ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDebugMessageCallback :: FunPtr FuntypeDebugMessageCallback -> FuntypeDebugMessageCallback
-glrefDebugMessageCallback :: IORef FuntypeDebugMessageCallback
-glrefDebugMessageCallback = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDebugMessageCallback #-}
-glDebugMessageCallback :: MonadIO m =>
-    GLDEBUGPROC ->
-    Ptr () ->
-    m ( () )
-glDebugMessageCallback
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDebugMessageCallback)
-      a0
-      a1
-{-# INLINE glDebugMessageCallback #-}
-type FuntypeGetDebugMessageLog =
-    GLuint ->
-    GLsizei ->
-    Ptr (GLenum) ->
-    Ptr (GLenum) ->
-    Ptr (GLuint) ->
-    Ptr (GLenum) ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    IO ( GLuint )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetDebugMessageLog :: FunPtr FuntypeGetDebugMessageLog -> FuntypeGetDebugMessageLog
-glrefGetDebugMessageLog :: IORef FuntypeGetDebugMessageLog
-glrefGetDebugMessageLog = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetDebugMessageLog #-}
-glGetDebugMessageLog :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    Ptr (GLenum) ->
-    Ptr (GLenum) ->
-    Ptr (GLuint) ->
-    Ptr (GLenum) ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    m ( GLuint )
-glGetDebugMessageLog
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetDebugMessageLog)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glGetDebugMessageLog #-}
-type FuntypePushDebugGroup =
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPushDebugGroup :: FunPtr FuntypePushDebugGroup -> FuntypePushDebugGroup
-glrefPushDebugGroup :: IORef FuntypePushDebugGroup
-glrefPushDebugGroup = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPushDebugGroup #-}
-glPushDebugGroup :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    m ( () )
-glPushDebugGroup
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefPushDebugGroup)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glPushDebugGroup #-}
-type FuntypePopDebugGroup =
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPopDebugGroup :: FunPtr FuntypePopDebugGroup -> FuntypePopDebugGroup
-glrefPopDebugGroup :: IORef FuntypePopDebugGroup
-glrefPopDebugGroup = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPopDebugGroup #-}
-glPopDebugGroup :: MonadIO m =>
-    m ( () )
-glPopDebugGroup
-    = liftIO $ (unsafePerformIO $ readIORef glrefPopDebugGroup)
-{-# INLINE glPopDebugGroup #-}
-type FuntypeObjectLabel =
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynObjectLabel :: FunPtr FuntypeObjectLabel -> FuntypeObjectLabel
-glrefObjectLabel :: IORef FuntypeObjectLabel
-glrefObjectLabel = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefObjectLabel #-}
-glObjectLabel :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    m ( () )
-glObjectLabel
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefObjectLabel)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glObjectLabel #-}
-type FuntypeGetObjectLabel =
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetObjectLabel :: FunPtr FuntypeGetObjectLabel -> FuntypeGetObjectLabel
-glrefGetObjectLabel :: IORef FuntypeGetObjectLabel
-glrefGetObjectLabel = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetObjectLabel #-}
-glGetObjectLabel :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    m ( () )
-glGetObjectLabel
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetObjectLabel)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glGetObjectLabel #-}
-type FuntypeObjectPtrLabel =
-    Ptr () ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynObjectPtrLabel :: FunPtr FuntypeObjectPtrLabel -> FuntypeObjectPtrLabel
-glrefObjectPtrLabel :: IORef FuntypeObjectPtrLabel
-glrefObjectPtrLabel = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefObjectPtrLabel #-}
-glObjectPtrLabel :: MonadIO m =>
-    Ptr () ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    m ( () )
-glObjectPtrLabel
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefObjectPtrLabel)
-      a0
-      a1
-      a2
-{-# INLINE glObjectPtrLabel #-}
-type FuntypeGetObjectPtrLabel =
-    Ptr () ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetObjectPtrLabel :: FunPtr FuntypeGetObjectPtrLabel -> FuntypeGetObjectPtrLabel
-glrefGetObjectPtrLabel :: IORef FuntypeGetObjectPtrLabel
-glrefGetObjectPtrLabel = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetObjectPtrLabel #-}
-glGetObjectPtrLabel :: MonadIO m =>
-    Ptr () ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    m ( () )
-glGetObjectPtrLabel
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetObjectPtrLabel)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetObjectPtrLabel #-}
-type FuntypeGetPointerv =
-    GLenum ->
-    Ptr (Ptr ()) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetPointerv :: FunPtr FuntypeGetPointerv -> FuntypeGetPointerv
-glrefGetPointerv :: IORef FuntypeGetPointerv
-glrefGetPointerv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetPointerv #-}
-glGetPointerv :: MonadIO m =>
-    GLenum ->
-    Ptr (Ptr ()) ->
-    m ( () )
-glGetPointerv
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetPointerv)
-      a0
-      a1
-{-# INLINE glGetPointerv #-}
-type FuntypeDebugMessageControlKHR =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    GLboolean ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDebugMessageControlKHR :: FunPtr FuntypeDebugMessageControlKHR -> FuntypeDebugMessageControlKHR
-glrefDebugMessageControlKHR :: IORef FuntypeDebugMessageControlKHR
-glrefDebugMessageControlKHR = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDebugMessageControlKHR #-}
-glDebugMessageControlKHR :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    GLboolean ->
-    m ( () )
-glDebugMessageControlKHR
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefDebugMessageControlKHR)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glDebugMessageControlKHR #-}
-type FuntypeDebugMessageInsertKHR =
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDebugMessageInsertKHR :: FunPtr FuntypeDebugMessageInsertKHR -> FuntypeDebugMessageInsertKHR
-glrefDebugMessageInsertKHR :: IORef FuntypeDebugMessageInsertKHR
-glrefDebugMessageInsertKHR = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDebugMessageInsertKHR #-}
-glDebugMessageInsertKHR :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    m ( () )
-glDebugMessageInsertKHR
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefDebugMessageInsertKHR)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glDebugMessageInsertKHR #-}
-type FuntypeDebugMessageCallbackKHR =
-    GLDEBUGPROCKHR ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDebugMessageCallbackKHR :: FunPtr FuntypeDebugMessageCallbackKHR -> FuntypeDebugMessageCallbackKHR
-glrefDebugMessageCallbackKHR :: IORef FuntypeDebugMessageCallbackKHR
-glrefDebugMessageCallbackKHR = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDebugMessageCallbackKHR #-}
-glDebugMessageCallbackKHR :: MonadIO m =>
-    GLDEBUGPROCKHR ->
-    Ptr () ->
-    m ( () )
-glDebugMessageCallbackKHR
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDebugMessageCallbackKHR)
-      a0
-      a1
-{-# INLINE glDebugMessageCallbackKHR #-}
-type FuntypeGetDebugMessageLogKHR =
-    GLuint ->
-    GLsizei ->
-    Ptr (GLenum) ->
-    Ptr (GLenum) ->
-    Ptr (GLuint) ->
-    Ptr (GLenum) ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    IO ( GLuint )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetDebugMessageLogKHR :: FunPtr FuntypeGetDebugMessageLogKHR -> FuntypeGetDebugMessageLogKHR
-glrefGetDebugMessageLogKHR :: IORef FuntypeGetDebugMessageLogKHR
-glrefGetDebugMessageLogKHR = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetDebugMessageLogKHR #-}
-glGetDebugMessageLogKHR :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    Ptr (GLenum) ->
-    Ptr (GLenum) ->
-    Ptr (GLuint) ->
-    Ptr (GLenum) ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    m ( GLuint )
-glGetDebugMessageLogKHR
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetDebugMessageLogKHR)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glGetDebugMessageLogKHR #-}
-type FuntypePushDebugGroupKHR =
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPushDebugGroupKHR :: FunPtr FuntypePushDebugGroupKHR -> FuntypePushDebugGroupKHR
-glrefPushDebugGroupKHR :: IORef FuntypePushDebugGroupKHR
-glrefPushDebugGroupKHR = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPushDebugGroupKHR #-}
-glPushDebugGroupKHR :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    m ( () )
-glPushDebugGroupKHR
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefPushDebugGroupKHR)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glPushDebugGroupKHR #-}
-type FuntypePopDebugGroupKHR =
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPopDebugGroupKHR :: FunPtr FuntypePopDebugGroupKHR -> FuntypePopDebugGroupKHR
-glrefPopDebugGroupKHR :: IORef FuntypePopDebugGroupKHR
-glrefPopDebugGroupKHR = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPopDebugGroupKHR #-}
-glPopDebugGroupKHR :: MonadIO m =>
-    m ( () )
-glPopDebugGroupKHR
-    = liftIO $ (unsafePerformIO $ readIORef glrefPopDebugGroupKHR)
-{-# INLINE glPopDebugGroupKHR #-}
-type FuntypeObjectLabelKHR =
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynObjectLabelKHR :: FunPtr FuntypeObjectLabelKHR -> FuntypeObjectLabelKHR
-glrefObjectLabelKHR :: IORef FuntypeObjectLabelKHR
-glrefObjectLabelKHR = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefObjectLabelKHR #-}
-glObjectLabelKHR :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    m ( () )
-glObjectLabelKHR
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefObjectLabelKHR)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glObjectLabelKHR #-}
-type FuntypeGetObjectLabelKHR =
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetObjectLabelKHR :: FunPtr FuntypeGetObjectLabelKHR -> FuntypeGetObjectLabelKHR
-glrefGetObjectLabelKHR :: IORef FuntypeGetObjectLabelKHR
-glrefGetObjectLabelKHR = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetObjectLabelKHR #-}
-glGetObjectLabelKHR :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    m ( () )
-glGetObjectLabelKHR
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetObjectLabelKHR)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glGetObjectLabelKHR #-}
-type FuntypeObjectPtrLabelKHR =
-    Ptr () ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynObjectPtrLabelKHR :: FunPtr FuntypeObjectPtrLabelKHR -> FuntypeObjectPtrLabelKHR
-glrefObjectPtrLabelKHR :: IORef FuntypeObjectPtrLabelKHR
-glrefObjectPtrLabelKHR = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefObjectPtrLabelKHR #-}
-glObjectPtrLabelKHR :: MonadIO m =>
-    Ptr () ->
-    GLsizei ->
-    Ptr (GLchar) ->
-    m ( () )
-glObjectPtrLabelKHR
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefObjectPtrLabelKHR)
-      a0
-      a1
-      a2
-{-# INLINE glObjectPtrLabelKHR #-}
-type FuntypeGetObjectPtrLabelKHR =
-    Ptr () ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetObjectPtrLabelKHR :: FunPtr FuntypeGetObjectPtrLabelKHR -> FuntypeGetObjectPtrLabelKHR
-glrefGetObjectPtrLabelKHR :: IORef FuntypeGetObjectPtrLabelKHR
-glrefGetObjectPtrLabelKHR = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetObjectPtrLabelKHR #-}
-glGetObjectPtrLabelKHR :: MonadIO m =>
-    Ptr () ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    m ( () )
-glGetObjectPtrLabelKHR
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetObjectPtrLabelKHR)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetObjectPtrLabelKHR #-}
-type FuntypeGetPointervKHR =
-    GLenum ->
-    Ptr (Ptr ()) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetPointervKHR :: FunPtr FuntypeGetPointervKHR -> FuntypeGetPointervKHR
-glrefGetPointervKHR :: IORef FuntypeGetPointervKHR
-glrefGetPointervKHR = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetPointervKHR #-}
-glGetPointervKHR :: MonadIO m =>
-    GLenum ->
-    Ptr (Ptr ()) ->
-    m ( () )
-glGetPointervKHR
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetPointervKHR)
-      a0
-      a1
-{-# INLINE glGetPointervKHR #-}
-
--- GL_EXT_direct_state_access
-
-type FuntypeMatrixLoadfEXT =
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixLoadfEXT :: FunPtr FuntypeMatrixLoadfEXT -> FuntypeMatrixLoadfEXT
-glrefMatrixLoadfEXT :: IORef FuntypeMatrixLoadfEXT
-glrefMatrixLoadfEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixLoadfEXT #-}
-glMatrixLoadfEXT :: MonadIO m =>
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glMatrixLoadfEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixLoadfEXT)
-      a0
-      a1
-{-# INLINE glMatrixLoadfEXT #-}
-type FuntypeMatrixLoaddEXT =
-    GLenum ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixLoaddEXT :: FunPtr FuntypeMatrixLoaddEXT -> FuntypeMatrixLoaddEXT
-glrefMatrixLoaddEXT :: IORef FuntypeMatrixLoaddEXT
-glrefMatrixLoaddEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixLoaddEXT #-}
-glMatrixLoaddEXT :: MonadIO m =>
-    GLenum ->
-    Ptr (GLdouble) ->
-    m ( () )
-glMatrixLoaddEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixLoaddEXT)
-      a0
-      a1
-{-# INLINE glMatrixLoaddEXT #-}
-type FuntypeMatrixMultfEXT =
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixMultfEXT :: FunPtr FuntypeMatrixMultfEXT -> FuntypeMatrixMultfEXT
-glrefMatrixMultfEXT :: IORef FuntypeMatrixMultfEXT
-glrefMatrixMultfEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixMultfEXT #-}
-glMatrixMultfEXT :: MonadIO m =>
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glMatrixMultfEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixMultfEXT)
-      a0
-      a1
-{-# INLINE glMatrixMultfEXT #-}
-type FuntypeMatrixMultdEXT =
-    GLenum ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixMultdEXT :: FunPtr FuntypeMatrixMultdEXT -> FuntypeMatrixMultdEXT
-glrefMatrixMultdEXT :: IORef FuntypeMatrixMultdEXT
-glrefMatrixMultdEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixMultdEXT #-}
-glMatrixMultdEXT :: MonadIO m =>
-    GLenum ->
-    Ptr (GLdouble) ->
-    m ( () )
-glMatrixMultdEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixMultdEXT)
-      a0
-      a1
-{-# INLINE glMatrixMultdEXT #-}
-type FuntypeMatrixLoadIdentityEXT =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixLoadIdentityEXT :: FunPtr FuntypeMatrixLoadIdentityEXT -> FuntypeMatrixLoadIdentityEXT
-glrefMatrixLoadIdentityEXT :: IORef FuntypeMatrixLoadIdentityEXT
-glrefMatrixLoadIdentityEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixLoadIdentityEXT #-}
-glMatrixLoadIdentityEXT :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glMatrixLoadIdentityEXT
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixLoadIdentityEXT)
-      a0
-{-# INLINE glMatrixLoadIdentityEXT #-}
-type FuntypeMatrixRotatefEXT =
-    GLenum ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixRotatefEXT :: FunPtr FuntypeMatrixRotatefEXT -> FuntypeMatrixRotatefEXT
-glrefMatrixRotatefEXT :: IORef FuntypeMatrixRotatefEXT
-glrefMatrixRotatefEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixRotatefEXT #-}
-glMatrixRotatefEXT :: MonadIO m =>
-    GLenum ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glMatrixRotatefEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixRotatefEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glMatrixRotatefEXT #-}
-type FuntypeMatrixRotatedEXT =
-    GLenum ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixRotatedEXT :: FunPtr FuntypeMatrixRotatedEXT -> FuntypeMatrixRotatedEXT
-glrefMatrixRotatedEXT :: IORef FuntypeMatrixRotatedEXT
-glrefMatrixRotatedEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixRotatedEXT #-}
-glMatrixRotatedEXT :: MonadIO m =>
-    GLenum ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glMatrixRotatedEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixRotatedEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glMatrixRotatedEXT #-}
-type FuntypeMatrixScalefEXT =
-    GLenum ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixScalefEXT :: FunPtr FuntypeMatrixScalefEXT -> FuntypeMatrixScalefEXT
-glrefMatrixScalefEXT :: IORef FuntypeMatrixScalefEXT
-glrefMatrixScalefEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixScalefEXT #-}
-glMatrixScalefEXT :: MonadIO m =>
-    GLenum ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glMatrixScalefEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixScalefEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMatrixScalefEXT #-}
-type FuntypeMatrixScaledEXT =
-    GLenum ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixScaledEXT :: FunPtr FuntypeMatrixScaledEXT -> FuntypeMatrixScaledEXT
-glrefMatrixScaledEXT :: IORef FuntypeMatrixScaledEXT
-glrefMatrixScaledEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixScaledEXT #-}
-glMatrixScaledEXT :: MonadIO m =>
-    GLenum ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glMatrixScaledEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixScaledEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMatrixScaledEXT #-}
-type FuntypeMatrixTranslatefEXT =
-    GLenum ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixTranslatefEXT :: FunPtr FuntypeMatrixTranslatefEXT -> FuntypeMatrixTranslatefEXT
-glrefMatrixTranslatefEXT :: IORef FuntypeMatrixTranslatefEXT
-glrefMatrixTranslatefEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixTranslatefEXT #-}
-glMatrixTranslatefEXT :: MonadIO m =>
-    GLenum ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glMatrixTranslatefEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixTranslatefEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMatrixTranslatefEXT #-}
-type FuntypeMatrixTranslatedEXT =
-    GLenum ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixTranslatedEXT :: FunPtr FuntypeMatrixTranslatedEXT -> FuntypeMatrixTranslatedEXT
-glrefMatrixTranslatedEXT :: IORef FuntypeMatrixTranslatedEXT
-glrefMatrixTranslatedEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixTranslatedEXT #-}
-glMatrixTranslatedEXT :: MonadIO m =>
-    GLenum ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glMatrixTranslatedEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixTranslatedEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMatrixTranslatedEXT #-}
-type FuntypeMatrixFrustumEXT =
-    GLenum ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixFrustumEXT :: FunPtr FuntypeMatrixFrustumEXT -> FuntypeMatrixFrustumEXT
-glrefMatrixFrustumEXT :: IORef FuntypeMatrixFrustumEXT
-glrefMatrixFrustumEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixFrustumEXT #-}
-glMatrixFrustumEXT :: MonadIO m =>
-    GLenum ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glMatrixFrustumEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixFrustumEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glMatrixFrustumEXT #-}
-type FuntypeMatrixOrthoEXT =
-    GLenum ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixOrthoEXT :: FunPtr FuntypeMatrixOrthoEXT -> FuntypeMatrixOrthoEXT
-glrefMatrixOrthoEXT :: IORef FuntypeMatrixOrthoEXT
-glrefMatrixOrthoEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixOrthoEXT #-}
-glMatrixOrthoEXT :: MonadIO m =>
-    GLenum ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glMatrixOrthoEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixOrthoEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glMatrixOrthoEXT #-}
-type FuntypeMatrixPopEXT =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixPopEXT :: FunPtr FuntypeMatrixPopEXT -> FuntypeMatrixPopEXT
-glrefMatrixPopEXT :: IORef FuntypeMatrixPopEXT
-glrefMatrixPopEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixPopEXT #-}
-glMatrixPopEXT :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glMatrixPopEXT
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixPopEXT)
-      a0
-{-# INLINE glMatrixPopEXT #-}
-type FuntypeMatrixPushEXT =
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixPushEXT :: FunPtr FuntypeMatrixPushEXT -> FuntypeMatrixPushEXT
-glrefMatrixPushEXT :: IORef FuntypeMatrixPushEXT
-glrefMatrixPushEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixPushEXT #-}
-glMatrixPushEXT :: MonadIO m =>
-    GLenum ->
-    m ( () )
-glMatrixPushEXT
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixPushEXT)
-      a0
-{-# INLINE glMatrixPushEXT #-}
-type FuntypeClientAttribDefaultEXT =
-    GLbitfield ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynClientAttribDefaultEXT :: FunPtr FuntypeClientAttribDefaultEXT -> FuntypeClientAttribDefaultEXT
-glrefClientAttribDefaultEXT :: IORef FuntypeClientAttribDefaultEXT
-glrefClientAttribDefaultEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefClientAttribDefaultEXT #-}
-glClientAttribDefaultEXT :: MonadIO m =>
-    GLbitfield ->
-    m ( () )
-glClientAttribDefaultEXT
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefClientAttribDefaultEXT)
-      a0
-{-# INLINE glClientAttribDefaultEXT #-}
-type FuntypePushClientAttribDefaultEXT =
-    GLbitfield ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynPushClientAttribDefaultEXT :: FunPtr FuntypePushClientAttribDefaultEXT -> FuntypePushClientAttribDefaultEXT
-glrefPushClientAttribDefaultEXT :: IORef FuntypePushClientAttribDefaultEXT
-glrefPushClientAttribDefaultEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefPushClientAttribDefaultEXT #-}
-glPushClientAttribDefaultEXT :: MonadIO m =>
-    GLbitfield ->
-    m ( () )
-glPushClientAttribDefaultEXT
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefPushClientAttribDefaultEXT)
-      a0
-{-# INLINE glPushClientAttribDefaultEXT #-}
-type FuntypeTextureParameterfEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureParameterfEXT :: FunPtr FuntypeTextureParameterfEXT -> FuntypeTextureParameterfEXT
-glrefTextureParameterfEXT :: IORef FuntypeTextureParameterfEXT
-glrefTextureParameterfEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureParameterfEXT #-}
-glTextureParameterfEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLfloat ->
-    m ( () )
-glTextureParameterfEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureParameterfEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glTextureParameterfEXT #-}
-type FuntypeTextureParameterfvEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureParameterfvEXT :: FunPtr FuntypeTextureParameterfvEXT -> FuntypeTextureParameterfvEXT
-glrefTextureParameterfvEXT :: IORef FuntypeTextureParameterfvEXT
-glrefTextureParameterfvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureParameterfvEXT #-}
-glTextureParameterfvEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glTextureParameterfvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureParameterfvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glTextureParameterfvEXT #-}
-type FuntypeTextureParameteriEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureParameteriEXT :: FunPtr FuntypeTextureParameteriEXT -> FuntypeTextureParameteriEXT
-glrefTextureParameteriEXT :: IORef FuntypeTextureParameteriEXT
-glrefTextureParameteriEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureParameteriEXT #-}
-glTextureParameteriEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLint ->
-    m ( () )
-glTextureParameteriEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureParameteriEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glTextureParameteriEXT #-}
-type FuntypeTextureParameterivEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureParameterivEXT :: FunPtr FuntypeTextureParameterivEXT -> FuntypeTextureParameterivEXT
-glrefTextureParameterivEXT :: IORef FuntypeTextureParameterivEXT
-glrefTextureParameterivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureParameterivEXT #-}
-glTextureParameterivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glTextureParameterivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureParameterivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glTextureParameterivEXT #-}
-type FuntypeTextureImage1DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureImage1DEXT :: FunPtr FuntypeTextureImage1DEXT -> FuntypeTextureImage1DEXT
-glrefTextureImage1DEXT :: IORef FuntypeTextureImage1DEXT
-glrefTextureImage1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureImage1DEXT #-}
-glTextureImage1DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glTextureImage1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureImage1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glTextureImage1DEXT #-}
-type FuntypeTextureImage2DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureImage2DEXT :: FunPtr FuntypeTextureImage2DEXT -> FuntypeTextureImage2DEXT
-glrefTextureImage2DEXT :: IORef FuntypeTextureImage2DEXT
-glrefTextureImage2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureImage2DEXT #-}
-glTextureImage2DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glTextureImage2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureImage2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-{-# INLINE glTextureImage2DEXT #-}
-type FuntypeTextureSubImage1DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureSubImage1DEXT :: FunPtr FuntypeTextureSubImage1DEXT -> FuntypeTextureSubImage1DEXT
-glrefTextureSubImage1DEXT :: IORef FuntypeTextureSubImage1DEXT
-glrefTextureSubImage1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureSubImage1DEXT #-}
-glTextureSubImage1DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glTextureSubImage1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureSubImage1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glTextureSubImage1DEXT #-}
-type FuntypeTextureSubImage2DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureSubImage2DEXT :: FunPtr FuntypeTextureSubImage2DEXT -> FuntypeTextureSubImage2DEXT
-glrefTextureSubImage2DEXT :: IORef FuntypeTextureSubImage2DEXT
-glrefTextureSubImage2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureSubImage2DEXT #-}
-glTextureSubImage2DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glTextureSubImage2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureSubImage2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-{-# INLINE glTextureSubImage2DEXT #-}
-type FuntypeCopyTextureImage1DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyTextureImage1DEXT :: FunPtr FuntypeCopyTextureImage1DEXT -> FuntypeCopyTextureImage1DEXT
-glrefCopyTextureImage1DEXT :: IORef FuntypeCopyTextureImage1DEXT
-glrefCopyTextureImage1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyTextureImage1DEXT #-}
-glCopyTextureImage1DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLint ->
-    m ( () )
-glCopyTextureImage1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyTextureImage1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glCopyTextureImage1DEXT #-}
-type FuntypeCopyTextureImage2DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyTextureImage2DEXT :: FunPtr FuntypeCopyTextureImage2DEXT -> FuntypeCopyTextureImage2DEXT
-glrefCopyTextureImage2DEXT :: IORef FuntypeCopyTextureImage2DEXT
-glrefCopyTextureImage2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyTextureImage2DEXT #-}
-glCopyTextureImage2DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    m ( () )
-glCopyTextureImage2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyTextureImage2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glCopyTextureImage2DEXT #-}
-type FuntypeCopyTextureSubImage1DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyTextureSubImage1DEXT :: FunPtr FuntypeCopyTextureSubImage1DEXT -> FuntypeCopyTextureSubImage1DEXT
-glrefCopyTextureSubImage1DEXT :: IORef FuntypeCopyTextureSubImage1DEXT
-glrefCopyTextureSubImage1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyTextureSubImage1DEXT #-}
-glCopyTextureSubImage1DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    m ( () )
-glCopyTextureSubImage1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyTextureSubImage1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glCopyTextureSubImage1DEXT #-}
-type FuntypeCopyTextureSubImage2DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyTextureSubImage2DEXT :: FunPtr FuntypeCopyTextureSubImage2DEXT -> FuntypeCopyTextureSubImage2DEXT
-glrefCopyTextureSubImage2DEXT :: IORef FuntypeCopyTextureSubImage2DEXT
-glrefCopyTextureSubImage2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyTextureSubImage2DEXT #-}
-glCopyTextureSubImage2DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glCopyTextureSubImage2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyTextureSubImage2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glCopyTextureSubImage2DEXT #-}
-type FuntypeGetTextureImageEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTextureImageEXT :: FunPtr FuntypeGetTextureImageEXT -> FuntypeGetTextureImageEXT
-glrefGetTextureImageEXT :: IORef FuntypeGetTextureImageEXT
-glrefGetTextureImageEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTextureImageEXT #-}
-glGetTextureImageEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glGetTextureImageEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTextureImageEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glGetTextureImageEXT #-}
-type FuntypeGetTextureParameterfvEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTextureParameterfvEXT :: FunPtr FuntypeGetTextureParameterfvEXT -> FuntypeGetTextureParameterfvEXT
-glrefGetTextureParameterfvEXT :: IORef FuntypeGetTextureParameterfvEXT
-glrefGetTextureParameterfvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTextureParameterfvEXT #-}
-glGetTextureParameterfvEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetTextureParameterfvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTextureParameterfvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetTextureParameterfvEXT #-}
-type FuntypeGetTextureParameterivEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTextureParameterivEXT :: FunPtr FuntypeGetTextureParameterivEXT -> FuntypeGetTextureParameterivEXT
-glrefGetTextureParameterivEXT :: IORef FuntypeGetTextureParameterivEXT
-glrefGetTextureParameterivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTextureParameterivEXT #-}
-glGetTextureParameterivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetTextureParameterivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTextureParameterivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetTextureParameterivEXT #-}
-type FuntypeGetTextureLevelParameterfvEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTextureLevelParameterfvEXT :: FunPtr FuntypeGetTextureLevelParameterfvEXT -> FuntypeGetTextureLevelParameterfvEXT
-glrefGetTextureLevelParameterfvEXT :: IORef FuntypeGetTextureLevelParameterfvEXT
-glrefGetTextureLevelParameterfvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTextureLevelParameterfvEXT #-}
-glGetTextureLevelParameterfvEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetTextureLevelParameterfvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTextureLevelParameterfvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glGetTextureLevelParameterfvEXT #-}
-type FuntypeGetTextureLevelParameterivEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTextureLevelParameterivEXT :: FunPtr FuntypeGetTextureLevelParameterivEXT -> FuntypeGetTextureLevelParameterivEXT
-glrefGetTextureLevelParameterivEXT :: IORef FuntypeGetTextureLevelParameterivEXT
-glrefGetTextureLevelParameterivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTextureLevelParameterivEXT #-}
-glGetTextureLevelParameterivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetTextureLevelParameterivEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTextureLevelParameterivEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glGetTextureLevelParameterivEXT #-}
-type FuntypeTextureImage3DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureImage3DEXT :: FunPtr FuntypeTextureImage3DEXT -> FuntypeTextureImage3DEXT
-glrefTextureImage3DEXT :: IORef FuntypeTextureImage3DEXT
-glrefTextureImage3DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureImage3DEXT #-}
-glTextureImage3DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glTextureImage3DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    a10
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureImage3DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-      a10
-{-# INLINE glTextureImage3DEXT #-}
-type FuntypeTextureSubImage3DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureSubImage3DEXT :: FunPtr FuntypeTextureSubImage3DEXT -> FuntypeTextureSubImage3DEXT
-glrefTextureSubImage3DEXT :: IORef FuntypeTextureSubImage3DEXT
-glrefTextureSubImage3DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureSubImage3DEXT #-}
-glTextureSubImage3DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glTextureSubImage3DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    a10
-    a11
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureSubImage3DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-      a10
-      a11
-{-# INLINE glTextureSubImage3DEXT #-}
-type FuntypeCopyTextureSubImage3DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyTextureSubImage3DEXT :: FunPtr FuntypeCopyTextureSubImage3DEXT -> FuntypeCopyTextureSubImage3DEXT
-glrefCopyTextureSubImage3DEXT :: IORef FuntypeCopyTextureSubImage3DEXT
-glrefCopyTextureSubImage3DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyTextureSubImage3DEXT #-}
-glCopyTextureSubImage3DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glCopyTextureSubImage3DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyTextureSubImage3DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-{-# INLINE glCopyTextureSubImage3DEXT #-}
-type FuntypeBindMultiTextureEXT =
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBindMultiTextureEXT :: FunPtr FuntypeBindMultiTextureEXT -> FuntypeBindMultiTextureEXT
-glrefBindMultiTextureEXT :: IORef FuntypeBindMultiTextureEXT
-glrefBindMultiTextureEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBindMultiTextureEXT #-}
-glBindMultiTextureEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    m ( () )
-glBindMultiTextureEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefBindMultiTextureEXT)
-      a0
-      a1
-      a2
-{-# INLINE glBindMultiTextureEXT #-}
-type FuntypeMultiTexCoordPointerEXT =
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexCoordPointerEXT :: FunPtr FuntypeMultiTexCoordPointerEXT -> FuntypeMultiTexCoordPointerEXT
-glrefMultiTexCoordPointerEXT :: IORef FuntypeMultiTexCoordPointerEXT
-glrefMultiTexCoordPointerEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexCoordPointerEXT #-}
-glMultiTexCoordPointerEXT :: MonadIO m =>
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glMultiTexCoordPointerEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexCoordPointerEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glMultiTexCoordPointerEXT #-}
-type FuntypeMultiTexEnvfEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexEnvfEXT :: FunPtr FuntypeMultiTexEnvfEXT -> FuntypeMultiTexEnvfEXT
-glrefMultiTexEnvfEXT :: IORef FuntypeMultiTexEnvfEXT
-glrefMultiTexEnvfEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexEnvfEXT #-}
-glMultiTexEnvfEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLfloat ->
-    m ( () )
-glMultiTexEnvfEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexEnvfEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexEnvfEXT #-}
-type FuntypeMultiTexEnvfvEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexEnvfvEXT :: FunPtr FuntypeMultiTexEnvfvEXT -> FuntypeMultiTexEnvfvEXT
-glrefMultiTexEnvfvEXT :: IORef FuntypeMultiTexEnvfvEXT
-glrefMultiTexEnvfvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexEnvfvEXT #-}
-glMultiTexEnvfvEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glMultiTexEnvfvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexEnvfvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexEnvfvEXT #-}
-type FuntypeMultiTexEnviEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexEnviEXT :: FunPtr FuntypeMultiTexEnviEXT -> FuntypeMultiTexEnviEXT
-glrefMultiTexEnviEXT :: IORef FuntypeMultiTexEnviEXT
-glrefMultiTexEnviEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexEnviEXT #-}
-glMultiTexEnviEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLint ->
-    m ( () )
-glMultiTexEnviEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexEnviEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexEnviEXT #-}
-type FuntypeMultiTexEnvivEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexEnvivEXT :: FunPtr FuntypeMultiTexEnvivEXT -> FuntypeMultiTexEnvivEXT
-glrefMultiTexEnvivEXT :: IORef FuntypeMultiTexEnvivEXT
-glrefMultiTexEnvivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexEnvivEXT #-}
-glMultiTexEnvivEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glMultiTexEnvivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexEnvivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexEnvivEXT #-}
-type FuntypeMultiTexGendEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexGendEXT :: FunPtr FuntypeMultiTexGendEXT -> FuntypeMultiTexGendEXT
-glrefMultiTexGendEXT :: IORef FuntypeMultiTexGendEXT
-glrefMultiTexGendEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexGendEXT #-}
-glMultiTexGendEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLdouble ->
-    m ( () )
-glMultiTexGendEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexGendEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexGendEXT #-}
-type FuntypeMultiTexGendvEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexGendvEXT :: FunPtr FuntypeMultiTexGendvEXT -> FuntypeMultiTexGendvEXT
-glrefMultiTexGendvEXT :: IORef FuntypeMultiTexGendvEXT
-glrefMultiTexGendvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexGendvEXT #-}
-glMultiTexGendvEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLdouble) ->
-    m ( () )
-glMultiTexGendvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexGendvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexGendvEXT #-}
-type FuntypeMultiTexGenfEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexGenfEXT :: FunPtr FuntypeMultiTexGenfEXT -> FuntypeMultiTexGenfEXT
-glrefMultiTexGenfEXT :: IORef FuntypeMultiTexGenfEXT
-glrefMultiTexGenfEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexGenfEXT #-}
-glMultiTexGenfEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLfloat ->
-    m ( () )
-glMultiTexGenfEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexGenfEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexGenfEXT #-}
-type FuntypeMultiTexGenfvEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexGenfvEXT :: FunPtr FuntypeMultiTexGenfvEXT -> FuntypeMultiTexGenfvEXT
-glrefMultiTexGenfvEXT :: IORef FuntypeMultiTexGenfvEXT
-glrefMultiTexGenfvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexGenfvEXT #-}
-glMultiTexGenfvEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glMultiTexGenfvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexGenfvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexGenfvEXT #-}
-type FuntypeMultiTexGeniEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexGeniEXT :: FunPtr FuntypeMultiTexGeniEXT -> FuntypeMultiTexGeniEXT
-glrefMultiTexGeniEXT :: IORef FuntypeMultiTexGeniEXT
-glrefMultiTexGeniEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexGeniEXT #-}
-glMultiTexGeniEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLint ->
-    m ( () )
-glMultiTexGeniEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexGeniEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexGeniEXT #-}
-type FuntypeMultiTexGenivEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexGenivEXT :: FunPtr FuntypeMultiTexGenivEXT -> FuntypeMultiTexGenivEXT
-glrefMultiTexGenivEXT :: IORef FuntypeMultiTexGenivEXT
-glrefMultiTexGenivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexGenivEXT #-}
-glMultiTexGenivEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glMultiTexGenivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexGenivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexGenivEXT #-}
-type FuntypeGetMultiTexEnvfvEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetMultiTexEnvfvEXT :: FunPtr FuntypeGetMultiTexEnvfvEXT -> FuntypeGetMultiTexEnvfvEXT
-glrefGetMultiTexEnvfvEXT :: IORef FuntypeGetMultiTexEnvfvEXT
-glrefGetMultiTexEnvfvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetMultiTexEnvfvEXT #-}
-glGetMultiTexEnvfvEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetMultiTexEnvfvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetMultiTexEnvfvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetMultiTexEnvfvEXT #-}
-type FuntypeGetMultiTexEnvivEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetMultiTexEnvivEXT :: FunPtr FuntypeGetMultiTexEnvivEXT -> FuntypeGetMultiTexEnvivEXT
-glrefGetMultiTexEnvivEXT :: IORef FuntypeGetMultiTexEnvivEXT
-glrefGetMultiTexEnvivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetMultiTexEnvivEXT #-}
-glGetMultiTexEnvivEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetMultiTexEnvivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetMultiTexEnvivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetMultiTexEnvivEXT #-}
-type FuntypeGetMultiTexGendvEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetMultiTexGendvEXT :: FunPtr FuntypeGetMultiTexGendvEXT -> FuntypeGetMultiTexGendvEXT
-glrefGetMultiTexGendvEXT :: IORef FuntypeGetMultiTexGendvEXT
-glrefGetMultiTexGendvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetMultiTexGendvEXT #-}
-glGetMultiTexGendvEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLdouble) ->
-    m ( () )
-glGetMultiTexGendvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetMultiTexGendvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetMultiTexGendvEXT #-}
-type FuntypeGetMultiTexGenfvEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetMultiTexGenfvEXT :: FunPtr FuntypeGetMultiTexGenfvEXT -> FuntypeGetMultiTexGenfvEXT
-glrefGetMultiTexGenfvEXT :: IORef FuntypeGetMultiTexGenfvEXT
-glrefGetMultiTexGenfvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetMultiTexGenfvEXT #-}
-glGetMultiTexGenfvEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetMultiTexGenfvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetMultiTexGenfvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetMultiTexGenfvEXT #-}
-type FuntypeGetMultiTexGenivEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetMultiTexGenivEXT :: FunPtr FuntypeGetMultiTexGenivEXT -> FuntypeGetMultiTexGenivEXT
-glrefGetMultiTexGenivEXT :: IORef FuntypeGetMultiTexGenivEXT
-glrefGetMultiTexGenivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetMultiTexGenivEXT #-}
-glGetMultiTexGenivEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetMultiTexGenivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetMultiTexGenivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetMultiTexGenivEXT #-}
-type FuntypeMultiTexParameteriEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexParameteriEXT :: FunPtr FuntypeMultiTexParameteriEXT -> FuntypeMultiTexParameteriEXT
-glrefMultiTexParameteriEXT :: IORef FuntypeMultiTexParameteriEXT
-glrefMultiTexParameteriEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexParameteriEXT #-}
-glMultiTexParameteriEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLint ->
-    m ( () )
-glMultiTexParameteriEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexParameteriEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexParameteriEXT #-}
-type FuntypeMultiTexParameterivEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexParameterivEXT :: FunPtr FuntypeMultiTexParameterivEXT -> FuntypeMultiTexParameterivEXT
-glrefMultiTexParameterivEXT :: IORef FuntypeMultiTexParameterivEXT
-glrefMultiTexParameterivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexParameterivEXT #-}
-glMultiTexParameterivEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glMultiTexParameterivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexParameterivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexParameterivEXT #-}
-type FuntypeMultiTexParameterfEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexParameterfEXT :: FunPtr FuntypeMultiTexParameterfEXT -> FuntypeMultiTexParameterfEXT
-glrefMultiTexParameterfEXT :: IORef FuntypeMultiTexParameterfEXT
-glrefMultiTexParameterfEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexParameterfEXT #-}
-glMultiTexParameterfEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLfloat ->
-    m ( () )
-glMultiTexParameterfEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexParameterfEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexParameterfEXT #-}
-type FuntypeMultiTexParameterfvEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexParameterfvEXT :: FunPtr FuntypeMultiTexParameterfvEXT -> FuntypeMultiTexParameterfvEXT
-glrefMultiTexParameterfvEXT :: IORef FuntypeMultiTexParameterfvEXT
-glrefMultiTexParameterfvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexParameterfvEXT #-}
-glMultiTexParameterfvEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glMultiTexParameterfvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexParameterfvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexParameterfvEXT #-}
-type FuntypeMultiTexImage1DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexImage1DEXT :: FunPtr FuntypeMultiTexImage1DEXT -> FuntypeMultiTexImage1DEXT
-glrefMultiTexImage1DEXT :: IORef FuntypeMultiTexImage1DEXT
-glrefMultiTexImage1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexImage1DEXT #-}
-glMultiTexImage1DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glMultiTexImage1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexImage1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glMultiTexImage1DEXT #-}
-type FuntypeMultiTexImage2DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexImage2DEXT :: FunPtr FuntypeMultiTexImage2DEXT -> FuntypeMultiTexImage2DEXT
-glrefMultiTexImage2DEXT :: IORef FuntypeMultiTexImage2DEXT
-glrefMultiTexImage2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexImage2DEXT #-}
-glMultiTexImage2DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glMultiTexImage2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexImage2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-{-# INLINE glMultiTexImage2DEXT #-}
-type FuntypeMultiTexSubImage1DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexSubImage1DEXT :: FunPtr FuntypeMultiTexSubImage1DEXT -> FuntypeMultiTexSubImage1DEXT
-glrefMultiTexSubImage1DEXT :: IORef FuntypeMultiTexSubImage1DEXT
-glrefMultiTexSubImage1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexSubImage1DEXT #-}
-glMultiTexSubImage1DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glMultiTexSubImage1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexSubImage1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glMultiTexSubImage1DEXT #-}
-type FuntypeMultiTexSubImage2DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexSubImage2DEXT :: FunPtr FuntypeMultiTexSubImage2DEXT -> FuntypeMultiTexSubImage2DEXT
-glrefMultiTexSubImage2DEXT :: IORef FuntypeMultiTexSubImage2DEXT
-glrefMultiTexSubImage2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexSubImage2DEXT #-}
-glMultiTexSubImage2DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glMultiTexSubImage2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexSubImage2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-{-# INLINE glMultiTexSubImage2DEXT #-}
-type FuntypeCopyMultiTexImage1DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyMultiTexImage1DEXT :: FunPtr FuntypeCopyMultiTexImage1DEXT -> FuntypeCopyMultiTexImage1DEXT
-glrefCopyMultiTexImage1DEXT :: IORef FuntypeCopyMultiTexImage1DEXT
-glrefCopyMultiTexImage1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyMultiTexImage1DEXT #-}
-glCopyMultiTexImage1DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLint ->
-    m ( () )
-glCopyMultiTexImage1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyMultiTexImage1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glCopyMultiTexImage1DEXT #-}
-type FuntypeCopyMultiTexImage2DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyMultiTexImage2DEXT :: FunPtr FuntypeCopyMultiTexImage2DEXT -> FuntypeCopyMultiTexImage2DEXT
-glrefCopyMultiTexImage2DEXT :: IORef FuntypeCopyMultiTexImage2DEXT
-glrefCopyMultiTexImage2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyMultiTexImage2DEXT #-}
-glCopyMultiTexImage2DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    m ( () )
-glCopyMultiTexImage2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyMultiTexImage2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glCopyMultiTexImage2DEXT #-}
-type FuntypeCopyMultiTexSubImage1DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyMultiTexSubImage1DEXT :: FunPtr FuntypeCopyMultiTexSubImage1DEXT -> FuntypeCopyMultiTexSubImage1DEXT
-glrefCopyMultiTexSubImage1DEXT :: IORef FuntypeCopyMultiTexSubImage1DEXT
-glrefCopyMultiTexSubImage1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyMultiTexSubImage1DEXT #-}
-glCopyMultiTexSubImage1DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    m ( () )
-glCopyMultiTexSubImage1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyMultiTexSubImage1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glCopyMultiTexSubImage1DEXT #-}
-type FuntypeCopyMultiTexSubImage2DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyMultiTexSubImage2DEXT :: FunPtr FuntypeCopyMultiTexSubImage2DEXT -> FuntypeCopyMultiTexSubImage2DEXT
-glrefCopyMultiTexSubImage2DEXT :: IORef FuntypeCopyMultiTexSubImage2DEXT
-glrefCopyMultiTexSubImage2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyMultiTexSubImage2DEXT #-}
-glCopyMultiTexSubImage2DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glCopyMultiTexSubImage2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyMultiTexSubImage2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glCopyMultiTexSubImage2DEXT #-}
-type FuntypeGetMultiTexImageEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetMultiTexImageEXT :: FunPtr FuntypeGetMultiTexImageEXT -> FuntypeGetMultiTexImageEXT
-glrefGetMultiTexImageEXT :: IORef FuntypeGetMultiTexImageEXT
-glrefGetMultiTexImageEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetMultiTexImageEXT #-}
-glGetMultiTexImageEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glGetMultiTexImageEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetMultiTexImageEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glGetMultiTexImageEXT #-}
-type FuntypeGetMultiTexParameterfvEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetMultiTexParameterfvEXT :: FunPtr FuntypeGetMultiTexParameterfvEXT -> FuntypeGetMultiTexParameterfvEXT
-glrefGetMultiTexParameterfvEXT :: IORef FuntypeGetMultiTexParameterfvEXT
-glrefGetMultiTexParameterfvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetMultiTexParameterfvEXT #-}
-glGetMultiTexParameterfvEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetMultiTexParameterfvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetMultiTexParameterfvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetMultiTexParameterfvEXT #-}
-type FuntypeGetMultiTexParameterivEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetMultiTexParameterivEXT :: FunPtr FuntypeGetMultiTexParameterivEXT -> FuntypeGetMultiTexParameterivEXT
-glrefGetMultiTexParameterivEXT :: IORef FuntypeGetMultiTexParameterivEXT
-glrefGetMultiTexParameterivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetMultiTexParameterivEXT #-}
-glGetMultiTexParameterivEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetMultiTexParameterivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetMultiTexParameterivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetMultiTexParameterivEXT #-}
-type FuntypeGetMultiTexLevelParameterfvEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetMultiTexLevelParameterfvEXT :: FunPtr FuntypeGetMultiTexLevelParameterfvEXT -> FuntypeGetMultiTexLevelParameterfvEXT
-glrefGetMultiTexLevelParameterfvEXT :: IORef FuntypeGetMultiTexLevelParameterfvEXT
-glrefGetMultiTexLevelParameterfvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetMultiTexLevelParameterfvEXT #-}
-glGetMultiTexLevelParameterfvEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetMultiTexLevelParameterfvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetMultiTexLevelParameterfvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glGetMultiTexLevelParameterfvEXT #-}
-type FuntypeGetMultiTexLevelParameterivEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetMultiTexLevelParameterivEXT :: FunPtr FuntypeGetMultiTexLevelParameterivEXT -> FuntypeGetMultiTexLevelParameterivEXT
-glrefGetMultiTexLevelParameterivEXT :: IORef FuntypeGetMultiTexLevelParameterivEXT
-glrefGetMultiTexLevelParameterivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetMultiTexLevelParameterivEXT #-}
-glGetMultiTexLevelParameterivEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetMultiTexLevelParameterivEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetMultiTexLevelParameterivEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glGetMultiTexLevelParameterivEXT #-}
-type FuntypeMultiTexImage3DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexImage3DEXT :: FunPtr FuntypeMultiTexImage3DEXT -> FuntypeMultiTexImage3DEXT
-glrefMultiTexImage3DEXT :: IORef FuntypeMultiTexImage3DEXT
-glrefMultiTexImage3DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexImage3DEXT #-}
-glMultiTexImage3DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glMultiTexImage3DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    a10
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexImage3DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-      a10
-{-# INLINE glMultiTexImage3DEXT #-}
-type FuntypeMultiTexSubImage3DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexSubImage3DEXT :: FunPtr FuntypeMultiTexSubImage3DEXT -> FuntypeMultiTexSubImage3DEXT
-glrefMultiTexSubImage3DEXT :: IORef FuntypeMultiTexSubImage3DEXT
-glrefMultiTexSubImage3DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexSubImage3DEXT #-}
-glMultiTexSubImage3DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glMultiTexSubImage3DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    a10
-    a11
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexSubImage3DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-      a10
-      a11
-{-# INLINE glMultiTexSubImage3DEXT #-}
-type FuntypeCopyMultiTexSubImage3DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCopyMultiTexSubImage3DEXT :: FunPtr FuntypeCopyMultiTexSubImage3DEXT -> FuntypeCopyMultiTexSubImage3DEXT
-glrefCopyMultiTexSubImage3DEXT :: IORef FuntypeCopyMultiTexSubImage3DEXT
-glrefCopyMultiTexSubImage3DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCopyMultiTexSubImage3DEXT #-}
-glCopyMultiTexSubImage3DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glCopyMultiTexSubImage3DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    = liftIO $ (unsafePerformIO $ readIORef glrefCopyMultiTexSubImage3DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-{-# INLINE glCopyMultiTexSubImage3DEXT #-}
-type FuntypeEnableClientStateIndexedEXT =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynEnableClientStateIndexedEXT :: FunPtr FuntypeEnableClientStateIndexedEXT -> FuntypeEnableClientStateIndexedEXT
-glrefEnableClientStateIndexedEXT :: IORef FuntypeEnableClientStateIndexedEXT
-glrefEnableClientStateIndexedEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefEnableClientStateIndexedEXT #-}
-glEnableClientStateIndexedEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glEnableClientStateIndexedEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefEnableClientStateIndexedEXT)
-      a0
-      a1
-{-# INLINE glEnableClientStateIndexedEXT #-}
-type FuntypeDisableClientStateIndexedEXT =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDisableClientStateIndexedEXT :: FunPtr FuntypeDisableClientStateIndexedEXT -> FuntypeDisableClientStateIndexedEXT
-glrefDisableClientStateIndexedEXT :: IORef FuntypeDisableClientStateIndexedEXT
-glrefDisableClientStateIndexedEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDisableClientStateIndexedEXT #-}
-glDisableClientStateIndexedEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glDisableClientStateIndexedEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDisableClientStateIndexedEXT)
-      a0
-      a1
-{-# INLINE glDisableClientStateIndexedEXT #-}
-type FuntypeGetFloatIndexedvEXT =
-    GLenum ->
-    GLuint ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetFloatIndexedvEXT :: FunPtr FuntypeGetFloatIndexedvEXT -> FuntypeGetFloatIndexedvEXT
-glrefGetFloatIndexedvEXT :: IORef FuntypeGetFloatIndexedvEXT
-glrefGetFloatIndexedvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetFloatIndexedvEXT #-}
-glGetFloatIndexedvEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetFloatIndexedvEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetFloatIndexedvEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetFloatIndexedvEXT #-}
-type FuntypeGetDoubleIndexedvEXT =
-    GLenum ->
-    GLuint ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetDoubleIndexedvEXT :: FunPtr FuntypeGetDoubleIndexedvEXT -> FuntypeGetDoubleIndexedvEXT
-glrefGetDoubleIndexedvEXT :: IORef FuntypeGetDoubleIndexedvEXT
-glrefGetDoubleIndexedvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetDoubleIndexedvEXT #-}
-glGetDoubleIndexedvEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    Ptr (GLdouble) ->
-    m ( () )
-glGetDoubleIndexedvEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetDoubleIndexedvEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetDoubleIndexedvEXT #-}
-type FuntypeGetPointerIndexedvEXT =
-    GLenum ->
-    GLuint ->
-    Ptr (Ptr ()) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetPointerIndexedvEXT :: FunPtr FuntypeGetPointerIndexedvEXT -> FuntypeGetPointerIndexedvEXT
-glrefGetPointerIndexedvEXT :: IORef FuntypeGetPointerIndexedvEXT
-glrefGetPointerIndexedvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetPointerIndexedvEXT #-}
-glGetPointerIndexedvEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    Ptr (Ptr ()) ->
-    m ( () )
-glGetPointerIndexedvEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetPointerIndexedvEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetPointerIndexedvEXT #-}
-type FuntypeEnableIndexedEXT =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynEnableIndexedEXT :: FunPtr FuntypeEnableIndexedEXT -> FuntypeEnableIndexedEXT
-glrefEnableIndexedEXT :: IORef FuntypeEnableIndexedEXT
-glrefEnableIndexedEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefEnableIndexedEXT #-}
-glEnableIndexedEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glEnableIndexedEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefEnableIndexedEXT)
-      a0
-      a1
-{-# INLINE glEnableIndexedEXT #-}
-type FuntypeDisableIndexedEXT =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDisableIndexedEXT :: FunPtr FuntypeDisableIndexedEXT -> FuntypeDisableIndexedEXT
-glrefDisableIndexedEXT :: IORef FuntypeDisableIndexedEXT
-glrefDisableIndexedEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDisableIndexedEXT #-}
-glDisableIndexedEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glDisableIndexedEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDisableIndexedEXT)
-      a0
-      a1
-{-# INLINE glDisableIndexedEXT #-}
-type FuntypeIsEnabledIndexedEXT =
-    GLenum ->
-    GLuint ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsEnabledIndexedEXT :: FunPtr FuntypeIsEnabledIndexedEXT -> FuntypeIsEnabledIndexedEXT
-glrefIsEnabledIndexedEXT :: IORef FuntypeIsEnabledIndexedEXT
-glrefIsEnabledIndexedEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsEnabledIndexedEXT #-}
-glIsEnabledIndexedEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( GLboolean )
-glIsEnabledIndexedEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsEnabledIndexedEXT)
-      a0
-      a1
-{-# INLINE glIsEnabledIndexedEXT #-}
-type FuntypeGetIntegerIndexedvEXT =
-    GLenum ->
-    GLuint ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetIntegerIndexedvEXT :: FunPtr FuntypeGetIntegerIndexedvEXT -> FuntypeGetIntegerIndexedvEXT
-glrefGetIntegerIndexedvEXT :: IORef FuntypeGetIntegerIndexedvEXT
-glrefGetIntegerIndexedvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetIntegerIndexedvEXT #-}
-glGetIntegerIndexedvEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    Ptr (GLint) ->
-    m ( () )
-glGetIntegerIndexedvEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetIntegerIndexedvEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetIntegerIndexedvEXT #-}
-type FuntypeGetBooleanIndexedvEXT =
-    GLenum ->
-    GLuint ->
-    Ptr (GLboolean) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetBooleanIndexedvEXT :: FunPtr FuntypeGetBooleanIndexedvEXT -> FuntypeGetBooleanIndexedvEXT
-glrefGetBooleanIndexedvEXT :: IORef FuntypeGetBooleanIndexedvEXT
-glrefGetBooleanIndexedvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetBooleanIndexedvEXT #-}
-glGetBooleanIndexedvEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    Ptr (GLboolean) ->
-    m ( () )
-glGetBooleanIndexedvEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetBooleanIndexedvEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetBooleanIndexedvEXT #-}
-type FuntypeCompressedTextureImage3DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedTextureImage3DEXT :: FunPtr FuntypeCompressedTextureImage3DEXT -> FuntypeCompressedTextureImage3DEXT
-glrefCompressedTextureImage3DEXT :: IORef FuntypeCompressedTextureImage3DEXT
-glrefCompressedTextureImage3DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedTextureImage3DEXT #-}
-glCompressedTextureImage3DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedTextureImage3DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedTextureImage3DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-{-# INLINE glCompressedTextureImage3DEXT #-}
-type FuntypeCompressedTextureImage2DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedTextureImage2DEXT :: FunPtr FuntypeCompressedTextureImage2DEXT -> FuntypeCompressedTextureImage2DEXT
-glrefCompressedTextureImage2DEXT :: IORef FuntypeCompressedTextureImage2DEXT
-glrefCompressedTextureImage2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedTextureImage2DEXT #-}
-glCompressedTextureImage2DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedTextureImage2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedTextureImage2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glCompressedTextureImage2DEXT #-}
-type FuntypeCompressedTextureImage1DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedTextureImage1DEXT :: FunPtr FuntypeCompressedTextureImage1DEXT -> FuntypeCompressedTextureImage1DEXT
-glrefCompressedTextureImage1DEXT :: IORef FuntypeCompressedTextureImage1DEXT
-glrefCompressedTextureImage1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedTextureImage1DEXT #-}
-glCompressedTextureImage1DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedTextureImage1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedTextureImage1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glCompressedTextureImage1DEXT #-}
-type FuntypeCompressedTextureSubImage3DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedTextureSubImage3DEXT :: FunPtr FuntypeCompressedTextureSubImage3DEXT -> FuntypeCompressedTextureSubImage3DEXT
-glrefCompressedTextureSubImage3DEXT :: IORef FuntypeCompressedTextureSubImage3DEXT
-glrefCompressedTextureSubImage3DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedTextureSubImage3DEXT #-}
-glCompressedTextureSubImage3DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedTextureSubImage3DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    a10
-    a11
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedTextureSubImage3DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-      a10
-      a11
-{-# INLINE glCompressedTextureSubImage3DEXT #-}
-type FuntypeCompressedTextureSubImage2DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedTextureSubImage2DEXT :: FunPtr FuntypeCompressedTextureSubImage2DEXT -> FuntypeCompressedTextureSubImage2DEXT
-glrefCompressedTextureSubImage2DEXT :: IORef FuntypeCompressedTextureSubImage2DEXT
-glrefCompressedTextureSubImage2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedTextureSubImage2DEXT #-}
-glCompressedTextureSubImage2DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedTextureSubImage2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedTextureSubImage2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-{-# INLINE glCompressedTextureSubImage2DEXT #-}
-type FuntypeCompressedTextureSubImage1DEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedTextureSubImage1DEXT :: FunPtr FuntypeCompressedTextureSubImage1DEXT -> FuntypeCompressedTextureSubImage1DEXT
-glrefCompressedTextureSubImage1DEXT :: IORef FuntypeCompressedTextureSubImage1DEXT
-glrefCompressedTextureSubImage1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedTextureSubImage1DEXT #-}
-glCompressedTextureSubImage1DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedTextureSubImage1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedTextureSubImage1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glCompressedTextureSubImage1DEXT #-}
-type FuntypeGetCompressedTextureImageEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetCompressedTextureImageEXT :: FunPtr FuntypeGetCompressedTextureImageEXT -> FuntypeGetCompressedTextureImageEXT
-glrefGetCompressedTextureImageEXT :: IORef FuntypeGetCompressedTextureImageEXT
-glrefGetCompressedTextureImageEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetCompressedTextureImageEXT #-}
-glGetCompressedTextureImageEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    Ptr () ->
-    m ( () )
-glGetCompressedTextureImageEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetCompressedTextureImageEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetCompressedTextureImageEXT #-}
-type FuntypeCompressedMultiTexImage3DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedMultiTexImage3DEXT :: FunPtr FuntypeCompressedMultiTexImage3DEXT -> FuntypeCompressedMultiTexImage3DEXT
-glrefCompressedMultiTexImage3DEXT :: IORef FuntypeCompressedMultiTexImage3DEXT
-glrefCompressedMultiTexImage3DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedMultiTexImage3DEXT #-}
-glCompressedMultiTexImage3DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedMultiTexImage3DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedMultiTexImage3DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-{-# INLINE glCompressedMultiTexImage3DEXT #-}
-type FuntypeCompressedMultiTexImage2DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedMultiTexImage2DEXT :: FunPtr FuntypeCompressedMultiTexImage2DEXT -> FuntypeCompressedMultiTexImage2DEXT
-glrefCompressedMultiTexImage2DEXT :: IORef FuntypeCompressedMultiTexImage2DEXT
-glrefCompressedMultiTexImage2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedMultiTexImage2DEXT #-}
-glCompressedMultiTexImage2DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedMultiTexImage2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedMultiTexImage2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glCompressedMultiTexImage2DEXT #-}
-type FuntypeCompressedMultiTexImage1DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedMultiTexImage1DEXT :: FunPtr FuntypeCompressedMultiTexImage1DEXT -> FuntypeCompressedMultiTexImage1DEXT
-glrefCompressedMultiTexImage1DEXT :: IORef FuntypeCompressedMultiTexImage1DEXT
-glrefCompressedMultiTexImage1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedMultiTexImage1DEXT #-}
-glCompressedMultiTexImage1DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLint ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedMultiTexImage1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedMultiTexImage1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glCompressedMultiTexImage1DEXT #-}
-type FuntypeCompressedMultiTexSubImage3DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedMultiTexSubImage3DEXT :: FunPtr FuntypeCompressedMultiTexSubImage3DEXT -> FuntypeCompressedMultiTexSubImage3DEXT
-glrefCompressedMultiTexSubImage3DEXT :: IORef FuntypeCompressedMultiTexSubImage3DEXT
-glrefCompressedMultiTexSubImage3DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedMultiTexSubImage3DEXT #-}
-glCompressedMultiTexSubImage3DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedMultiTexSubImage3DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    a10
-    a11
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedMultiTexSubImage3DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-      a10
-      a11
-{-# INLINE glCompressedMultiTexSubImage3DEXT #-}
-type FuntypeCompressedMultiTexSubImage2DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedMultiTexSubImage2DEXT :: FunPtr FuntypeCompressedMultiTexSubImage2DEXT -> FuntypeCompressedMultiTexSubImage2DEXT
-glrefCompressedMultiTexSubImage2DEXT :: IORef FuntypeCompressedMultiTexSubImage2DEXT
-glrefCompressedMultiTexSubImage2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedMultiTexSubImage2DEXT #-}
-glCompressedMultiTexSubImage2DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedMultiTexSubImage2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    a9
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedMultiTexSubImage2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-      a9
-{-# INLINE glCompressedMultiTexSubImage2DEXT #-}
-type FuntypeCompressedMultiTexSubImage1DEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCompressedMultiTexSubImage1DEXT :: FunPtr FuntypeCompressedMultiTexSubImage1DEXT -> FuntypeCompressedMultiTexSubImage1DEXT
-glrefCompressedMultiTexSubImage1DEXT :: IORef FuntypeCompressedMultiTexSubImage1DEXT
-glrefCompressedMultiTexSubImage1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCompressedMultiTexSubImage1DEXT #-}
-glCompressedMultiTexSubImage1DEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glCompressedMultiTexSubImage1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefCompressedMultiTexSubImage1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glCompressedMultiTexSubImage1DEXT #-}
-type FuntypeGetCompressedMultiTexImageEXT =
-    GLenum ->
-    GLenum ->
-    GLint ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetCompressedMultiTexImageEXT :: FunPtr FuntypeGetCompressedMultiTexImageEXT -> FuntypeGetCompressedMultiTexImageEXT
-glrefGetCompressedMultiTexImageEXT :: IORef FuntypeGetCompressedMultiTexImageEXT
-glrefGetCompressedMultiTexImageEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetCompressedMultiTexImageEXT #-}
-glGetCompressedMultiTexImageEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLint ->
-    Ptr () ->
-    m ( () )
-glGetCompressedMultiTexImageEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetCompressedMultiTexImageEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetCompressedMultiTexImageEXT #-}
-type FuntypeMatrixLoadTransposefEXT =
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixLoadTransposefEXT :: FunPtr FuntypeMatrixLoadTransposefEXT -> FuntypeMatrixLoadTransposefEXT
-glrefMatrixLoadTransposefEXT :: IORef FuntypeMatrixLoadTransposefEXT
-glrefMatrixLoadTransposefEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixLoadTransposefEXT #-}
-glMatrixLoadTransposefEXT :: MonadIO m =>
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glMatrixLoadTransposefEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixLoadTransposefEXT)
-      a0
-      a1
-{-# INLINE glMatrixLoadTransposefEXT #-}
-type FuntypeMatrixLoadTransposedEXT =
-    GLenum ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixLoadTransposedEXT :: FunPtr FuntypeMatrixLoadTransposedEXT -> FuntypeMatrixLoadTransposedEXT
-glrefMatrixLoadTransposedEXT :: IORef FuntypeMatrixLoadTransposedEXT
-glrefMatrixLoadTransposedEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixLoadTransposedEXT #-}
-glMatrixLoadTransposedEXT :: MonadIO m =>
-    GLenum ->
-    Ptr (GLdouble) ->
-    m ( () )
-glMatrixLoadTransposedEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixLoadTransposedEXT)
-      a0
-      a1
-{-# INLINE glMatrixLoadTransposedEXT #-}
-type FuntypeMatrixMultTransposefEXT =
-    GLenum ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixMultTransposefEXT :: FunPtr FuntypeMatrixMultTransposefEXT -> FuntypeMatrixMultTransposefEXT
-glrefMatrixMultTransposefEXT :: IORef FuntypeMatrixMultTransposefEXT
-glrefMatrixMultTransposefEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixMultTransposefEXT #-}
-glMatrixMultTransposefEXT :: MonadIO m =>
-    GLenum ->
-    Ptr (GLfloat) ->
-    m ( () )
-glMatrixMultTransposefEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixMultTransposefEXT)
-      a0
-      a1
-{-# INLINE glMatrixMultTransposefEXT #-}
-type FuntypeMatrixMultTransposedEXT =
-    GLenum ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMatrixMultTransposedEXT :: FunPtr FuntypeMatrixMultTransposedEXT -> FuntypeMatrixMultTransposedEXT
-glrefMatrixMultTransposedEXT :: IORef FuntypeMatrixMultTransposedEXT
-glrefMatrixMultTransposedEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMatrixMultTransposedEXT #-}
-glMatrixMultTransposedEXT :: MonadIO m =>
-    GLenum ->
-    Ptr (GLdouble) ->
-    m ( () )
-glMatrixMultTransposedEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefMatrixMultTransposedEXT)
-      a0
-      a1
-{-# INLINE glMatrixMultTransposedEXT #-}
-type FuntypeNamedBufferDataEXT =
-    GLuint ->
-    GLsizeiptr ->
-    Ptr () ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedBufferDataEXT :: FunPtr FuntypeNamedBufferDataEXT -> FuntypeNamedBufferDataEXT
-glrefNamedBufferDataEXT :: IORef FuntypeNamedBufferDataEXT
-glrefNamedBufferDataEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedBufferDataEXT #-}
-glNamedBufferDataEXT :: MonadIO m =>
-    GLuint ->
-    GLsizeiptr ->
-    Ptr () ->
-    GLenum ->
-    m ( () )
-glNamedBufferDataEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedBufferDataEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glNamedBufferDataEXT #-}
-type FuntypeNamedBufferSubDataEXT =
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedBufferSubDataEXT :: FunPtr FuntypeNamedBufferSubDataEXT -> FuntypeNamedBufferSubDataEXT
-glrefNamedBufferSubDataEXT :: IORef FuntypeNamedBufferSubDataEXT
-glrefNamedBufferSubDataEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedBufferSubDataEXT #-}
-glNamedBufferSubDataEXT :: MonadIO m =>
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    Ptr () ->
-    m ( () )
-glNamedBufferSubDataEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedBufferSubDataEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glNamedBufferSubDataEXT #-}
-type FuntypeMapNamedBufferEXT =
-    GLuint ->
-    GLenum ->
-    IO ( Ptr () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMapNamedBufferEXT :: FunPtr FuntypeMapNamedBufferEXT -> FuntypeMapNamedBufferEXT
-glrefMapNamedBufferEXT :: IORef FuntypeMapNamedBufferEXT
-glrefMapNamedBufferEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMapNamedBufferEXT #-}
-glMapNamedBufferEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    m ( Ptr () )
-glMapNamedBufferEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefMapNamedBufferEXT)
-      a0
-      a1
-{-# INLINE glMapNamedBufferEXT #-}
-type FuntypeUnmapNamedBufferEXT =
-    GLuint ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUnmapNamedBufferEXT :: FunPtr FuntypeUnmapNamedBufferEXT -> FuntypeUnmapNamedBufferEXT
-glrefUnmapNamedBufferEXT :: IORef FuntypeUnmapNamedBufferEXT
-glrefUnmapNamedBufferEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUnmapNamedBufferEXT #-}
-glUnmapNamedBufferEXT :: MonadIO m =>
-    GLuint ->
-    m ( GLboolean )
-glUnmapNamedBufferEXT
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefUnmapNamedBufferEXT)
-      a0
-{-# INLINE glUnmapNamedBufferEXT #-}
-type FuntypeGetNamedBufferParameterivEXT =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetNamedBufferParameterivEXT :: FunPtr FuntypeGetNamedBufferParameterivEXT -> FuntypeGetNamedBufferParameterivEXT
-glrefGetNamedBufferParameterivEXT :: IORef FuntypeGetNamedBufferParameterivEXT
-glrefGetNamedBufferParameterivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetNamedBufferParameterivEXT #-}
-glGetNamedBufferParameterivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetNamedBufferParameterivEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetNamedBufferParameterivEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetNamedBufferParameterivEXT #-}
-type FuntypeGetNamedBufferPointervEXT =
-    GLuint ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetNamedBufferPointervEXT :: FunPtr FuntypeGetNamedBufferPointervEXT -> FuntypeGetNamedBufferPointervEXT
-glrefGetNamedBufferPointervEXT :: IORef FuntypeGetNamedBufferPointervEXT
-glrefGetNamedBufferPointervEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetNamedBufferPointervEXT #-}
-glGetNamedBufferPointervEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    m ( () )
-glGetNamedBufferPointervEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetNamedBufferPointervEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetNamedBufferPointervEXT #-}
-type FuntypeGetNamedBufferSubDataEXT =
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetNamedBufferSubDataEXT :: FunPtr FuntypeGetNamedBufferSubDataEXT -> FuntypeGetNamedBufferSubDataEXT
-glrefGetNamedBufferSubDataEXT :: IORef FuntypeGetNamedBufferSubDataEXT
-glrefGetNamedBufferSubDataEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetNamedBufferSubDataEXT #-}
-glGetNamedBufferSubDataEXT :: MonadIO m =>
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    Ptr () ->
-    m ( () )
-glGetNamedBufferSubDataEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetNamedBufferSubDataEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetNamedBufferSubDataEXT #-}
-type FuntypeProgramUniform1fEXT =
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1fEXT :: FunPtr FuntypeProgramUniform1fEXT -> FuntypeProgramUniform1fEXT
-glrefProgramUniform1fEXT :: IORef FuntypeProgramUniform1fEXT
-glrefProgramUniform1fEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1fEXT #-}
-glProgramUniform1fEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    m ( () )
-glProgramUniform1fEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1fEXT)
-      a0
-      a1
-      a2
-{-# INLINE glProgramUniform1fEXT #-}
-type FuntypeProgramUniform2fEXT =
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2fEXT :: FunPtr FuntypeProgramUniform2fEXT -> FuntypeProgramUniform2fEXT
-glrefProgramUniform2fEXT :: IORef FuntypeProgramUniform2fEXT
-glrefProgramUniform2fEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2fEXT #-}
-glProgramUniform2fEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glProgramUniform2fEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2fEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2fEXT #-}
-type FuntypeProgramUniform3fEXT =
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3fEXT :: FunPtr FuntypeProgramUniform3fEXT -> FuntypeProgramUniform3fEXT
-glrefProgramUniform3fEXT :: IORef FuntypeProgramUniform3fEXT
-glrefProgramUniform3fEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3fEXT #-}
-glProgramUniform3fEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glProgramUniform3fEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3fEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniform3fEXT #-}
-type FuntypeProgramUniform4fEXT =
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4fEXT :: FunPtr FuntypeProgramUniform4fEXT -> FuntypeProgramUniform4fEXT
-glrefProgramUniform4fEXT :: IORef FuntypeProgramUniform4fEXT
-glrefProgramUniform4fEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4fEXT #-}
-glProgramUniform4fEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glProgramUniform4fEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4fEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glProgramUniform4fEXT #-}
-type FuntypeProgramUniform1iEXT =
-    GLuint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1iEXT :: FunPtr FuntypeProgramUniform1iEXT -> FuntypeProgramUniform1iEXT
-glrefProgramUniform1iEXT :: IORef FuntypeProgramUniform1iEXT
-glrefProgramUniform1iEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1iEXT #-}
-glProgramUniform1iEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glProgramUniform1iEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1iEXT)
-      a0
-      a1
-      a2
-{-# INLINE glProgramUniform1iEXT #-}
-type FuntypeProgramUniform2iEXT =
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2iEXT :: FunPtr FuntypeProgramUniform2iEXT -> FuntypeProgramUniform2iEXT
-glrefProgramUniform2iEXT :: IORef FuntypeProgramUniform2iEXT
-glrefProgramUniform2iEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2iEXT #-}
-glProgramUniform2iEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glProgramUniform2iEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2iEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2iEXT #-}
-type FuntypeProgramUniform3iEXT =
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3iEXT :: FunPtr FuntypeProgramUniform3iEXT -> FuntypeProgramUniform3iEXT
-glrefProgramUniform3iEXT :: IORef FuntypeProgramUniform3iEXT
-glrefProgramUniform3iEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3iEXT #-}
-glProgramUniform3iEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glProgramUniform3iEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3iEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniform3iEXT #-}
-type FuntypeProgramUniform4iEXT =
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4iEXT :: FunPtr FuntypeProgramUniform4iEXT -> FuntypeProgramUniform4iEXT
-glrefProgramUniform4iEXT :: IORef FuntypeProgramUniform4iEXT
-glrefProgramUniform4iEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4iEXT #-}
-glProgramUniform4iEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glProgramUniform4iEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4iEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glProgramUniform4iEXT #-}
-type FuntypeProgramUniform1fvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1fvEXT :: FunPtr FuntypeProgramUniform1fvEXT -> FuntypeProgramUniform1fvEXT
-glrefProgramUniform1fvEXT :: IORef FuntypeProgramUniform1fvEXT
-glrefProgramUniform1fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1fvEXT #-}
-glProgramUniform1fvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniform1fvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1fvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform1fvEXT #-}
-type FuntypeProgramUniform2fvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2fvEXT :: FunPtr FuntypeProgramUniform2fvEXT -> FuntypeProgramUniform2fvEXT
-glrefProgramUniform2fvEXT :: IORef FuntypeProgramUniform2fvEXT
-glrefProgramUniform2fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2fvEXT #-}
-glProgramUniform2fvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniform2fvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2fvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2fvEXT #-}
-type FuntypeProgramUniform3fvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3fvEXT :: FunPtr FuntypeProgramUniform3fvEXT -> FuntypeProgramUniform3fvEXT
-glrefProgramUniform3fvEXT :: IORef FuntypeProgramUniform3fvEXT
-glrefProgramUniform3fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3fvEXT #-}
-glProgramUniform3fvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniform3fvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3fvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform3fvEXT #-}
-type FuntypeProgramUniform4fvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4fvEXT :: FunPtr FuntypeProgramUniform4fvEXT -> FuntypeProgramUniform4fvEXT
-glrefProgramUniform4fvEXT :: IORef FuntypeProgramUniform4fvEXT
-glrefProgramUniform4fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4fvEXT #-}
-glProgramUniform4fvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniform4fvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4fvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform4fvEXT #-}
-type FuntypeProgramUniform1ivEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1ivEXT :: FunPtr FuntypeProgramUniform1ivEXT -> FuntypeProgramUniform1ivEXT
-glrefProgramUniform1ivEXT :: IORef FuntypeProgramUniform1ivEXT
-glrefProgramUniform1ivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1ivEXT #-}
-glProgramUniform1ivEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glProgramUniform1ivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1ivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform1ivEXT #-}
-type FuntypeProgramUniform2ivEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2ivEXT :: FunPtr FuntypeProgramUniform2ivEXT -> FuntypeProgramUniform2ivEXT
-glrefProgramUniform2ivEXT :: IORef FuntypeProgramUniform2ivEXT
-glrefProgramUniform2ivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2ivEXT #-}
-glProgramUniform2ivEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glProgramUniform2ivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2ivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2ivEXT #-}
-type FuntypeProgramUniform3ivEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3ivEXT :: FunPtr FuntypeProgramUniform3ivEXT -> FuntypeProgramUniform3ivEXT
-glrefProgramUniform3ivEXT :: IORef FuntypeProgramUniform3ivEXT
-glrefProgramUniform3ivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3ivEXT #-}
-glProgramUniform3ivEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glProgramUniform3ivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3ivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform3ivEXT #-}
-type FuntypeProgramUniform4ivEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4ivEXT :: FunPtr FuntypeProgramUniform4ivEXT -> FuntypeProgramUniform4ivEXT
-glrefProgramUniform4ivEXT :: IORef FuntypeProgramUniform4ivEXT
-glrefProgramUniform4ivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4ivEXT #-}
-glProgramUniform4ivEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glProgramUniform4ivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4ivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform4ivEXT #-}
-type FuntypeProgramUniformMatrix2fvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix2fvEXT :: FunPtr FuntypeProgramUniformMatrix2fvEXT -> FuntypeProgramUniformMatrix2fvEXT
-glrefProgramUniformMatrix2fvEXT :: IORef FuntypeProgramUniformMatrix2fvEXT
-glrefProgramUniformMatrix2fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix2fvEXT #-}
-glProgramUniformMatrix2fvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix2fvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix2fvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix2fvEXT #-}
-type FuntypeProgramUniformMatrix3fvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix3fvEXT :: FunPtr FuntypeProgramUniformMatrix3fvEXT -> FuntypeProgramUniformMatrix3fvEXT
-glrefProgramUniformMatrix3fvEXT :: IORef FuntypeProgramUniformMatrix3fvEXT
-glrefProgramUniformMatrix3fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix3fvEXT #-}
-glProgramUniformMatrix3fvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix3fvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix3fvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix3fvEXT #-}
-type FuntypeProgramUniformMatrix4fvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix4fvEXT :: FunPtr FuntypeProgramUniformMatrix4fvEXT -> FuntypeProgramUniformMatrix4fvEXT
-glrefProgramUniformMatrix4fvEXT :: IORef FuntypeProgramUniformMatrix4fvEXT
-glrefProgramUniformMatrix4fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix4fvEXT #-}
-glProgramUniformMatrix4fvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix4fvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix4fvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix4fvEXT #-}
-type FuntypeProgramUniformMatrix2x3fvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix2x3fvEXT :: FunPtr FuntypeProgramUniformMatrix2x3fvEXT -> FuntypeProgramUniformMatrix2x3fvEXT
-glrefProgramUniformMatrix2x3fvEXT :: IORef FuntypeProgramUniformMatrix2x3fvEXT
-glrefProgramUniformMatrix2x3fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix2x3fvEXT #-}
-glProgramUniformMatrix2x3fvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix2x3fvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix2x3fvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix2x3fvEXT #-}
-type FuntypeProgramUniformMatrix3x2fvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix3x2fvEXT :: FunPtr FuntypeProgramUniformMatrix3x2fvEXT -> FuntypeProgramUniformMatrix3x2fvEXT
-glrefProgramUniformMatrix3x2fvEXT :: IORef FuntypeProgramUniformMatrix3x2fvEXT
-glrefProgramUniformMatrix3x2fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix3x2fvEXT #-}
-glProgramUniformMatrix3x2fvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix3x2fvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix3x2fvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix3x2fvEXT #-}
-type FuntypeProgramUniformMatrix2x4fvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix2x4fvEXT :: FunPtr FuntypeProgramUniformMatrix2x4fvEXT -> FuntypeProgramUniformMatrix2x4fvEXT
-glrefProgramUniformMatrix2x4fvEXT :: IORef FuntypeProgramUniformMatrix2x4fvEXT
-glrefProgramUniformMatrix2x4fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix2x4fvEXT #-}
-glProgramUniformMatrix2x4fvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix2x4fvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix2x4fvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix2x4fvEXT #-}
-type FuntypeProgramUniformMatrix4x2fvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix4x2fvEXT :: FunPtr FuntypeProgramUniformMatrix4x2fvEXT -> FuntypeProgramUniformMatrix4x2fvEXT
-glrefProgramUniformMatrix4x2fvEXT :: IORef FuntypeProgramUniformMatrix4x2fvEXT
-glrefProgramUniformMatrix4x2fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix4x2fvEXT #-}
-glProgramUniformMatrix4x2fvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix4x2fvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix4x2fvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix4x2fvEXT #-}
-type FuntypeProgramUniformMatrix3x4fvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix3x4fvEXT :: FunPtr FuntypeProgramUniformMatrix3x4fvEXT -> FuntypeProgramUniformMatrix3x4fvEXT
-glrefProgramUniformMatrix3x4fvEXT :: IORef FuntypeProgramUniformMatrix3x4fvEXT
-glrefProgramUniformMatrix3x4fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix3x4fvEXT #-}
-glProgramUniformMatrix3x4fvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix3x4fvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix3x4fvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix3x4fvEXT #-}
-type FuntypeProgramUniformMatrix4x3fvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix4x3fvEXT :: FunPtr FuntypeProgramUniformMatrix4x3fvEXT -> FuntypeProgramUniformMatrix4x3fvEXT
-glrefProgramUniformMatrix4x3fvEXT :: IORef FuntypeProgramUniformMatrix4x3fvEXT
-glrefProgramUniformMatrix4x3fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix4x3fvEXT #-}
-glProgramUniformMatrix4x3fvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix4x3fvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix4x3fvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix4x3fvEXT #-}
-type FuntypeTextureBufferEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureBufferEXT :: FunPtr FuntypeTextureBufferEXT -> FuntypeTextureBufferEXT
-glrefTextureBufferEXT :: IORef FuntypeTextureBufferEXT
-glrefTextureBufferEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureBufferEXT #-}
-glTextureBufferEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    m ( () )
-glTextureBufferEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureBufferEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glTextureBufferEXT #-}
-type FuntypeMultiTexBufferEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexBufferEXT :: FunPtr FuntypeMultiTexBufferEXT -> FuntypeMultiTexBufferEXT
-glrefMultiTexBufferEXT :: IORef FuntypeMultiTexBufferEXT
-glrefMultiTexBufferEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexBufferEXT #-}
-glMultiTexBufferEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    m ( () )
-glMultiTexBufferEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexBufferEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexBufferEXT #-}
-type FuntypeTextureParameterIivEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureParameterIivEXT :: FunPtr FuntypeTextureParameterIivEXT -> FuntypeTextureParameterIivEXT
-glrefTextureParameterIivEXT :: IORef FuntypeTextureParameterIivEXT
-glrefTextureParameterIivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureParameterIivEXT #-}
-glTextureParameterIivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glTextureParameterIivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureParameterIivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glTextureParameterIivEXT #-}
-type FuntypeTextureParameterIuivEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureParameterIuivEXT :: FunPtr FuntypeTextureParameterIuivEXT -> FuntypeTextureParameterIuivEXT
-glrefTextureParameterIuivEXT :: IORef FuntypeTextureParameterIuivEXT
-glrefTextureParameterIuivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureParameterIuivEXT #-}
-glTextureParameterIuivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLuint) ->
-    m ( () )
-glTextureParameterIuivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureParameterIuivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glTextureParameterIuivEXT #-}
-type FuntypeGetTextureParameterIivEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTextureParameterIivEXT :: FunPtr FuntypeGetTextureParameterIivEXT -> FuntypeGetTextureParameterIivEXT
-glrefGetTextureParameterIivEXT :: IORef FuntypeGetTextureParameterIivEXT
-glrefGetTextureParameterIivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTextureParameterIivEXT #-}
-glGetTextureParameterIivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetTextureParameterIivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTextureParameterIivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetTextureParameterIivEXT #-}
-type FuntypeGetTextureParameterIuivEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetTextureParameterIuivEXT :: FunPtr FuntypeGetTextureParameterIuivEXT -> FuntypeGetTextureParameterIuivEXT
-glrefGetTextureParameterIuivEXT :: IORef FuntypeGetTextureParameterIuivEXT
-glrefGetTextureParameterIuivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetTextureParameterIuivEXT #-}
-glGetTextureParameterIuivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLuint) ->
-    m ( () )
-glGetTextureParameterIuivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetTextureParameterIuivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetTextureParameterIuivEXT #-}
-type FuntypeMultiTexParameterIivEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexParameterIivEXT :: FunPtr FuntypeMultiTexParameterIivEXT -> FuntypeMultiTexParameterIivEXT
-glrefMultiTexParameterIivEXT :: IORef FuntypeMultiTexParameterIivEXT
-glrefMultiTexParameterIivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexParameterIivEXT #-}
-glMultiTexParameterIivEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glMultiTexParameterIivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexParameterIivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexParameterIivEXT #-}
-type FuntypeMultiTexParameterIuivEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexParameterIuivEXT :: FunPtr FuntypeMultiTexParameterIuivEXT -> FuntypeMultiTexParameterIuivEXT
-glrefMultiTexParameterIuivEXT :: IORef FuntypeMultiTexParameterIuivEXT
-glrefMultiTexParameterIuivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexParameterIuivEXT #-}
-glMultiTexParameterIuivEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLuint) ->
-    m ( () )
-glMultiTexParameterIuivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexParameterIuivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMultiTexParameterIuivEXT #-}
-type FuntypeGetMultiTexParameterIivEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetMultiTexParameterIivEXT :: FunPtr FuntypeGetMultiTexParameterIivEXT -> FuntypeGetMultiTexParameterIivEXT
-glrefGetMultiTexParameterIivEXT :: IORef FuntypeGetMultiTexParameterIivEXT
-glrefGetMultiTexParameterIivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetMultiTexParameterIivEXT #-}
-glGetMultiTexParameterIivEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetMultiTexParameterIivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetMultiTexParameterIivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetMultiTexParameterIivEXT #-}
-type FuntypeGetMultiTexParameterIuivEXT =
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetMultiTexParameterIuivEXT :: FunPtr FuntypeGetMultiTexParameterIuivEXT -> FuntypeGetMultiTexParameterIuivEXT
-glrefGetMultiTexParameterIuivEXT :: IORef FuntypeGetMultiTexParameterIuivEXT
-glrefGetMultiTexParameterIuivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetMultiTexParameterIuivEXT #-}
-glGetMultiTexParameterIuivEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLuint) ->
-    m ( () )
-glGetMultiTexParameterIuivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetMultiTexParameterIuivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetMultiTexParameterIuivEXT #-}
-type FuntypeProgramUniform1uiEXT =
-    GLuint ->
-    GLint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1uiEXT :: FunPtr FuntypeProgramUniform1uiEXT -> FuntypeProgramUniform1uiEXT
-glrefProgramUniform1uiEXT :: IORef FuntypeProgramUniform1uiEXT
-glrefProgramUniform1uiEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1uiEXT #-}
-glProgramUniform1uiEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLuint ->
-    m ( () )
-glProgramUniform1uiEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1uiEXT)
-      a0
-      a1
-      a2
-{-# INLINE glProgramUniform1uiEXT #-}
-type FuntypeProgramUniform2uiEXT =
-    GLuint ->
-    GLint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2uiEXT :: FunPtr FuntypeProgramUniform2uiEXT -> FuntypeProgramUniform2uiEXT
-glrefProgramUniform2uiEXT :: IORef FuntypeProgramUniform2uiEXT
-glrefProgramUniform2uiEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2uiEXT #-}
-glProgramUniform2uiEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glProgramUniform2uiEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2uiEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2uiEXT #-}
-type FuntypeProgramUniform3uiEXT =
-    GLuint ->
-    GLint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3uiEXT :: FunPtr FuntypeProgramUniform3uiEXT -> FuntypeProgramUniform3uiEXT
-glrefProgramUniform3uiEXT :: IORef FuntypeProgramUniform3uiEXT
-glrefProgramUniform3uiEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3uiEXT #-}
-glProgramUniform3uiEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glProgramUniform3uiEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3uiEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniform3uiEXT #-}
-type FuntypeProgramUniform4uiEXT =
-    GLuint ->
-    GLint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4uiEXT :: FunPtr FuntypeProgramUniform4uiEXT -> FuntypeProgramUniform4uiEXT
-glrefProgramUniform4uiEXT :: IORef FuntypeProgramUniform4uiEXT
-glrefProgramUniform4uiEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4uiEXT #-}
-glProgramUniform4uiEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glProgramUniform4uiEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4uiEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glProgramUniform4uiEXT #-}
-type FuntypeProgramUniform1uivEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1uivEXT :: FunPtr FuntypeProgramUniform1uivEXT -> FuntypeProgramUniform1uivEXT
-glrefProgramUniform1uivEXT :: IORef FuntypeProgramUniform1uivEXT
-glrefProgramUniform1uivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1uivEXT #-}
-glProgramUniform1uivEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glProgramUniform1uivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1uivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform1uivEXT #-}
-type FuntypeProgramUniform2uivEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2uivEXT :: FunPtr FuntypeProgramUniform2uivEXT -> FuntypeProgramUniform2uivEXT
-glrefProgramUniform2uivEXT :: IORef FuntypeProgramUniform2uivEXT
-glrefProgramUniform2uivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2uivEXT #-}
-glProgramUniform2uivEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glProgramUniform2uivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2uivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2uivEXT #-}
-type FuntypeProgramUniform3uivEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3uivEXT :: FunPtr FuntypeProgramUniform3uivEXT -> FuntypeProgramUniform3uivEXT
-glrefProgramUniform3uivEXT :: IORef FuntypeProgramUniform3uivEXT
-glrefProgramUniform3uivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3uivEXT #-}
-glProgramUniform3uivEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glProgramUniform3uivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3uivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform3uivEXT #-}
-type FuntypeProgramUniform4uivEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4uivEXT :: FunPtr FuntypeProgramUniform4uivEXT -> FuntypeProgramUniform4uivEXT
-glrefProgramUniform4uivEXT :: IORef FuntypeProgramUniform4uivEXT
-glrefProgramUniform4uivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4uivEXT #-}
-glProgramUniform4uivEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glProgramUniform4uivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4uivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform4uivEXT #-}
-type FuntypeNamedProgramLocalParameters4fvEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedProgramLocalParameters4fvEXT :: FunPtr FuntypeNamedProgramLocalParameters4fvEXT -> FuntypeNamedProgramLocalParameters4fvEXT
-glrefNamedProgramLocalParameters4fvEXT :: IORef FuntypeNamedProgramLocalParameters4fvEXT
-glrefNamedProgramLocalParameters4fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedProgramLocalParameters4fvEXT #-}
-glNamedProgramLocalParameters4fvEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    m ( () )
-glNamedProgramLocalParameters4fvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedProgramLocalParameters4fvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glNamedProgramLocalParameters4fvEXT #-}
-type FuntypeNamedProgramLocalParameterI4iEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedProgramLocalParameterI4iEXT :: FunPtr FuntypeNamedProgramLocalParameterI4iEXT -> FuntypeNamedProgramLocalParameterI4iEXT
-glrefNamedProgramLocalParameterI4iEXT :: IORef FuntypeNamedProgramLocalParameterI4iEXT
-glrefNamedProgramLocalParameterI4iEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedProgramLocalParameterI4iEXT #-}
-glNamedProgramLocalParameterI4iEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glNamedProgramLocalParameterI4iEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedProgramLocalParameterI4iEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glNamedProgramLocalParameterI4iEXT #-}
-type FuntypeNamedProgramLocalParameterI4ivEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedProgramLocalParameterI4ivEXT :: FunPtr FuntypeNamedProgramLocalParameterI4ivEXT -> FuntypeNamedProgramLocalParameterI4ivEXT
-glrefNamedProgramLocalParameterI4ivEXT :: IORef FuntypeNamedProgramLocalParameterI4ivEXT
-glrefNamedProgramLocalParameterI4ivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedProgramLocalParameterI4ivEXT #-}
-glNamedProgramLocalParameterI4ivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLint) ->
-    m ( () )
-glNamedProgramLocalParameterI4ivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedProgramLocalParameterI4ivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glNamedProgramLocalParameterI4ivEXT #-}
-type FuntypeNamedProgramLocalParametersI4ivEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedProgramLocalParametersI4ivEXT :: FunPtr FuntypeNamedProgramLocalParametersI4ivEXT -> FuntypeNamedProgramLocalParametersI4ivEXT
-glrefNamedProgramLocalParametersI4ivEXT :: IORef FuntypeNamedProgramLocalParametersI4ivEXT
-glrefNamedProgramLocalParametersI4ivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedProgramLocalParametersI4ivEXT #-}
-glNamedProgramLocalParametersI4ivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glNamedProgramLocalParametersI4ivEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedProgramLocalParametersI4ivEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glNamedProgramLocalParametersI4ivEXT #-}
-type FuntypeNamedProgramLocalParameterI4uiEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedProgramLocalParameterI4uiEXT :: FunPtr FuntypeNamedProgramLocalParameterI4uiEXT -> FuntypeNamedProgramLocalParameterI4uiEXT
-glrefNamedProgramLocalParameterI4uiEXT :: IORef FuntypeNamedProgramLocalParameterI4uiEXT
-glrefNamedProgramLocalParameterI4uiEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedProgramLocalParameterI4uiEXT #-}
-glNamedProgramLocalParameterI4uiEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glNamedProgramLocalParameterI4uiEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedProgramLocalParameterI4uiEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glNamedProgramLocalParameterI4uiEXT #-}
-type FuntypeNamedProgramLocalParameterI4uivEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedProgramLocalParameterI4uivEXT :: FunPtr FuntypeNamedProgramLocalParameterI4uivEXT -> FuntypeNamedProgramLocalParameterI4uivEXT
-glrefNamedProgramLocalParameterI4uivEXT :: IORef FuntypeNamedProgramLocalParameterI4uivEXT
-glrefNamedProgramLocalParameterI4uivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedProgramLocalParameterI4uivEXT #-}
-glNamedProgramLocalParameterI4uivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLuint) ->
-    m ( () )
-glNamedProgramLocalParameterI4uivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedProgramLocalParameterI4uivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glNamedProgramLocalParameterI4uivEXT #-}
-type FuntypeNamedProgramLocalParametersI4uivEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedProgramLocalParametersI4uivEXT :: FunPtr FuntypeNamedProgramLocalParametersI4uivEXT -> FuntypeNamedProgramLocalParametersI4uivEXT
-glrefNamedProgramLocalParametersI4uivEXT :: IORef FuntypeNamedProgramLocalParametersI4uivEXT
-glrefNamedProgramLocalParametersI4uivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedProgramLocalParametersI4uivEXT #-}
-glNamedProgramLocalParametersI4uivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glNamedProgramLocalParametersI4uivEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedProgramLocalParametersI4uivEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glNamedProgramLocalParametersI4uivEXT #-}
-type FuntypeGetNamedProgramLocalParameterIivEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetNamedProgramLocalParameterIivEXT :: FunPtr FuntypeGetNamedProgramLocalParameterIivEXT -> FuntypeGetNamedProgramLocalParameterIivEXT
-glrefGetNamedProgramLocalParameterIivEXT :: IORef FuntypeGetNamedProgramLocalParameterIivEXT
-glrefGetNamedProgramLocalParameterIivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetNamedProgramLocalParameterIivEXT #-}
-glGetNamedProgramLocalParameterIivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLint) ->
-    m ( () )
-glGetNamedProgramLocalParameterIivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetNamedProgramLocalParameterIivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetNamedProgramLocalParameterIivEXT #-}
-type FuntypeGetNamedProgramLocalParameterIuivEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetNamedProgramLocalParameterIuivEXT :: FunPtr FuntypeGetNamedProgramLocalParameterIuivEXT -> FuntypeGetNamedProgramLocalParameterIuivEXT
-glrefGetNamedProgramLocalParameterIuivEXT :: IORef FuntypeGetNamedProgramLocalParameterIuivEXT
-glrefGetNamedProgramLocalParameterIuivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetNamedProgramLocalParameterIuivEXT #-}
-glGetNamedProgramLocalParameterIuivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLuint) ->
-    m ( () )
-glGetNamedProgramLocalParameterIuivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetNamedProgramLocalParameterIuivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetNamedProgramLocalParameterIuivEXT #-}
-type FuntypeEnableClientStateiEXT =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynEnableClientStateiEXT :: FunPtr FuntypeEnableClientStateiEXT -> FuntypeEnableClientStateiEXT
-glrefEnableClientStateiEXT :: IORef FuntypeEnableClientStateiEXT
-glrefEnableClientStateiEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefEnableClientStateiEXT #-}
-glEnableClientStateiEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glEnableClientStateiEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefEnableClientStateiEXT)
-      a0
-      a1
-{-# INLINE glEnableClientStateiEXT #-}
-type FuntypeDisableClientStateiEXT =
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDisableClientStateiEXT :: FunPtr FuntypeDisableClientStateiEXT -> FuntypeDisableClientStateiEXT
-glrefDisableClientStateiEXT :: IORef FuntypeDisableClientStateiEXT
-glrefDisableClientStateiEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDisableClientStateiEXT #-}
-glDisableClientStateiEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    m ( () )
-glDisableClientStateiEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDisableClientStateiEXT)
-      a0
-      a1
-{-# INLINE glDisableClientStateiEXT #-}
-type FuntypeGetFloati_vEXT =
-    GLenum ->
-    GLuint ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetFloati_vEXT :: FunPtr FuntypeGetFloati_vEXT -> FuntypeGetFloati_vEXT
-glrefGetFloati_vEXT :: IORef FuntypeGetFloati_vEXT
-glrefGetFloati_vEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetFloati_vEXT #-}
-glGetFloati_vEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetFloati_vEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetFloati_vEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetFloati_vEXT #-}
-type FuntypeGetDoublei_vEXT =
-    GLenum ->
-    GLuint ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetDoublei_vEXT :: FunPtr FuntypeGetDoublei_vEXT -> FuntypeGetDoublei_vEXT
-glrefGetDoublei_vEXT :: IORef FuntypeGetDoublei_vEXT
-glrefGetDoublei_vEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetDoublei_vEXT #-}
-glGetDoublei_vEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    Ptr (GLdouble) ->
-    m ( () )
-glGetDoublei_vEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetDoublei_vEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetDoublei_vEXT #-}
-type FuntypeGetPointeri_vEXT =
-    GLenum ->
-    GLuint ->
-    Ptr (Ptr ()) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetPointeri_vEXT :: FunPtr FuntypeGetPointeri_vEXT -> FuntypeGetPointeri_vEXT
-glrefGetPointeri_vEXT :: IORef FuntypeGetPointeri_vEXT
-glrefGetPointeri_vEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetPointeri_vEXT #-}
-glGetPointeri_vEXT :: MonadIO m =>
-    GLenum ->
-    GLuint ->
-    Ptr (Ptr ()) ->
-    m ( () )
-glGetPointeri_vEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetPointeri_vEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetPointeri_vEXT #-}
-type FuntypeNamedProgramStringEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedProgramStringEXT :: FunPtr FuntypeNamedProgramStringEXT -> FuntypeNamedProgramStringEXT
-glrefNamedProgramStringEXT :: IORef FuntypeNamedProgramStringEXT
-glrefNamedProgramStringEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedProgramStringEXT #-}
-glNamedProgramStringEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLsizei ->
-    Ptr () ->
-    m ( () )
-glNamedProgramStringEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedProgramStringEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glNamedProgramStringEXT #-}
-type FuntypeNamedProgramLocalParameter4dEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedProgramLocalParameter4dEXT :: FunPtr FuntypeNamedProgramLocalParameter4dEXT -> FuntypeNamedProgramLocalParameter4dEXT
-glrefNamedProgramLocalParameter4dEXT :: IORef FuntypeNamedProgramLocalParameter4dEXT
-glrefNamedProgramLocalParameter4dEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedProgramLocalParameter4dEXT #-}
-glNamedProgramLocalParameter4dEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glNamedProgramLocalParameter4dEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedProgramLocalParameter4dEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glNamedProgramLocalParameter4dEXT #-}
-type FuntypeNamedProgramLocalParameter4dvEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedProgramLocalParameter4dvEXT :: FunPtr FuntypeNamedProgramLocalParameter4dvEXT -> FuntypeNamedProgramLocalParameter4dvEXT
-glrefNamedProgramLocalParameter4dvEXT :: IORef FuntypeNamedProgramLocalParameter4dvEXT
-glrefNamedProgramLocalParameter4dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedProgramLocalParameter4dvEXT #-}
-glNamedProgramLocalParameter4dvEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLdouble) ->
-    m ( () )
-glNamedProgramLocalParameter4dvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedProgramLocalParameter4dvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glNamedProgramLocalParameter4dvEXT #-}
-type FuntypeNamedProgramLocalParameter4fEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedProgramLocalParameter4fEXT :: FunPtr FuntypeNamedProgramLocalParameter4fEXT -> FuntypeNamedProgramLocalParameter4fEXT
-glrefNamedProgramLocalParameter4fEXT :: IORef FuntypeNamedProgramLocalParameter4fEXT
-glrefNamedProgramLocalParameter4fEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedProgramLocalParameter4fEXT #-}
-glNamedProgramLocalParameter4fEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glNamedProgramLocalParameter4fEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedProgramLocalParameter4fEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glNamedProgramLocalParameter4fEXT #-}
-type FuntypeNamedProgramLocalParameter4fvEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedProgramLocalParameter4fvEXT :: FunPtr FuntypeNamedProgramLocalParameter4fvEXT -> FuntypeNamedProgramLocalParameter4fvEXT
-glrefNamedProgramLocalParameter4fvEXT :: IORef FuntypeNamedProgramLocalParameter4fvEXT
-glrefNamedProgramLocalParameter4fvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedProgramLocalParameter4fvEXT #-}
-glNamedProgramLocalParameter4fvEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLfloat) ->
-    m ( () )
-glNamedProgramLocalParameter4fvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedProgramLocalParameter4fvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glNamedProgramLocalParameter4fvEXT #-}
-type FuntypeGetNamedProgramLocalParameterdvEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetNamedProgramLocalParameterdvEXT :: FunPtr FuntypeGetNamedProgramLocalParameterdvEXT -> FuntypeGetNamedProgramLocalParameterdvEXT
-glrefGetNamedProgramLocalParameterdvEXT :: IORef FuntypeGetNamedProgramLocalParameterdvEXT
-glrefGetNamedProgramLocalParameterdvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetNamedProgramLocalParameterdvEXT #-}
-glGetNamedProgramLocalParameterdvEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLdouble) ->
-    m ( () )
-glGetNamedProgramLocalParameterdvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetNamedProgramLocalParameterdvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetNamedProgramLocalParameterdvEXT #-}
-type FuntypeGetNamedProgramLocalParameterfvEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetNamedProgramLocalParameterfvEXT :: FunPtr FuntypeGetNamedProgramLocalParameterfvEXT -> FuntypeGetNamedProgramLocalParameterfvEXT
-glrefGetNamedProgramLocalParameterfvEXT :: IORef FuntypeGetNamedProgramLocalParameterfvEXT
-glrefGetNamedProgramLocalParameterfvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetNamedProgramLocalParameterfvEXT #-}
-glGetNamedProgramLocalParameterfvEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    Ptr (GLfloat) ->
-    m ( () )
-glGetNamedProgramLocalParameterfvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetNamedProgramLocalParameterfvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetNamedProgramLocalParameterfvEXT #-}
-type FuntypeGetNamedProgramivEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetNamedProgramivEXT :: FunPtr FuntypeGetNamedProgramivEXT -> FuntypeGetNamedProgramivEXT
-glrefGetNamedProgramivEXT :: IORef FuntypeGetNamedProgramivEXT
-glrefGetNamedProgramivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetNamedProgramivEXT #-}
-glGetNamedProgramivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetNamedProgramivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetNamedProgramivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetNamedProgramivEXT #-}
-type FuntypeGetNamedProgramStringEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetNamedProgramStringEXT :: FunPtr FuntypeGetNamedProgramStringEXT -> FuntypeGetNamedProgramStringEXT
-glrefGetNamedProgramStringEXT :: IORef FuntypeGetNamedProgramStringEXT
-glrefGetNamedProgramStringEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetNamedProgramStringEXT #-}
-glGetNamedProgramStringEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glGetNamedProgramStringEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetNamedProgramStringEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetNamedProgramStringEXT #-}
-type FuntypeNamedRenderbufferStorageEXT =
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedRenderbufferStorageEXT :: FunPtr FuntypeNamedRenderbufferStorageEXT -> FuntypeNamedRenderbufferStorageEXT
-glrefNamedRenderbufferStorageEXT :: IORef FuntypeNamedRenderbufferStorageEXT
-glrefNamedRenderbufferStorageEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedRenderbufferStorageEXT #-}
-glNamedRenderbufferStorageEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glNamedRenderbufferStorageEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedRenderbufferStorageEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glNamedRenderbufferStorageEXT #-}
-type FuntypeGetNamedRenderbufferParameterivEXT =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetNamedRenderbufferParameterivEXT :: FunPtr FuntypeGetNamedRenderbufferParameterivEXT -> FuntypeGetNamedRenderbufferParameterivEXT
-glrefGetNamedRenderbufferParameterivEXT :: IORef FuntypeGetNamedRenderbufferParameterivEXT
-glrefGetNamedRenderbufferParameterivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetNamedRenderbufferParameterivEXT #-}
-glGetNamedRenderbufferParameterivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetNamedRenderbufferParameterivEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetNamedRenderbufferParameterivEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetNamedRenderbufferParameterivEXT #-}
-type FuntypeNamedRenderbufferStorageMultisampleEXT =
-    GLuint ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedRenderbufferStorageMultisampleEXT :: FunPtr FuntypeNamedRenderbufferStorageMultisampleEXT -> FuntypeNamedRenderbufferStorageMultisampleEXT
-glrefNamedRenderbufferStorageMultisampleEXT :: IORef FuntypeNamedRenderbufferStorageMultisampleEXT
-glrefNamedRenderbufferStorageMultisampleEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedRenderbufferStorageMultisampleEXT #-}
-glNamedRenderbufferStorageMultisampleEXT :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glNamedRenderbufferStorageMultisampleEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedRenderbufferStorageMultisampleEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glNamedRenderbufferStorageMultisampleEXT #-}
-type FuntypeNamedRenderbufferStorageMultisampleCoverageEXT =
-    GLuint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedRenderbufferStorageMultisampleCoverageEXT :: FunPtr FuntypeNamedRenderbufferStorageMultisampleCoverageEXT -> FuntypeNamedRenderbufferStorageMultisampleCoverageEXT
-glrefNamedRenderbufferStorageMultisampleCoverageEXT :: IORef FuntypeNamedRenderbufferStorageMultisampleCoverageEXT
-glrefNamedRenderbufferStorageMultisampleCoverageEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedRenderbufferStorageMultisampleCoverageEXT #-}
-glNamedRenderbufferStorageMultisampleCoverageEXT :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glNamedRenderbufferStorageMultisampleCoverageEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedRenderbufferStorageMultisampleCoverageEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glNamedRenderbufferStorageMultisampleCoverageEXT #-}
-type FuntypeCheckNamedFramebufferStatusEXT =
-    GLuint ->
-    GLenum ->
-    IO ( GLenum )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCheckNamedFramebufferStatusEXT :: FunPtr FuntypeCheckNamedFramebufferStatusEXT -> FuntypeCheckNamedFramebufferStatusEXT
-glrefCheckNamedFramebufferStatusEXT :: IORef FuntypeCheckNamedFramebufferStatusEXT
-glrefCheckNamedFramebufferStatusEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCheckNamedFramebufferStatusEXT #-}
-glCheckNamedFramebufferStatusEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    m ( GLenum )
-glCheckNamedFramebufferStatusEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefCheckNamedFramebufferStatusEXT)
-      a0
-      a1
-{-# INLINE glCheckNamedFramebufferStatusEXT #-}
-type FuntypeNamedFramebufferTexture1DEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedFramebufferTexture1DEXT :: FunPtr FuntypeNamedFramebufferTexture1DEXT -> FuntypeNamedFramebufferTexture1DEXT
-glrefNamedFramebufferTexture1DEXT :: IORef FuntypeNamedFramebufferTexture1DEXT
-glrefNamedFramebufferTexture1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedFramebufferTexture1DEXT #-}
-glNamedFramebufferTexture1DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    m ( () )
-glNamedFramebufferTexture1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedFramebufferTexture1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glNamedFramebufferTexture1DEXT #-}
-type FuntypeNamedFramebufferTexture2DEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedFramebufferTexture2DEXT :: FunPtr FuntypeNamedFramebufferTexture2DEXT -> FuntypeNamedFramebufferTexture2DEXT
-glrefNamedFramebufferTexture2DEXT :: IORef FuntypeNamedFramebufferTexture2DEXT
-glrefNamedFramebufferTexture2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedFramebufferTexture2DEXT #-}
-glNamedFramebufferTexture2DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    m ( () )
-glNamedFramebufferTexture2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedFramebufferTexture2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glNamedFramebufferTexture2DEXT #-}
-type FuntypeNamedFramebufferTexture3DEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedFramebufferTexture3DEXT :: FunPtr FuntypeNamedFramebufferTexture3DEXT -> FuntypeNamedFramebufferTexture3DEXT
-glrefNamedFramebufferTexture3DEXT :: IORef FuntypeNamedFramebufferTexture3DEXT
-glrefNamedFramebufferTexture3DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedFramebufferTexture3DEXT #-}
-glNamedFramebufferTexture3DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glNamedFramebufferTexture3DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedFramebufferTexture3DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glNamedFramebufferTexture3DEXT #-}
-type FuntypeNamedFramebufferRenderbufferEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedFramebufferRenderbufferEXT :: FunPtr FuntypeNamedFramebufferRenderbufferEXT -> FuntypeNamedFramebufferRenderbufferEXT
-glrefNamedFramebufferRenderbufferEXT :: IORef FuntypeNamedFramebufferRenderbufferEXT
-glrefNamedFramebufferRenderbufferEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedFramebufferRenderbufferEXT #-}
-glNamedFramebufferRenderbufferEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    m ( () )
-glNamedFramebufferRenderbufferEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedFramebufferRenderbufferEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glNamedFramebufferRenderbufferEXT #-}
-type FuntypeGetNamedFramebufferAttachmentParameterivEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetNamedFramebufferAttachmentParameterivEXT :: FunPtr FuntypeGetNamedFramebufferAttachmentParameterivEXT -> FuntypeGetNamedFramebufferAttachmentParameterivEXT
-glrefGetNamedFramebufferAttachmentParameterivEXT :: IORef FuntypeGetNamedFramebufferAttachmentParameterivEXT
-glrefGetNamedFramebufferAttachmentParameterivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetNamedFramebufferAttachmentParameterivEXT #-}
-glGetNamedFramebufferAttachmentParameterivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetNamedFramebufferAttachmentParameterivEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetNamedFramebufferAttachmentParameterivEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetNamedFramebufferAttachmentParameterivEXT #-}
-type FuntypeGenerateTextureMipmapEXT =
-    GLuint ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGenerateTextureMipmapEXT :: FunPtr FuntypeGenerateTextureMipmapEXT -> FuntypeGenerateTextureMipmapEXT
-glrefGenerateTextureMipmapEXT :: IORef FuntypeGenerateTextureMipmapEXT
-glrefGenerateTextureMipmapEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGenerateTextureMipmapEXT #-}
-glGenerateTextureMipmapEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    m ( () )
-glGenerateTextureMipmapEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGenerateTextureMipmapEXT)
-      a0
-      a1
-{-# INLINE glGenerateTextureMipmapEXT #-}
-type FuntypeGenerateMultiTexMipmapEXT =
-    GLenum ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGenerateMultiTexMipmapEXT :: FunPtr FuntypeGenerateMultiTexMipmapEXT -> FuntypeGenerateMultiTexMipmapEXT
-glrefGenerateMultiTexMipmapEXT :: IORef FuntypeGenerateMultiTexMipmapEXT
-glrefGenerateMultiTexMipmapEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGenerateMultiTexMipmapEXT #-}
-glGenerateMultiTexMipmapEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    m ( () )
-glGenerateMultiTexMipmapEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGenerateMultiTexMipmapEXT)
-      a0
-      a1
-{-# INLINE glGenerateMultiTexMipmapEXT #-}
-type FuntypeFramebufferDrawBufferEXT =
-    GLuint ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFramebufferDrawBufferEXT :: FunPtr FuntypeFramebufferDrawBufferEXT -> FuntypeFramebufferDrawBufferEXT
-glrefFramebufferDrawBufferEXT :: IORef FuntypeFramebufferDrawBufferEXT
-glrefFramebufferDrawBufferEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFramebufferDrawBufferEXT #-}
-glFramebufferDrawBufferEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    m ( () )
-glFramebufferDrawBufferEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefFramebufferDrawBufferEXT)
-      a0
-      a1
-{-# INLINE glFramebufferDrawBufferEXT #-}
-type FuntypeFramebufferDrawBuffersEXT =
-    GLuint ->
-    GLsizei ->
-    Ptr (GLenum) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFramebufferDrawBuffersEXT :: FunPtr FuntypeFramebufferDrawBuffersEXT -> FuntypeFramebufferDrawBuffersEXT
-glrefFramebufferDrawBuffersEXT :: IORef FuntypeFramebufferDrawBuffersEXT
-glrefFramebufferDrawBuffersEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFramebufferDrawBuffersEXT #-}
-glFramebufferDrawBuffersEXT :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    Ptr (GLenum) ->
-    m ( () )
-glFramebufferDrawBuffersEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefFramebufferDrawBuffersEXT)
-      a0
-      a1
-      a2
-{-# INLINE glFramebufferDrawBuffersEXT #-}
-type FuntypeFramebufferReadBufferEXT =
-    GLuint ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFramebufferReadBufferEXT :: FunPtr FuntypeFramebufferReadBufferEXT -> FuntypeFramebufferReadBufferEXT
-glrefFramebufferReadBufferEXT :: IORef FuntypeFramebufferReadBufferEXT
-glrefFramebufferReadBufferEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFramebufferReadBufferEXT #-}
-glFramebufferReadBufferEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    m ( () )
-glFramebufferReadBufferEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefFramebufferReadBufferEXT)
-      a0
-      a1
-{-# INLINE glFramebufferReadBufferEXT #-}
-type FuntypeGetFramebufferParameterivEXT =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetFramebufferParameterivEXT :: FunPtr FuntypeGetFramebufferParameterivEXT -> FuntypeGetFramebufferParameterivEXT
-glrefGetFramebufferParameterivEXT :: IORef FuntypeGetFramebufferParameterivEXT
-glrefGetFramebufferParameterivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetFramebufferParameterivEXT #-}
-glGetFramebufferParameterivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetFramebufferParameterivEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetFramebufferParameterivEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetFramebufferParameterivEXT #-}
-type FuntypeNamedCopyBufferSubDataEXT =
-    GLuint ->
-    GLuint ->
-    GLintptr ->
-    GLintptr ->
-    GLsizeiptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedCopyBufferSubDataEXT :: FunPtr FuntypeNamedCopyBufferSubDataEXT -> FuntypeNamedCopyBufferSubDataEXT
-glrefNamedCopyBufferSubDataEXT :: IORef FuntypeNamedCopyBufferSubDataEXT
-glrefNamedCopyBufferSubDataEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedCopyBufferSubDataEXT #-}
-glNamedCopyBufferSubDataEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLintptr ->
-    GLintptr ->
-    GLsizeiptr ->
-    m ( () )
-glNamedCopyBufferSubDataEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedCopyBufferSubDataEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glNamedCopyBufferSubDataEXT #-}
-type FuntypeNamedFramebufferTextureEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedFramebufferTextureEXT :: FunPtr FuntypeNamedFramebufferTextureEXT -> FuntypeNamedFramebufferTextureEXT
-glrefNamedFramebufferTextureEXT :: IORef FuntypeNamedFramebufferTextureEXT
-glrefNamedFramebufferTextureEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedFramebufferTextureEXT #-}
-glNamedFramebufferTextureEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    m ( () )
-glNamedFramebufferTextureEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedFramebufferTextureEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glNamedFramebufferTextureEXT #-}
-type FuntypeNamedFramebufferTextureLayerEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedFramebufferTextureLayerEXT :: FunPtr FuntypeNamedFramebufferTextureLayerEXT -> FuntypeNamedFramebufferTextureLayerEXT
-glrefNamedFramebufferTextureLayerEXT :: IORef FuntypeNamedFramebufferTextureLayerEXT
-glrefNamedFramebufferTextureLayerEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedFramebufferTextureLayerEXT #-}
-glNamedFramebufferTextureLayerEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glNamedFramebufferTextureLayerEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedFramebufferTextureLayerEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glNamedFramebufferTextureLayerEXT #-}
-type FuntypeNamedFramebufferTextureFaceEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedFramebufferTextureFaceEXT :: FunPtr FuntypeNamedFramebufferTextureFaceEXT -> FuntypeNamedFramebufferTextureFaceEXT
-glrefNamedFramebufferTextureFaceEXT :: IORef FuntypeNamedFramebufferTextureFaceEXT
-glrefNamedFramebufferTextureFaceEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedFramebufferTextureFaceEXT #-}
-glNamedFramebufferTextureFaceEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    m ( () )
-glNamedFramebufferTextureFaceEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedFramebufferTextureFaceEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glNamedFramebufferTextureFaceEXT #-}
-type FuntypeTextureRenderbufferEXT =
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureRenderbufferEXT :: FunPtr FuntypeTextureRenderbufferEXT -> FuntypeTextureRenderbufferEXT
-glrefTextureRenderbufferEXT :: IORef FuntypeTextureRenderbufferEXT
-glrefTextureRenderbufferEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureRenderbufferEXT #-}
-glTextureRenderbufferEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLuint ->
-    m ( () )
-glTextureRenderbufferEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureRenderbufferEXT)
-      a0
-      a1
-      a2
-{-# INLINE glTextureRenderbufferEXT #-}
-type FuntypeMultiTexRenderbufferEXT =
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMultiTexRenderbufferEXT :: FunPtr FuntypeMultiTexRenderbufferEXT -> FuntypeMultiTexRenderbufferEXT
-glrefMultiTexRenderbufferEXT :: IORef FuntypeMultiTexRenderbufferEXT
-glrefMultiTexRenderbufferEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMultiTexRenderbufferEXT #-}
-glMultiTexRenderbufferEXT :: MonadIO m =>
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    m ( () )
-glMultiTexRenderbufferEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefMultiTexRenderbufferEXT)
-      a0
-      a1
-      a2
-{-# INLINE glMultiTexRenderbufferEXT #-}
-type FuntypeVertexArrayVertexOffsetEXT =
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayVertexOffsetEXT :: FunPtr FuntypeVertexArrayVertexOffsetEXT -> FuntypeVertexArrayVertexOffsetEXT
-glrefVertexArrayVertexOffsetEXT :: IORef FuntypeVertexArrayVertexOffsetEXT
-glrefVertexArrayVertexOffsetEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayVertexOffsetEXT #-}
-glVertexArrayVertexOffsetEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    m ( () )
-glVertexArrayVertexOffsetEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayVertexOffsetEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glVertexArrayVertexOffsetEXT #-}
-type FuntypeVertexArrayColorOffsetEXT =
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayColorOffsetEXT :: FunPtr FuntypeVertexArrayColorOffsetEXT -> FuntypeVertexArrayColorOffsetEXT
-glrefVertexArrayColorOffsetEXT :: IORef FuntypeVertexArrayColorOffsetEXT
-glrefVertexArrayColorOffsetEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayColorOffsetEXT #-}
-glVertexArrayColorOffsetEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    m ( () )
-glVertexArrayColorOffsetEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayColorOffsetEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glVertexArrayColorOffsetEXT #-}
-type FuntypeVertexArrayEdgeFlagOffsetEXT =
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    GLintptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayEdgeFlagOffsetEXT :: FunPtr FuntypeVertexArrayEdgeFlagOffsetEXT -> FuntypeVertexArrayEdgeFlagOffsetEXT
-glrefVertexArrayEdgeFlagOffsetEXT :: IORef FuntypeVertexArrayEdgeFlagOffsetEXT
-glrefVertexArrayEdgeFlagOffsetEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayEdgeFlagOffsetEXT #-}
-glVertexArrayEdgeFlagOffsetEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLsizei ->
-    GLintptr ->
-    m ( () )
-glVertexArrayEdgeFlagOffsetEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayEdgeFlagOffsetEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glVertexArrayEdgeFlagOffsetEXT #-}
-type FuntypeVertexArrayIndexOffsetEXT =
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayIndexOffsetEXT :: FunPtr FuntypeVertexArrayIndexOffsetEXT -> FuntypeVertexArrayIndexOffsetEXT
-glrefVertexArrayIndexOffsetEXT :: IORef FuntypeVertexArrayIndexOffsetEXT
-glrefVertexArrayIndexOffsetEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayIndexOffsetEXT #-}
-glVertexArrayIndexOffsetEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    m ( () )
-glVertexArrayIndexOffsetEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayIndexOffsetEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glVertexArrayIndexOffsetEXT #-}
-type FuntypeVertexArrayNormalOffsetEXT =
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayNormalOffsetEXT :: FunPtr FuntypeVertexArrayNormalOffsetEXT -> FuntypeVertexArrayNormalOffsetEXT
-glrefVertexArrayNormalOffsetEXT :: IORef FuntypeVertexArrayNormalOffsetEXT
-glrefVertexArrayNormalOffsetEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayNormalOffsetEXT #-}
-glVertexArrayNormalOffsetEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    m ( () )
-glVertexArrayNormalOffsetEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayNormalOffsetEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glVertexArrayNormalOffsetEXT #-}
-type FuntypeVertexArrayTexCoordOffsetEXT =
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayTexCoordOffsetEXT :: FunPtr FuntypeVertexArrayTexCoordOffsetEXT -> FuntypeVertexArrayTexCoordOffsetEXT
-glrefVertexArrayTexCoordOffsetEXT :: IORef FuntypeVertexArrayTexCoordOffsetEXT
-glrefVertexArrayTexCoordOffsetEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayTexCoordOffsetEXT #-}
-glVertexArrayTexCoordOffsetEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    m ( () )
-glVertexArrayTexCoordOffsetEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayTexCoordOffsetEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glVertexArrayTexCoordOffsetEXT #-}
-type FuntypeVertexArrayMultiTexCoordOffsetEXT =
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayMultiTexCoordOffsetEXT :: FunPtr FuntypeVertexArrayMultiTexCoordOffsetEXT -> FuntypeVertexArrayMultiTexCoordOffsetEXT
-glrefVertexArrayMultiTexCoordOffsetEXT :: IORef FuntypeVertexArrayMultiTexCoordOffsetEXT
-glrefVertexArrayMultiTexCoordOffsetEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayMultiTexCoordOffsetEXT #-}
-glVertexArrayMultiTexCoordOffsetEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    m ( () )
-glVertexArrayMultiTexCoordOffsetEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayMultiTexCoordOffsetEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glVertexArrayMultiTexCoordOffsetEXT #-}
-type FuntypeVertexArrayFogCoordOffsetEXT =
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayFogCoordOffsetEXT :: FunPtr FuntypeVertexArrayFogCoordOffsetEXT -> FuntypeVertexArrayFogCoordOffsetEXT
-glrefVertexArrayFogCoordOffsetEXT :: IORef FuntypeVertexArrayFogCoordOffsetEXT
-glrefVertexArrayFogCoordOffsetEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayFogCoordOffsetEXT #-}
-glVertexArrayFogCoordOffsetEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    m ( () )
-glVertexArrayFogCoordOffsetEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayFogCoordOffsetEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glVertexArrayFogCoordOffsetEXT #-}
-type FuntypeVertexArraySecondaryColorOffsetEXT =
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArraySecondaryColorOffsetEXT :: FunPtr FuntypeVertexArraySecondaryColorOffsetEXT -> FuntypeVertexArraySecondaryColorOffsetEXT
-glrefVertexArraySecondaryColorOffsetEXT :: IORef FuntypeVertexArraySecondaryColorOffsetEXT
-glrefVertexArraySecondaryColorOffsetEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArraySecondaryColorOffsetEXT #-}
-glVertexArraySecondaryColorOffsetEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    m ( () )
-glVertexArraySecondaryColorOffsetEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArraySecondaryColorOffsetEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glVertexArraySecondaryColorOffsetEXT #-}
-type FuntypeVertexArrayVertexAttribOffsetEXT =
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLboolean ->
-    GLsizei ->
-    GLintptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayVertexAttribOffsetEXT :: FunPtr FuntypeVertexArrayVertexAttribOffsetEXT -> FuntypeVertexArrayVertexAttribOffsetEXT
-glrefVertexArrayVertexAttribOffsetEXT :: IORef FuntypeVertexArrayVertexAttribOffsetEXT
-glrefVertexArrayVertexAttribOffsetEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayVertexAttribOffsetEXT #-}
-glVertexArrayVertexAttribOffsetEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLboolean ->
-    GLsizei ->
-    GLintptr ->
-    m ( () )
-glVertexArrayVertexAttribOffsetEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayVertexAttribOffsetEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glVertexArrayVertexAttribOffsetEXT #-}
-type FuntypeVertexArrayVertexAttribIOffsetEXT =
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayVertexAttribIOffsetEXT :: FunPtr FuntypeVertexArrayVertexAttribIOffsetEXT -> FuntypeVertexArrayVertexAttribIOffsetEXT
-glrefVertexArrayVertexAttribIOffsetEXT :: IORef FuntypeVertexArrayVertexAttribIOffsetEXT
-glrefVertexArrayVertexAttribIOffsetEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayVertexAttribIOffsetEXT #-}
-glVertexArrayVertexAttribIOffsetEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    m ( () )
-glVertexArrayVertexAttribIOffsetEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayVertexAttribIOffsetEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glVertexArrayVertexAttribIOffsetEXT #-}
-type FuntypeEnableVertexArrayEXT =
-    GLuint ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynEnableVertexArrayEXT :: FunPtr FuntypeEnableVertexArrayEXT -> FuntypeEnableVertexArrayEXT
-glrefEnableVertexArrayEXT :: IORef FuntypeEnableVertexArrayEXT
-glrefEnableVertexArrayEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefEnableVertexArrayEXT #-}
-glEnableVertexArrayEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    m ( () )
-glEnableVertexArrayEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefEnableVertexArrayEXT)
-      a0
-      a1
-{-# INLINE glEnableVertexArrayEXT #-}
-type FuntypeDisableVertexArrayEXT =
-    GLuint ->
-    GLenum ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDisableVertexArrayEXT :: FunPtr FuntypeDisableVertexArrayEXT -> FuntypeDisableVertexArrayEXT
-glrefDisableVertexArrayEXT :: IORef FuntypeDisableVertexArrayEXT
-glrefDisableVertexArrayEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDisableVertexArrayEXT #-}
-glDisableVertexArrayEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    m ( () )
-glDisableVertexArrayEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDisableVertexArrayEXT)
-      a0
-      a1
-{-# INLINE glDisableVertexArrayEXT #-}
-type FuntypeEnableVertexArrayAttribEXT =
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynEnableVertexArrayAttribEXT :: FunPtr FuntypeEnableVertexArrayAttribEXT -> FuntypeEnableVertexArrayAttribEXT
-glrefEnableVertexArrayAttribEXT :: IORef FuntypeEnableVertexArrayAttribEXT
-glrefEnableVertexArrayAttribEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefEnableVertexArrayAttribEXT #-}
-glEnableVertexArrayAttribEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    m ( () )
-glEnableVertexArrayAttribEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefEnableVertexArrayAttribEXT)
-      a0
-      a1
-{-# INLINE glEnableVertexArrayAttribEXT #-}
-type FuntypeDisableVertexArrayAttribEXT =
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDisableVertexArrayAttribEXT :: FunPtr FuntypeDisableVertexArrayAttribEXT -> FuntypeDisableVertexArrayAttribEXT
-glrefDisableVertexArrayAttribEXT :: IORef FuntypeDisableVertexArrayAttribEXT
-glrefDisableVertexArrayAttribEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDisableVertexArrayAttribEXT #-}
-glDisableVertexArrayAttribEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    m ( () )
-glDisableVertexArrayAttribEXT
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDisableVertexArrayAttribEXT)
-      a0
-      a1
-{-# INLINE glDisableVertexArrayAttribEXT #-}
-type FuntypeGetVertexArrayIntegervEXT =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetVertexArrayIntegervEXT :: FunPtr FuntypeGetVertexArrayIntegervEXT -> FuntypeGetVertexArrayIntegervEXT
-glrefGetVertexArrayIntegervEXT :: IORef FuntypeGetVertexArrayIntegervEXT
-glrefGetVertexArrayIntegervEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetVertexArrayIntegervEXT #-}
-glGetVertexArrayIntegervEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetVertexArrayIntegervEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetVertexArrayIntegervEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetVertexArrayIntegervEXT #-}
-type FuntypeGetVertexArrayPointervEXT =
-    GLuint ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetVertexArrayPointervEXT :: FunPtr FuntypeGetVertexArrayPointervEXT -> FuntypeGetVertexArrayPointervEXT
-glrefGetVertexArrayPointervEXT :: IORef FuntypeGetVertexArrayPointervEXT
-glrefGetVertexArrayPointervEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetVertexArrayPointervEXT #-}
-glGetVertexArrayPointervEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    m ( () )
-glGetVertexArrayPointervEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetVertexArrayPointervEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetVertexArrayPointervEXT #-}
-type FuntypeGetVertexArrayIntegeri_vEXT =
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetVertexArrayIntegeri_vEXT :: FunPtr FuntypeGetVertexArrayIntegeri_vEXT -> FuntypeGetVertexArrayIntegeri_vEXT
-glrefGetVertexArrayIntegeri_vEXT :: IORef FuntypeGetVertexArrayIntegeri_vEXT
-glrefGetVertexArrayIntegeri_vEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetVertexArrayIntegeri_vEXT #-}
-glGetVertexArrayIntegeri_vEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetVertexArrayIntegeri_vEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetVertexArrayIntegeri_vEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetVertexArrayIntegeri_vEXT #-}
-type FuntypeGetVertexArrayPointeri_vEXT =
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetVertexArrayPointeri_vEXT :: FunPtr FuntypeGetVertexArrayPointeri_vEXT -> FuntypeGetVertexArrayPointeri_vEXT
-glrefGetVertexArrayPointeri_vEXT :: IORef FuntypeGetVertexArrayPointeri_vEXT
-glrefGetVertexArrayPointeri_vEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetVertexArrayPointeri_vEXT #-}
-glGetVertexArrayPointeri_vEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLenum ->
-    Ptr (Ptr ()) ->
-    m ( () )
-glGetVertexArrayPointeri_vEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetVertexArrayPointeri_vEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetVertexArrayPointeri_vEXT #-}
-type FuntypeMapNamedBufferRangeEXT =
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    GLbitfield ->
-    IO ( Ptr () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynMapNamedBufferRangeEXT :: FunPtr FuntypeMapNamedBufferRangeEXT -> FuntypeMapNamedBufferRangeEXT
-glrefMapNamedBufferRangeEXT :: IORef FuntypeMapNamedBufferRangeEXT
-glrefMapNamedBufferRangeEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefMapNamedBufferRangeEXT #-}
-glMapNamedBufferRangeEXT :: MonadIO m =>
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    GLbitfield ->
-    m ( Ptr () )
-glMapNamedBufferRangeEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefMapNamedBufferRangeEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glMapNamedBufferRangeEXT #-}
-type FuntypeFlushMappedNamedBufferRangeEXT =
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynFlushMappedNamedBufferRangeEXT :: FunPtr FuntypeFlushMappedNamedBufferRangeEXT -> FuntypeFlushMappedNamedBufferRangeEXT
-glrefFlushMappedNamedBufferRangeEXT :: IORef FuntypeFlushMappedNamedBufferRangeEXT
-glrefFlushMappedNamedBufferRangeEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefFlushMappedNamedBufferRangeEXT #-}
-glFlushMappedNamedBufferRangeEXT :: MonadIO m =>
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    m ( () )
-glFlushMappedNamedBufferRangeEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefFlushMappedNamedBufferRangeEXT)
-      a0
-      a1
-      a2
-{-# INLINE glFlushMappedNamedBufferRangeEXT #-}
-type FuntypeNamedBufferStorageEXT =
-    GLuint ->
-    GLsizeiptr ->
-    Ptr () ->
-    GLbitfield ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedBufferStorageEXT :: FunPtr FuntypeNamedBufferStorageEXT -> FuntypeNamedBufferStorageEXT
-glrefNamedBufferStorageEXT :: IORef FuntypeNamedBufferStorageEXT
-glrefNamedBufferStorageEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedBufferStorageEXT #-}
-glNamedBufferStorageEXT :: MonadIO m =>
-    GLuint ->
-    GLsizeiptr ->
-    Ptr () ->
-    GLbitfield ->
-    m ( () )
-glNamedBufferStorageEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedBufferStorageEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glNamedBufferStorageEXT #-}
-type FuntypeClearNamedBufferDataEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynClearNamedBufferDataEXT :: FunPtr FuntypeClearNamedBufferDataEXT -> FuntypeClearNamedBufferDataEXT
-glrefClearNamedBufferDataEXT :: IORef FuntypeClearNamedBufferDataEXT
-glrefClearNamedBufferDataEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefClearNamedBufferDataEXT #-}
-glClearNamedBufferDataEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glClearNamedBufferDataEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefClearNamedBufferDataEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glClearNamedBufferDataEXT #-}
-type FuntypeClearNamedBufferSubDataEXT =
-    GLuint ->
-    GLenum ->
-    GLsizeiptr ->
-    GLsizeiptr ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynClearNamedBufferSubDataEXT :: FunPtr FuntypeClearNamedBufferSubDataEXT -> FuntypeClearNamedBufferSubDataEXT
-glrefClearNamedBufferSubDataEXT :: IORef FuntypeClearNamedBufferSubDataEXT
-glrefClearNamedBufferSubDataEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefClearNamedBufferSubDataEXT #-}
-glClearNamedBufferSubDataEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLsizeiptr ->
-    GLsizeiptr ->
-    GLenum ->
-    GLenum ->
-    Ptr () ->
-    m ( () )
-glClearNamedBufferSubDataEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefClearNamedBufferSubDataEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glClearNamedBufferSubDataEXT #-}
-type FuntypeNamedFramebufferParameteriEXT =
-    GLuint ->
-    GLenum ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynNamedFramebufferParameteriEXT :: FunPtr FuntypeNamedFramebufferParameteriEXT -> FuntypeNamedFramebufferParameteriEXT
-glrefNamedFramebufferParameteriEXT :: IORef FuntypeNamedFramebufferParameteriEXT
-glrefNamedFramebufferParameteriEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefNamedFramebufferParameteriEXT #-}
-glNamedFramebufferParameteriEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLint ->
-    m ( () )
-glNamedFramebufferParameteriEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefNamedFramebufferParameteriEXT)
-      a0
-      a1
-      a2
-{-# INLINE glNamedFramebufferParameteriEXT #-}
-type FuntypeGetNamedFramebufferParameterivEXT =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetNamedFramebufferParameterivEXT :: FunPtr FuntypeGetNamedFramebufferParameterivEXT -> FuntypeGetNamedFramebufferParameterivEXT
-glrefGetNamedFramebufferParameterivEXT :: IORef FuntypeGetNamedFramebufferParameterivEXT
-glrefGetNamedFramebufferParameterivEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetNamedFramebufferParameterivEXT #-}
-glGetNamedFramebufferParameterivEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetNamedFramebufferParameterivEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetNamedFramebufferParameterivEXT)
-      a0
-      a1
-      a2
-{-# INLINE glGetNamedFramebufferParameterivEXT #-}
-type FuntypeProgramUniform1dEXT =
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1dEXT :: FunPtr FuntypeProgramUniform1dEXT -> FuntypeProgramUniform1dEXT
-glrefProgramUniform1dEXT :: IORef FuntypeProgramUniform1dEXT
-glrefProgramUniform1dEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1dEXT #-}
-glProgramUniform1dEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    m ( () )
-glProgramUniform1dEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1dEXT)
-      a0
-      a1
-      a2
-{-# INLINE glProgramUniform1dEXT #-}
-type FuntypeProgramUniform2dEXT =
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2dEXT :: FunPtr FuntypeProgramUniform2dEXT -> FuntypeProgramUniform2dEXT
-glrefProgramUniform2dEXT :: IORef FuntypeProgramUniform2dEXT
-glrefProgramUniform2dEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2dEXT #-}
-glProgramUniform2dEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glProgramUniform2dEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2dEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2dEXT #-}
-type FuntypeProgramUniform3dEXT =
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3dEXT :: FunPtr FuntypeProgramUniform3dEXT -> FuntypeProgramUniform3dEXT
-glrefProgramUniform3dEXT :: IORef FuntypeProgramUniform3dEXT
-glrefProgramUniform3dEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3dEXT #-}
-glProgramUniform3dEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glProgramUniform3dEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3dEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniform3dEXT #-}
-type FuntypeProgramUniform4dEXT =
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4dEXT :: FunPtr FuntypeProgramUniform4dEXT -> FuntypeProgramUniform4dEXT
-glrefProgramUniform4dEXT :: IORef FuntypeProgramUniform4dEXT
-glrefProgramUniform4dEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4dEXT #-}
-glProgramUniform4dEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glProgramUniform4dEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4dEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glProgramUniform4dEXT #-}
-type FuntypeProgramUniform1dvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1dvEXT :: FunPtr FuntypeProgramUniform1dvEXT -> FuntypeProgramUniform1dvEXT
-glrefProgramUniform1dvEXT :: IORef FuntypeProgramUniform1dvEXT
-glrefProgramUniform1dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1dvEXT #-}
-glProgramUniform1dvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniform1dvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1dvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform1dvEXT #-}
-type FuntypeProgramUniform2dvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2dvEXT :: FunPtr FuntypeProgramUniform2dvEXT -> FuntypeProgramUniform2dvEXT
-glrefProgramUniform2dvEXT :: IORef FuntypeProgramUniform2dvEXT
-glrefProgramUniform2dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2dvEXT #-}
-glProgramUniform2dvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniform2dvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2dvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2dvEXT #-}
-type FuntypeProgramUniform3dvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3dvEXT :: FunPtr FuntypeProgramUniform3dvEXT -> FuntypeProgramUniform3dvEXT
-glrefProgramUniform3dvEXT :: IORef FuntypeProgramUniform3dvEXT
-glrefProgramUniform3dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3dvEXT #-}
-glProgramUniform3dvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniform3dvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3dvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform3dvEXT #-}
-type FuntypeProgramUniform4dvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4dvEXT :: FunPtr FuntypeProgramUniform4dvEXT -> FuntypeProgramUniform4dvEXT
-glrefProgramUniform4dvEXT :: IORef FuntypeProgramUniform4dvEXT
-glrefProgramUniform4dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4dvEXT #-}
-glProgramUniform4dvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniform4dvEXT
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4dvEXT)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform4dvEXT #-}
-type FuntypeProgramUniformMatrix2dvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix2dvEXT :: FunPtr FuntypeProgramUniformMatrix2dvEXT -> FuntypeProgramUniformMatrix2dvEXT
-glrefProgramUniformMatrix2dvEXT :: IORef FuntypeProgramUniformMatrix2dvEXT
-glrefProgramUniformMatrix2dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix2dvEXT #-}
-glProgramUniformMatrix2dvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix2dvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix2dvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix2dvEXT #-}
-type FuntypeProgramUniformMatrix3dvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix3dvEXT :: FunPtr FuntypeProgramUniformMatrix3dvEXT -> FuntypeProgramUniformMatrix3dvEXT
-glrefProgramUniformMatrix3dvEXT :: IORef FuntypeProgramUniformMatrix3dvEXT
-glrefProgramUniformMatrix3dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix3dvEXT #-}
-glProgramUniformMatrix3dvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix3dvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix3dvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix3dvEXT #-}
-type FuntypeProgramUniformMatrix4dvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix4dvEXT :: FunPtr FuntypeProgramUniformMatrix4dvEXT -> FuntypeProgramUniformMatrix4dvEXT
-glrefProgramUniformMatrix4dvEXT :: IORef FuntypeProgramUniformMatrix4dvEXT
-glrefProgramUniformMatrix4dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix4dvEXT #-}
-glProgramUniformMatrix4dvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix4dvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix4dvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix4dvEXT #-}
-type FuntypeProgramUniformMatrix2x3dvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix2x3dvEXT :: FunPtr FuntypeProgramUniformMatrix2x3dvEXT -> FuntypeProgramUniformMatrix2x3dvEXT
-glrefProgramUniformMatrix2x3dvEXT :: IORef FuntypeProgramUniformMatrix2x3dvEXT
-glrefProgramUniformMatrix2x3dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix2x3dvEXT #-}
-glProgramUniformMatrix2x3dvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix2x3dvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix2x3dvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix2x3dvEXT #-}
-type FuntypeProgramUniformMatrix2x4dvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix2x4dvEXT :: FunPtr FuntypeProgramUniformMatrix2x4dvEXT -> FuntypeProgramUniformMatrix2x4dvEXT
-glrefProgramUniformMatrix2x4dvEXT :: IORef FuntypeProgramUniformMatrix2x4dvEXT
-glrefProgramUniformMatrix2x4dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix2x4dvEXT #-}
-glProgramUniformMatrix2x4dvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix2x4dvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix2x4dvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix2x4dvEXT #-}
-type FuntypeProgramUniformMatrix3x2dvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix3x2dvEXT :: FunPtr FuntypeProgramUniformMatrix3x2dvEXT -> FuntypeProgramUniformMatrix3x2dvEXT
-glrefProgramUniformMatrix3x2dvEXT :: IORef FuntypeProgramUniformMatrix3x2dvEXT
-glrefProgramUniformMatrix3x2dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix3x2dvEXT #-}
-glProgramUniformMatrix3x2dvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix3x2dvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix3x2dvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix3x2dvEXT #-}
-type FuntypeProgramUniformMatrix3x4dvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix3x4dvEXT :: FunPtr FuntypeProgramUniformMatrix3x4dvEXT -> FuntypeProgramUniformMatrix3x4dvEXT
-glrefProgramUniformMatrix3x4dvEXT :: IORef FuntypeProgramUniformMatrix3x4dvEXT
-glrefProgramUniformMatrix3x4dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix3x4dvEXT #-}
-glProgramUniformMatrix3x4dvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix3x4dvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix3x4dvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix3x4dvEXT #-}
-type FuntypeProgramUniformMatrix4x2dvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix4x2dvEXT :: FunPtr FuntypeProgramUniformMatrix4x2dvEXT -> FuntypeProgramUniformMatrix4x2dvEXT
-glrefProgramUniformMatrix4x2dvEXT :: IORef FuntypeProgramUniformMatrix4x2dvEXT
-glrefProgramUniformMatrix4x2dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix4x2dvEXT #-}
-glProgramUniformMatrix4x2dvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix4x2dvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix4x2dvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix4x2dvEXT #-}
-type FuntypeProgramUniformMatrix4x3dvEXT =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix4x3dvEXT :: FunPtr FuntypeProgramUniformMatrix4x3dvEXT -> FuntypeProgramUniformMatrix4x3dvEXT
-glrefProgramUniformMatrix4x3dvEXT :: IORef FuntypeProgramUniformMatrix4x3dvEXT
-glrefProgramUniformMatrix4x3dvEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix4x3dvEXT #-}
-glProgramUniformMatrix4x3dvEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix4x3dvEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix4x3dvEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix4x3dvEXT #-}
-type FuntypeTextureBufferRangeEXT =
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureBufferRangeEXT :: FunPtr FuntypeTextureBufferRangeEXT -> FuntypeTextureBufferRangeEXT
-glrefTextureBufferRangeEXT :: IORef FuntypeTextureBufferRangeEXT
-glrefTextureBufferRangeEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureBufferRangeEXT #-}
-glTextureBufferRangeEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLenum ->
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    m ( () )
-glTextureBufferRangeEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureBufferRangeEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glTextureBufferRangeEXT #-}
-type FuntypeTextureStorage1DEXT =
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureStorage1DEXT :: FunPtr FuntypeTextureStorage1DEXT -> FuntypeTextureStorage1DEXT
-glrefTextureStorage1DEXT :: IORef FuntypeTextureStorage1DEXT
-glrefTextureStorage1DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureStorage1DEXT #-}
-glTextureStorage1DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    m ( () )
-glTextureStorage1DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureStorage1DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glTextureStorage1DEXT #-}
-type FuntypeTextureStorage2DEXT =
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureStorage2DEXT :: FunPtr FuntypeTextureStorage2DEXT -> FuntypeTextureStorage2DEXT
-glrefTextureStorage2DEXT :: IORef FuntypeTextureStorage2DEXT
-glrefTextureStorage2DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureStorage2DEXT #-}
-glTextureStorage2DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glTextureStorage2DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureStorage2DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glTextureStorage2DEXT #-}
-type FuntypeTextureStorage3DEXT =
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureStorage3DEXT :: FunPtr FuntypeTextureStorage3DEXT -> FuntypeTextureStorage3DEXT
-glrefTextureStorage3DEXT :: IORef FuntypeTextureStorage3DEXT
-glrefTextureStorage3DEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureStorage3DEXT #-}
-glTextureStorage3DEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glTextureStorage3DEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureStorage3DEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glTextureStorage3DEXT #-}
-type FuntypeTextureStorage2DMultisampleEXT =
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLboolean ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureStorage2DMultisampleEXT :: FunPtr FuntypeTextureStorage2DMultisampleEXT -> FuntypeTextureStorage2DMultisampleEXT
-glrefTextureStorage2DMultisampleEXT :: IORef FuntypeTextureStorage2DMultisampleEXT
-glrefTextureStorage2DMultisampleEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureStorage2DMultisampleEXT #-}
-glTextureStorage2DMultisampleEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLboolean ->
-    m ( () )
-glTextureStorage2DMultisampleEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureStorage2DMultisampleEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glTextureStorage2DMultisampleEXT #-}
-type FuntypeTextureStorage3DMultisampleEXT =
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLboolean ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTextureStorage3DMultisampleEXT :: FunPtr FuntypeTextureStorage3DMultisampleEXT -> FuntypeTextureStorage3DMultisampleEXT
-glrefTextureStorage3DMultisampleEXT :: IORef FuntypeTextureStorage3DMultisampleEXT
-glrefTextureStorage3DMultisampleEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTextureStorage3DMultisampleEXT #-}
-glTextureStorage3DMultisampleEXT :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    GLsizei ->
-    GLenum ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLboolean ->
-    m ( () )
-glTextureStorage3DMultisampleEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefTextureStorage3DMultisampleEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glTextureStorage3DMultisampleEXT #-}
-type FuntypeVertexArrayBindVertexBufferEXT =
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLintptr ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayBindVertexBufferEXT :: FunPtr FuntypeVertexArrayBindVertexBufferEXT -> FuntypeVertexArrayBindVertexBufferEXT
-glrefVertexArrayBindVertexBufferEXT :: IORef FuntypeVertexArrayBindVertexBufferEXT
-glrefVertexArrayBindVertexBufferEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayBindVertexBufferEXT #-}
-glVertexArrayBindVertexBufferEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLintptr ->
-    GLsizei ->
-    m ( () )
-glVertexArrayBindVertexBufferEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayBindVertexBufferEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glVertexArrayBindVertexBufferEXT #-}
-type FuntypeVertexArrayVertexAttribFormatEXT =
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLboolean ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayVertexAttribFormatEXT :: FunPtr FuntypeVertexArrayVertexAttribFormatEXT -> FuntypeVertexArrayVertexAttribFormatEXT
-glrefVertexArrayVertexAttribFormatEXT :: IORef FuntypeVertexArrayVertexAttribFormatEXT
-glrefVertexArrayVertexAttribFormatEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayVertexAttribFormatEXT #-}
-glVertexArrayVertexAttribFormatEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLboolean ->
-    GLuint ->
-    m ( () )
-glVertexArrayVertexAttribFormatEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayVertexAttribFormatEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glVertexArrayVertexAttribFormatEXT #-}
-type FuntypeVertexArrayVertexAttribIFormatEXT =
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayVertexAttribIFormatEXT :: FunPtr FuntypeVertexArrayVertexAttribIFormatEXT -> FuntypeVertexArrayVertexAttribIFormatEXT
-glrefVertexArrayVertexAttribIFormatEXT :: IORef FuntypeVertexArrayVertexAttribIFormatEXT
-glrefVertexArrayVertexAttribIFormatEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayVertexAttribIFormatEXT #-}
-glVertexArrayVertexAttribIFormatEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLuint ->
-    m ( () )
-glVertexArrayVertexAttribIFormatEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayVertexAttribIFormatEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glVertexArrayVertexAttribIFormatEXT #-}
-type FuntypeVertexArrayVertexAttribLFormatEXT =
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayVertexAttribLFormatEXT :: FunPtr FuntypeVertexArrayVertexAttribLFormatEXT -> FuntypeVertexArrayVertexAttribLFormatEXT
-glrefVertexArrayVertexAttribLFormatEXT :: IORef FuntypeVertexArrayVertexAttribLFormatEXT
-glrefVertexArrayVertexAttribLFormatEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayVertexAttribLFormatEXT #-}
-glVertexArrayVertexAttribLFormatEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLuint ->
-    m ( () )
-glVertexArrayVertexAttribLFormatEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayVertexAttribLFormatEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glVertexArrayVertexAttribLFormatEXT #-}
-type FuntypeVertexArrayVertexAttribBindingEXT =
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayVertexAttribBindingEXT :: FunPtr FuntypeVertexArrayVertexAttribBindingEXT -> FuntypeVertexArrayVertexAttribBindingEXT
-glrefVertexArrayVertexAttribBindingEXT :: IORef FuntypeVertexArrayVertexAttribBindingEXT
-glrefVertexArrayVertexAttribBindingEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayVertexAttribBindingEXT #-}
-glVertexArrayVertexAttribBindingEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glVertexArrayVertexAttribBindingEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayVertexAttribBindingEXT)
-      a0
-      a1
-      a2
-{-# INLINE glVertexArrayVertexAttribBindingEXT #-}
-type FuntypeVertexArrayVertexBindingDivisorEXT =
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayVertexBindingDivisorEXT :: FunPtr FuntypeVertexArrayVertexBindingDivisorEXT -> FuntypeVertexArrayVertexBindingDivisorEXT
-glrefVertexArrayVertexBindingDivisorEXT :: IORef FuntypeVertexArrayVertexBindingDivisorEXT
-glrefVertexArrayVertexBindingDivisorEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayVertexBindingDivisorEXT #-}
-glVertexArrayVertexBindingDivisorEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glVertexArrayVertexBindingDivisorEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayVertexBindingDivisorEXT)
-      a0
-      a1
-      a2
-{-# INLINE glVertexArrayVertexBindingDivisorEXT #-}
-type FuntypeVertexArrayVertexAttribLOffsetEXT =
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayVertexAttribLOffsetEXT :: FunPtr FuntypeVertexArrayVertexAttribLOffsetEXT -> FuntypeVertexArrayVertexAttribLOffsetEXT
-glrefVertexArrayVertexAttribLOffsetEXT :: IORef FuntypeVertexArrayVertexAttribLOffsetEXT
-glrefVertexArrayVertexAttribLOffsetEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayVertexAttribLOffsetEXT #-}
-glVertexArrayVertexAttribLOffsetEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLint ->
-    GLenum ->
-    GLsizei ->
-    GLintptr ->
-    m ( () )
-glVertexArrayVertexAttribLOffsetEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayVertexAttribLOffsetEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glVertexArrayVertexAttribLOffsetEXT #-}
-type FuntypeTexturePageCommitmentEXT =
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLboolean ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynTexturePageCommitmentEXT :: FunPtr FuntypeTexturePageCommitmentEXT -> FuntypeTexturePageCommitmentEXT
-glrefTexturePageCommitmentEXT :: IORef FuntypeTexturePageCommitmentEXT
-glrefTexturePageCommitmentEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefTexturePageCommitmentEXT #-}
-glTexturePageCommitmentEXT :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    GLboolean ->
-    m ( () )
-glTexturePageCommitmentEXT
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    a8
-    = liftIO $ (unsafePerformIO $ readIORef glrefTexturePageCommitmentEXT)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-      a8
-{-# INLINE glTexturePageCommitmentEXT #-}
-type FuntypeVertexArrayVertexAttribDivisorEXT =
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynVertexArrayVertexAttribDivisorEXT :: FunPtr FuntypeVertexArrayVertexAttribDivisorEXT -> FuntypeVertexArrayVertexAttribDivisorEXT
-glrefVertexArrayVertexAttribDivisorEXT :: IORef FuntypeVertexArrayVertexAttribDivisorEXT
-glrefVertexArrayVertexAttribDivisorEXT = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefVertexArrayVertexAttribDivisorEXT #-}
-glVertexArrayVertexAttribDivisorEXT :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glVertexArrayVertexAttribDivisorEXT
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefVertexArrayVertexAttribDivisorEXT)
-      a0
-      a1
-      a2
-{-# INLINE glVertexArrayVertexAttribDivisorEXT #-}
-
--- GL_ARB_buffer_storage
-
-type FuntypeBufferStorage =
-    GLenum ->
-    GLsizeiptr ->
-    Ptr () ->
-    GLbitfield ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBufferStorage :: FunPtr FuntypeBufferStorage -> FuntypeBufferStorage
-glrefBufferStorage :: IORef FuntypeBufferStorage
-glrefBufferStorage = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBufferStorage #-}
-glBufferStorage :: MonadIO m =>
-    GLenum ->
-    GLsizeiptr ->
-    Ptr () ->
-    GLbitfield ->
-    m ( () )
-glBufferStorage
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefBufferStorage)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glBufferStorage #-}
-
--- GL_ARB_separate_shader_objects
-
-type FuntypeUseProgramStages =
-    GLuint ->
-    GLbitfield ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynUseProgramStages :: FunPtr FuntypeUseProgramStages -> FuntypeUseProgramStages
-glrefUseProgramStages :: IORef FuntypeUseProgramStages
-glrefUseProgramStages = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefUseProgramStages #-}
-glUseProgramStages :: MonadIO m =>
-    GLuint ->
-    GLbitfield ->
-    GLuint ->
-    m ( () )
-glUseProgramStages
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefUseProgramStages)
-      a0
-      a1
-      a2
-{-# INLINE glUseProgramStages #-}
-type FuntypeActiveShaderProgram =
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynActiveShaderProgram :: FunPtr FuntypeActiveShaderProgram -> FuntypeActiveShaderProgram
-glrefActiveShaderProgram :: IORef FuntypeActiveShaderProgram
-glrefActiveShaderProgram = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefActiveShaderProgram #-}
-glActiveShaderProgram :: MonadIO m =>
-    GLuint ->
-    GLuint ->
-    m ( () )
-glActiveShaderProgram
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefActiveShaderProgram)
-      a0
-      a1
-{-# INLINE glActiveShaderProgram #-}
-type FuntypeCreateShaderProgramv =
-    GLenum ->
-    GLsizei ->
-    Ptr (Ptr (GLchar)) ->
-    IO ( GLuint )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynCreateShaderProgramv :: FunPtr FuntypeCreateShaderProgramv -> FuntypeCreateShaderProgramv
-glrefCreateShaderProgramv :: IORef FuntypeCreateShaderProgramv
-glrefCreateShaderProgramv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefCreateShaderProgramv #-}
-glCreateShaderProgramv :: MonadIO m =>
-    GLenum ->
-    GLsizei ->
-    Ptr (Ptr (GLchar)) ->
-    m ( GLuint )
-glCreateShaderProgramv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefCreateShaderProgramv)
-      a0
-      a1
-      a2
-{-# INLINE glCreateShaderProgramv #-}
-type FuntypeBindProgramPipeline =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynBindProgramPipeline :: FunPtr FuntypeBindProgramPipeline -> FuntypeBindProgramPipeline
-glrefBindProgramPipeline :: IORef FuntypeBindProgramPipeline
-glrefBindProgramPipeline = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefBindProgramPipeline #-}
-glBindProgramPipeline :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glBindProgramPipeline
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefBindProgramPipeline)
-      a0
-{-# INLINE glBindProgramPipeline #-}
-type FuntypeDeleteProgramPipelines =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynDeleteProgramPipelines :: FunPtr FuntypeDeleteProgramPipelines -> FuntypeDeleteProgramPipelines
-glrefDeleteProgramPipelines :: IORef FuntypeDeleteProgramPipelines
-glrefDeleteProgramPipelines = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefDeleteProgramPipelines #-}
-glDeleteProgramPipelines :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glDeleteProgramPipelines
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefDeleteProgramPipelines)
-      a0
-      a1
-{-# INLINE glDeleteProgramPipelines #-}
-type FuntypeGenProgramPipelines =
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGenProgramPipelines :: FunPtr FuntypeGenProgramPipelines -> FuntypeGenProgramPipelines
-glrefGenProgramPipelines :: IORef FuntypeGenProgramPipelines
-glrefGenProgramPipelines = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGenProgramPipelines #-}
-glGenProgramPipelines :: MonadIO m =>
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glGenProgramPipelines
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefGenProgramPipelines)
-      a0
-      a1
-{-# INLINE glGenProgramPipelines #-}
-type FuntypeIsProgramPipeline =
-    GLuint ->
-    IO ( GLboolean )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynIsProgramPipeline :: FunPtr FuntypeIsProgramPipeline -> FuntypeIsProgramPipeline
-glrefIsProgramPipeline :: IORef FuntypeIsProgramPipeline
-glrefIsProgramPipeline = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefIsProgramPipeline #-}
-glIsProgramPipeline :: MonadIO m =>
-    GLuint ->
-    m ( GLboolean )
-glIsProgramPipeline
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefIsProgramPipeline)
-      a0
-{-# INLINE glIsProgramPipeline #-}
-type FuntypeGetProgramPipelineiv =
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetProgramPipelineiv :: FunPtr FuntypeGetProgramPipelineiv -> FuntypeGetProgramPipelineiv
-glrefGetProgramPipelineiv :: IORef FuntypeGetProgramPipelineiv
-glrefGetProgramPipelineiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetProgramPipelineiv #-}
-glGetProgramPipelineiv :: MonadIO m =>
-    GLuint ->
-    GLenum ->
-    Ptr (GLint) ->
-    m ( () )
-glGetProgramPipelineiv
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetProgramPipelineiv)
-      a0
-      a1
-      a2
-{-# INLINE glGetProgramPipelineiv #-}
-type FuntypeProgramUniform1i =
-    GLuint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1i :: FunPtr FuntypeProgramUniform1i -> FuntypeProgramUniform1i
-glrefProgramUniform1i :: IORef FuntypeProgramUniform1i
-glrefProgramUniform1i = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1i #-}
-glProgramUniform1i :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glProgramUniform1i
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1i)
-      a0
-      a1
-      a2
-{-# INLINE glProgramUniform1i #-}
-type FuntypeProgramUniform1iv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1iv :: FunPtr FuntypeProgramUniform1iv -> FuntypeProgramUniform1iv
-glrefProgramUniform1iv :: IORef FuntypeProgramUniform1iv
-glrefProgramUniform1iv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1iv #-}
-glProgramUniform1iv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glProgramUniform1iv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1iv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform1iv #-}
-type FuntypeProgramUniform1f =
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1f :: FunPtr FuntypeProgramUniform1f -> FuntypeProgramUniform1f
-glrefProgramUniform1f :: IORef FuntypeProgramUniform1f
-glrefProgramUniform1f = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1f #-}
-glProgramUniform1f :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    m ( () )
-glProgramUniform1f
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1f)
-      a0
-      a1
-      a2
-{-# INLINE glProgramUniform1f #-}
-type FuntypeProgramUniform1fv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1fv :: FunPtr FuntypeProgramUniform1fv -> FuntypeProgramUniform1fv
-glrefProgramUniform1fv :: IORef FuntypeProgramUniform1fv
-glrefProgramUniform1fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1fv #-}
-glProgramUniform1fv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniform1fv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1fv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform1fv #-}
-type FuntypeProgramUniform1d =
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1d :: FunPtr FuntypeProgramUniform1d -> FuntypeProgramUniform1d
-glrefProgramUniform1d :: IORef FuntypeProgramUniform1d
-glrefProgramUniform1d = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1d #-}
-glProgramUniform1d :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    m ( () )
-glProgramUniform1d
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1d)
-      a0
-      a1
-      a2
-{-# INLINE glProgramUniform1d #-}
-type FuntypeProgramUniform1dv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1dv :: FunPtr FuntypeProgramUniform1dv -> FuntypeProgramUniform1dv
-glrefProgramUniform1dv :: IORef FuntypeProgramUniform1dv
-glrefProgramUniform1dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1dv #-}
-glProgramUniform1dv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniform1dv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1dv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform1dv #-}
-type FuntypeProgramUniform1ui =
-    GLuint ->
-    GLint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1ui :: FunPtr FuntypeProgramUniform1ui -> FuntypeProgramUniform1ui
-glrefProgramUniform1ui :: IORef FuntypeProgramUniform1ui
-glrefProgramUniform1ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1ui #-}
-glProgramUniform1ui :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLuint ->
-    m ( () )
-glProgramUniform1ui
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1ui)
-      a0
-      a1
-      a2
-{-# INLINE glProgramUniform1ui #-}
-type FuntypeProgramUniform1uiv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform1uiv :: FunPtr FuntypeProgramUniform1uiv -> FuntypeProgramUniform1uiv
-glrefProgramUniform1uiv :: IORef FuntypeProgramUniform1uiv
-glrefProgramUniform1uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform1uiv #-}
-glProgramUniform1uiv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glProgramUniform1uiv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform1uiv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform1uiv #-}
-type FuntypeProgramUniform2i =
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2i :: FunPtr FuntypeProgramUniform2i -> FuntypeProgramUniform2i
-glrefProgramUniform2i :: IORef FuntypeProgramUniform2i
-glrefProgramUniform2i = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2i #-}
-glProgramUniform2i :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glProgramUniform2i
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2i)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2i #-}
-type FuntypeProgramUniform2iv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2iv :: FunPtr FuntypeProgramUniform2iv -> FuntypeProgramUniform2iv
-glrefProgramUniform2iv :: IORef FuntypeProgramUniform2iv
-glrefProgramUniform2iv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2iv #-}
-glProgramUniform2iv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glProgramUniform2iv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2iv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2iv #-}
-type FuntypeProgramUniform2f =
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2f :: FunPtr FuntypeProgramUniform2f -> FuntypeProgramUniform2f
-glrefProgramUniform2f :: IORef FuntypeProgramUniform2f
-glrefProgramUniform2f = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2f #-}
-glProgramUniform2f :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glProgramUniform2f
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2f)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2f #-}
-type FuntypeProgramUniform2fv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2fv :: FunPtr FuntypeProgramUniform2fv -> FuntypeProgramUniform2fv
-glrefProgramUniform2fv :: IORef FuntypeProgramUniform2fv
-glrefProgramUniform2fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2fv #-}
-glProgramUniform2fv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniform2fv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2fv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2fv #-}
-type FuntypeProgramUniform2d =
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2d :: FunPtr FuntypeProgramUniform2d -> FuntypeProgramUniform2d
-glrefProgramUniform2d :: IORef FuntypeProgramUniform2d
-glrefProgramUniform2d = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2d #-}
-glProgramUniform2d :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glProgramUniform2d
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2d)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2d #-}
-type FuntypeProgramUniform2dv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2dv :: FunPtr FuntypeProgramUniform2dv -> FuntypeProgramUniform2dv
-glrefProgramUniform2dv :: IORef FuntypeProgramUniform2dv
-glrefProgramUniform2dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2dv #-}
-glProgramUniform2dv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniform2dv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2dv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2dv #-}
-type FuntypeProgramUniform2ui =
-    GLuint ->
-    GLint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2ui :: FunPtr FuntypeProgramUniform2ui -> FuntypeProgramUniform2ui
-glrefProgramUniform2ui :: IORef FuntypeProgramUniform2ui
-glrefProgramUniform2ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2ui #-}
-glProgramUniform2ui :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glProgramUniform2ui
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2ui)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2ui #-}
-type FuntypeProgramUniform2uiv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform2uiv :: FunPtr FuntypeProgramUniform2uiv -> FuntypeProgramUniform2uiv
-glrefProgramUniform2uiv :: IORef FuntypeProgramUniform2uiv
-glrefProgramUniform2uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform2uiv #-}
-glProgramUniform2uiv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glProgramUniform2uiv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform2uiv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform2uiv #-}
-type FuntypeProgramUniform3i =
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3i :: FunPtr FuntypeProgramUniform3i -> FuntypeProgramUniform3i
-glrefProgramUniform3i :: IORef FuntypeProgramUniform3i
-glrefProgramUniform3i = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3i #-}
-glProgramUniform3i :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glProgramUniform3i
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3i)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniform3i #-}
-type FuntypeProgramUniform3iv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3iv :: FunPtr FuntypeProgramUniform3iv -> FuntypeProgramUniform3iv
-glrefProgramUniform3iv :: IORef FuntypeProgramUniform3iv
-glrefProgramUniform3iv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3iv #-}
-glProgramUniform3iv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glProgramUniform3iv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3iv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform3iv #-}
-type FuntypeProgramUniform3f =
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3f :: FunPtr FuntypeProgramUniform3f -> FuntypeProgramUniform3f
-glrefProgramUniform3f :: IORef FuntypeProgramUniform3f
-glrefProgramUniform3f = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3f #-}
-glProgramUniform3f :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glProgramUniform3f
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3f)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniform3f #-}
-type FuntypeProgramUniform3fv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3fv :: FunPtr FuntypeProgramUniform3fv -> FuntypeProgramUniform3fv
-glrefProgramUniform3fv :: IORef FuntypeProgramUniform3fv
-glrefProgramUniform3fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3fv #-}
-glProgramUniform3fv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniform3fv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3fv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform3fv #-}
-type FuntypeProgramUniform3d =
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3d :: FunPtr FuntypeProgramUniform3d -> FuntypeProgramUniform3d
-glrefProgramUniform3d :: IORef FuntypeProgramUniform3d
-glrefProgramUniform3d = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3d #-}
-glProgramUniform3d :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glProgramUniform3d
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3d)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniform3d #-}
-type FuntypeProgramUniform3dv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3dv :: FunPtr FuntypeProgramUniform3dv -> FuntypeProgramUniform3dv
-glrefProgramUniform3dv :: IORef FuntypeProgramUniform3dv
-glrefProgramUniform3dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3dv #-}
-glProgramUniform3dv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniform3dv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3dv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform3dv #-}
-type FuntypeProgramUniform3ui =
-    GLuint ->
-    GLint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3ui :: FunPtr FuntypeProgramUniform3ui -> FuntypeProgramUniform3ui
-glrefProgramUniform3ui :: IORef FuntypeProgramUniform3ui
-glrefProgramUniform3ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3ui #-}
-glProgramUniform3ui :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glProgramUniform3ui
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3ui)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniform3ui #-}
-type FuntypeProgramUniform3uiv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform3uiv :: FunPtr FuntypeProgramUniform3uiv -> FuntypeProgramUniform3uiv
-glrefProgramUniform3uiv :: IORef FuntypeProgramUniform3uiv
-glrefProgramUniform3uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform3uiv #-}
-glProgramUniform3uiv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glProgramUniform3uiv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform3uiv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform3uiv #-}
-type FuntypeProgramUniform4i =
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4i :: FunPtr FuntypeProgramUniform4i -> FuntypeProgramUniform4i
-glrefProgramUniform4i :: IORef FuntypeProgramUniform4i
-glrefProgramUniform4i = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4i #-}
-glProgramUniform4i :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    m ( () )
-glProgramUniform4i
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4i)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glProgramUniform4i #-}
-type FuntypeProgramUniform4iv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4iv :: FunPtr FuntypeProgramUniform4iv -> FuntypeProgramUniform4iv
-glrefProgramUniform4iv :: IORef FuntypeProgramUniform4iv
-glrefProgramUniform4iv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4iv #-}
-glProgramUniform4iv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLint) ->
-    m ( () )
-glProgramUniform4iv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4iv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform4iv #-}
-type FuntypeProgramUniform4f =
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4f :: FunPtr FuntypeProgramUniform4f -> FuntypeProgramUniform4f
-glrefProgramUniform4f :: IORef FuntypeProgramUniform4f
-glrefProgramUniform4f = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4f #-}
-glProgramUniform4f :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    GLfloat ->
-    m ( () )
-glProgramUniform4f
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4f)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glProgramUniform4f #-}
-type FuntypeProgramUniform4fv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4fv :: FunPtr FuntypeProgramUniform4fv -> FuntypeProgramUniform4fv
-glrefProgramUniform4fv :: IORef FuntypeProgramUniform4fv
-glrefProgramUniform4fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4fv #-}
-glProgramUniform4fv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniform4fv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4fv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform4fv #-}
-type FuntypeProgramUniform4d =
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4d :: FunPtr FuntypeProgramUniform4d -> FuntypeProgramUniform4d
-glrefProgramUniform4d :: IORef FuntypeProgramUniform4d
-glrefProgramUniform4d = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4d #-}
-glProgramUniform4d :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    GLdouble ->
-    m ( () )
-glProgramUniform4d
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4d)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glProgramUniform4d #-}
-type FuntypeProgramUniform4dv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4dv :: FunPtr FuntypeProgramUniform4dv -> FuntypeProgramUniform4dv
-glrefProgramUniform4dv :: IORef FuntypeProgramUniform4dv
-glrefProgramUniform4dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4dv #-}
-glProgramUniform4dv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniform4dv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4dv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform4dv #-}
-type FuntypeProgramUniform4ui =
-    GLuint ->
-    GLint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4ui :: FunPtr FuntypeProgramUniform4ui -> FuntypeProgramUniform4ui
-glrefProgramUniform4ui :: IORef FuntypeProgramUniform4ui
-glrefProgramUniform4ui = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4ui #-}
-glProgramUniform4ui :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    GLuint ->
-    m ( () )
-glProgramUniform4ui
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4ui)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-{-# INLINE glProgramUniform4ui #-}
-type FuntypeProgramUniform4uiv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniform4uiv :: FunPtr FuntypeProgramUniform4uiv -> FuntypeProgramUniform4uiv
-glrefProgramUniform4uiv :: IORef FuntypeProgramUniform4uiv
-glrefProgramUniform4uiv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniform4uiv #-}
-glProgramUniform4uiv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    Ptr (GLuint) ->
-    m ( () )
-glProgramUniform4uiv
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniform4uiv)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glProgramUniform4uiv #-}
-type FuntypeProgramUniformMatrix2fv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix2fv :: FunPtr FuntypeProgramUniformMatrix2fv -> FuntypeProgramUniformMatrix2fv
-glrefProgramUniformMatrix2fv :: IORef FuntypeProgramUniformMatrix2fv
-glrefProgramUniformMatrix2fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix2fv #-}
-glProgramUniformMatrix2fv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix2fv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix2fv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix2fv #-}
-type FuntypeProgramUniformMatrix3fv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix3fv :: FunPtr FuntypeProgramUniformMatrix3fv -> FuntypeProgramUniformMatrix3fv
-glrefProgramUniformMatrix3fv :: IORef FuntypeProgramUniformMatrix3fv
-glrefProgramUniformMatrix3fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix3fv #-}
-glProgramUniformMatrix3fv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix3fv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix3fv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix3fv #-}
-type FuntypeProgramUniformMatrix4fv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix4fv :: FunPtr FuntypeProgramUniformMatrix4fv -> FuntypeProgramUniformMatrix4fv
-glrefProgramUniformMatrix4fv :: IORef FuntypeProgramUniformMatrix4fv
-glrefProgramUniformMatrix4fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix4fv #-}
-glProgramUniformMatrix4fv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix4fv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix4fv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix4fv #-}
-type FuntypeProgramUniformMatrix2dv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix2dv :: FunPtr FuntypeProgramUniformMatrix2dv -> FuntypeProgramUniformMatrix2dv
-glrefProgramUniformMatrix2dv :: IORef FuntypeProgramUniformMatrix2dv
-glrefProgramUniformMatrix2dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix2dv #-}
-glProgramUniformMatrix2dv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix2dv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix2dv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix2dv #-}
-type FuntypeProgramUniformMatrix3dv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix3dv :: FunPtr FuntypeProgramUniformMatrix3dv -> FuntypeProgramUniformMatrix3dv
-glrefProgramUniformMatrix3dv :: IORef FuntypeProgramUniformMatrix3dv
-glrefProgramUniformMatrix3dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix3dv #-}
-glProgramUniformMatrix3dv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix3dv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix3dv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix3dv #-}
-type FuntypeProgramUniformMatrix4dv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix4dv :: FunPtr FuntypeProgramUniformMatrix4dv -> FuntypeProgramUniformMatrix4dv
-glrefProgramUniformMatrix4dv :: IORef FuntypeProgramUniformMatrix4dv
-glrefProgramUniformMatrix4dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix4dv #-}
-glProgramUniformMatrix4dv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix4dv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix4dv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix4dv #-}
-type FuntypeProgramUniformMatrix2x3fv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix2x3fv :: FunPtr FuntypeProgramUniformMatrix2x3fv -> FuntypeProgramUniformMatrix2x3fv
-glrefProgramUniformMatrix2x3fv :: IORef FuntypeProgramUniformMatrix2x3fv
-glrefProgramUniformMatrix2x3fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix2x3fv #-}
-glProgramUniformMatrix2x3fv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix2x3fv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix2x3fv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix2x3fv #-}
-type FuntypeProgramUniformMatrix3x2fv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix3x2fv :: FunPtr FuntypeProgramUniformMatrix3x2fv -> FuntypeProgramUniformMatrix3x2fv
-glrefProgramUniformMatrix3x2fv :: IORef FuntypeProgramUniformMatrix3x2fv
-glrefProgramUniformMatrix3x2fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix3x2fv #-}
-glProgramUniformMatrix3x2fv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix3x2fv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix3x2fv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix3x2fv #-}
-type FuntypeProgramUniformMatrix2x4fv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix2x4fv :: FunPtr FuntypeProgramUniformMatrix2x4fv -> FuntypeProgramUniformMatrix2x4fv
-glrefProgramUniformMatrix2x4fv :: IORef FuntypeProgramUniformMatrix2x4fv
-glrefProgramUniformMatrix2x4fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix2x4fv #-}
-glProgramUniformMatrix2x4fv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix2x4fv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix2x4fv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix2x4fv #-}
-type FuntypeProgramUniformMatrix4x2fv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix4x2fv :: FunPtr FuntypeProgramUniformMatrix4x2fv -> FuntypeProgramUniformMatrix4x2fv
-glrefProgramUniformMatrix4x2fv :: IORef FuntypeProgramUniformMatrix4x2fv
-glrefProgramUniformMatrix4x2fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix4x2fv #-}
-glProgramUniformMatrix4x2fv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix4x2fv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix4x2fv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix4x2fv #-}
-type FuntypeProgramUniformMatrix3x4fv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix3x4fv :: FunPtr FuntypeProgramUniformMatrix3x4fv -> FuntypeProgramUniformMatrix3x4fv
-glrefProgramUniformMatrix3x4fv :: IORef FuntypeProgramUniformMatrix3x4fv
-glrefProgramUniformMatrix3x4fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix3x4fv #-}
-glProgramUniformMatrix3x4fv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix3x4fv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix3x4fv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix3x4fv #-}
-type FuntypeProgramUniformMatrix4x3fv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix4x3fv :: FunPtr FuntypeProgramUniformMatrix4x3fv -> FuntypeProgramUniformMatrix4x3fv
-glrefProgramUniformMatrix4x3fv :: IORef FuntypeProgramUniformMatrix4x3fv
-glrefProgramUniformMatrix4x3fv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix4x3fv #-}
-glProgramUniformMatrix4x3fv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLfloat) ->
-    m ( () )
-glProgramUniformMatrix4x3fv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix4x3fv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix4x3fv #-}
-type FuntypeProgramUniformMatrix2x3dv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix2x3dv :: FunPtr FuntypeProgramUniformMatrix2x3dv -> FuntypeProgramUniformMatrix2x3dv
-glrefProgramUniformMatrix2x3dv :: IORef FuntypeProgramUniformMatrix2x3dv
-glrefProgramUniformMatrix2x3dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix2x3dv #-}
-glProgramUniformMatrix2x3dv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix2x3dv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix2x3dv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix2x3dv #-}
-type FuntypeProgramUniformMatrix3x2dv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix3x2dv :: FunPtr FuntypeProgramUniformMatrix3x2dv -> FuntypeProgramUniformMatrix3x2dv
-glrefProgramUniformMatrix3x2dv :: IORef FuntypeProgramUniformMatrix3x2dv
-glrefProgramUniformMatrix3x2dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix3x2dv #-}
-glProgramUniformMatrix3x2dv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix3x2dv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix3x2dv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix3x2dv #-}
-type FuntypeProgramUniformMatrix2x4dv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix2x4dv :: FunPtr FuntypeProgramUniformMatrix2x4dv -> FuntypeProgramUniformMatrix2x4dv
-glrefProgramUniformMatrix2x4dv :: IORef FuntypeProgramUniformMatrix2x4dv
-glrefProgramUniformMatrix2x4dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix2x4dv #-}
-glProgramUniformMatrix2x4dv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix2x4dv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix2x4dv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix2x4dv #-}
-type FuntypeProgramUniformMatrix4x2dv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix4x2dv :: FunPtr FuntypeProgramUniformMatrix4x2dv -> FuntypeProgramUniformMatrix4x2dv
-glrefProgramUniformMatrix4x2dv :: IORef FuntypeProgramUniformMatrix4x2dv
-glrefProgramUniformMatrix4x2dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix4x2dv #-}
-glProgramUniformMatrix4x2dv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix4x2dv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix4x2dv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix4x2dv #-}
-type FuntypeProgramUniformMatrix3x4dv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix3x4dv :: FunPtr FuntypeProgramUniformMatrix3x4dv -> FuntypeProgramUniformMatrix3x4dv
-glrefProgramUniformMatrix3x4dv :: IORef FuntypeProgramUniformMatrix3x4dv
-glrefProgramUniformMatrix3x4dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix3x4dv #-}
-glProgramUniformMatrix3x4dv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix3x4dv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix3x4dv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix3x4dv #-}
-type FuntypeProgramUniformMatrix4x3dv =
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynProgramUniformMatrix4x3dv :: FunPtr FuntypeProgramUniformMatrix4x3dv -> FuntypeProgramUniformMatrix4x3dv
-glrefProgramUniformMatrix4x3dv :: IORef FuntypeProgramUniformMatrix4x3dv
-glrefProgramUniformMatrix4x3dv = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefProgramUniformMatrix4x3dv #-}
-glProgramUniformMatrix4x3dv :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLsizei ->
-    GLboolean ->
-    Ptr (GLdouble) ->
-    m ( () )
-glProgramUniformMatrix4x3dv
-    a0
-    a1
-    a2
-    a3
-    a4
-    = liftIO $ (unsafePerformIO $ readIORef glrefProgramUniformMatrix4x3dv)
-      a0
-      a1
-      a2
-      a3
-      a4
-{-# INLINE glProgramUniformMatrix4x3dv #-}
-type FuntypeValidateProgramPipeline =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynValidateProgramPipeline :: FunPtr FuntypeValidateProgramPipeline -> FuntypeValidateProgramPipeline
-glrefValidateProgramPipeline :: IORef FuntypeValidateProgramPipeline
-glrefValidateProgramPipeline = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefValidateProgramPipeline #-}
-glValidateProgramPipeline :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glValidateProgramPipeline
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefValidateProgramPipeline)
-      a0
-{-# INLINE glValidateProgramPipeline #-}
-type FuntypeGetProgramPipelineInfoLog =
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynGetProgramPipelineInfoLog :: FunPtr FuntypeGetProgramPipelineInfoLog -> FuntypeGetProgramPipelineInfoLog
-glrefGetProgramPipelineInfoLog :: IORef FuntypeGetProgramPipelineInfoLog
-glrefGetProgramPipelineInfoLog = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefGetProgramPipelineInfoLog #-}
-glGetProgramPipelineInfoLog :: MonadIO m =>
-    GLuint ->
-    GLsizei ->
-    Ptr (GLsizei) ->
-    Ptr (GLchar) ->
-    m ( () )
-glGetProgramPipelineInfoLog
-    a0
-    a1
-    a2
-    a3
-    = liftIO $ (unsafePerformIO $ readIORef glrefGetProgramPipelineInfoLog)
-      a0
-      a1
-      a2
-      a3
-{-# INLINE glGetProgramPipelineInfoLog #-}
-
--- GL_ATI_meminfo
-
-
--- GL_NVX_gpu_memory_info
-
-
--- GL_ARB_invalidate_subdata
-
-type FuntypeInvalidateTexSubImage =
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynInvalidateTexSubImage :: FunPtr FuntypeInvalidateTexSubImage -> FuntypeInvalidateTexSubImage
-glrefInvalidateTexSubImage :: IORef FuntypeInvalidateTexSubImage
-glrefInvalidateTexSubImage = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefInvalidateTexSubImage #-}
-glInvalidateTexSubImage :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glInvalidateTexSubImage
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    a7
-    = liftIO $ (unsafePerformIO $ readIORef glrefInvalidateTexSubImage)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-      a7
-{-# INLINE glInvalidateTexSubImage #-}
-type FuntypeInvalidateTexImage =
-    GLuint ->
-    GLint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynInvalidateTexImage :: FunPtr FuntypeInvalidateTexImage -> FuntypeInvalidateTexImage
-glrefInvalidateTexImage :: IORef FuntypeInvalidateTexImage
-glrefInvalidateTexImage = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefInvalidateTexImage #-}
-glInvalidateTexImage :: MonadIO m =>
-    GLuint ->
-    GLint ->
-    m ( () )
-glInvalidateTexImage
-    a0
-    a1
-    = liftIO $ (unsafePerformIO $ readIORef glrefInvalidateTexImage)
-      a0
-      a1
-{-# INLINE glInvalidateTexImage #-}
-type FuntypeInvalidateBufferSubData =
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynInvalidateBufferSubData :: FunPtr FuntypeInvalidateBufferSubData -> FuntypeInvalidateBufferSubData
-glrefInvalidateBufferSubData :: IORef FuntypeInvalidateBufferSubData
-glrefInvalidateBufferSubData = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefInvalidateBufferSubData #-}
-glInvalidateBufferSubData :: MonadIO m =>
-    GLuint ->
-    GLintptr ->
-    GLsizeiptr ->
-    m ( () )
-glInvalidateBufferSubData
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefInvalidateBufferSubData)
-      a0
-      a1
-      a2
-{-# INLINE glInvalidateBufferSubData #-}
-type FuntypeInvalidateBufferData =
-    GLuint ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynInvalidateBufferData :: FunPtr FuntypeInvalidateBufferData -> FuntypeInvalidateBufferData
-glrefInvalidateBufferData :: IORef FuntypeInvalidateBufferData
-glrefInvalidateBufferData = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefInvalidateBufferData #-}
-glInvalidateBufferData :: MonadIO m =>
-    GLuint ->
-    m ( () )
-glInvalidateBufferData
-    a0
-    = liftIO $ (unsafePerformIO $ readIORef glrefInvalidateBufferData)
-      a0
-{-# INLINE glInvalidateBufferData #-}
-type FuntypeInvalidateFramebuffer =
-    GLenum ->
-    GLsizei ->
-    Ptr (GLenum) ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynInvalidateFramebuffer :: FunPtr FuntypeInvalidateFramebuffer -> FuntypeInvalidateFramebuffer
-glrefInvalidateFramebuffer :: IORef FuntypeInvalidateFramebuffer
-glrefInvalidateFramebuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefInvalidateFramebuffer #-}
-glInvalidateFramebuffer :: MonadIO m =>
-    GLenum ->
-    GLsizei ->
-    Ptr (GLenum) ->
-    m ( () )
-glInvalidateFramebuffer
-    a0
-    a1
-    a2
-    = liftIO $ (unsafePerformIO $ readIORef glrefInvalidateFramebuffer)
-      a0
-      a1
-      a2
-{-# INLINE glInvalidateFramebuffer #-}
-type FuntypeInvalidateSubFramebuffer =
-    GLenum ->
-    GLsizei ->
-    Ptr (GLenum) ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    IO ( () )
-foreign import ccall APIENTRY unsafe "dynamic"
-    gldynInvalidateSubFramebuffer :: FunPtr FuntypeInvalidateSubFramebuffer -> FuntypeInvalidateSubFramebuffer
-glrefInvalidateSubFramebuffer :: IORef FuntypeInvalidateSubFramebuffer
-glrefInvalidateSubFramebuffer = unsafePerformIO $ newIORef $ error "No function retrieved."
-{-# NOINLINE glrefInvalidateSubFramebuffer #-}
-glInvalidateSubFramebuffer :: MonadIO m =>
-    GLenum ->
-    GLsizei ->
-    Ptr (GLenum) ->
-    GLint ->
-    GLint ->
-    GLsizei ->
-    GLsizei ->
-    m ( () )
-glInvalidateSubFramebuffer
-    a0
-    a1
-    a2
-    a3
-    a4
-    a5
-    a6
-    = liftIO $ (unsafePerformIO $ readIORef glrefInvalidateSubFramebuffer)
-      a0
-      a1
-      a2
-      a3
-      a4
-      a5
-      a6
-{-# INLINE glInvalidateSubFramebuffer #-}
-
-gl_TEXTURE_LUMINANCE_SIZE_EXT :: GLenum
-gl_TEXTURE_LUMINANCE_SIZE_EXT = 0x8060
-gl_BGRA_INTEGER :: GLenum
-gl_BGRA_INTEGER = 0x8D9B
-gl_TEXTURE24_ARB :: GLenum
-gl_TEXTURE24_ARB = 0x84D8
-gl_LINEAR_SHARPEN_SGIS :: GLenum
-gl_LINEAR_SHARPEN_SGIS = 0x80AD
-gl_REG_30_ATI :: GLenum
-gl_REG_30_ATI = 0x893F
-gl_CONTEXT_PROFILE_MASK :: GLenum
-gl_CONTEXT_PROFILE_MASK = 0x9126
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3
-gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT :: GLenum
-gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT = 0x90D8
-gl_ELEMENT_ARRAY_BUFFER_BINDING_ARB :: GLenum
-gl_ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895
-gl_STENCIL_ATTACHMENT_EXT :: GLenum
-gl_STENCIL_ATTACHMENT_EXT = 0x8D20
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG = 0x9134
-gl_STENCIL_INDEX4_OES :: GLenum
-gl_STENCIL_INDEX4_OES = 0x8D47
-gl_LAYER_PROVOKING_VERTEX_EXT :: GLenum
-gl_LAYER_PROVOKING_VERTEX_EXT = 0x825E
-gl_TESS_GEN_POINT_MODE_EXT :: GLenum
-gl_TESS_GEN_POINT_MODE_EXT = 0x8E79
-gl_DEBUG_SEVERITY_HIGH :: GLenum
-gl_DEBUG_SEVERITY_HIGH = 0x9146
-gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
-gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42
-gl_PROGRAM_TEX_INDIRECTIONS_ARB :: GLenum
-gl_PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807
-gl_CON_14_ATI :: GLenum
-gl_CON_14_ATI = 0x894F
-gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214
-gl_DEPTH32F_STENCIL8 :: GLenum
-gl_DEPTH32F_STENCIL8 = 0x8CAD
-gl_TEXTURE_MAX_CLAMP_T_SGIX :: GLenum
-gl_TEXTURE_MAX_CLAMP_T_SGIX = 0x836A
-gl_SAMPLER_1D_SHADOW_ARB :: GLenum
-gl_SAMPLER_1D_SHADOW_ARB = 0x8B61
-gl_POINT_SPRITE_NV :: GLenum
-gl_POINT_SPRITE_NV = 0x8861
-gl_POINT_DISTANCE_ATTENUATION :: GLenum
-gl_POINT_DISTANCE_ATTENUATION = 0x8129
-gl_RG16F_EXT :: GLenum
-gl_RG16F_EXT = 0x822F
-gl_TEXTURE_PRIORITY_EXT :: GLenum
-gl_TEXTURE_PRIORITY_EXT = 0x8066
-gl_CON_27_ATI :: GLenum
-gl_CON_27_ATI = 0x895C
-gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT :: GLenum
-gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT = 0x90D7
-gl_UNIFORM_BARRIER_BIT_EXT :: GLenum
-gl_UNIFORM_BARRIER_BIT_EXT = 0x00000004
-gl_COVERAGE_ATTACHMENT_NV :: GLenum
-gl_COVERAGE_ATTACHMENT_NV = 0x8ED2
-gl_TEXTURE_TARGET_QCOM :: GLenum
-gl_TEXTURE_TARGET_QCOM = 0x8BDA
-gl_VERTEX_ATTRIB_ARRAY_TYPE_ARB :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625
-gl_LUMINANCE_FLOAT16_APPLE :: GLenum
-gl_LUMINANCE_FLOAT16_APPLE = 0x881E
-gl_RENDERBUFFER_RED_SIZE_EXT :: GLenum
-gl_RENDERBUFFER_RED_SIZE_EXT = 0x8D50
-gl_OUTPUT_TEXTURE_COORD2_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD2_EXT = 0x879F
-gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103
-gl_INVALID_FRAMEBUFFER_OPERATION_OES :: GLenum
-gl_INVALID_FRAMEBUFFER_OPERATION_OES = 0x0506
-gl_MATRIX9_ARB :: GLenum
-gl_MATRIX9_ARB = 0x88C9
-gl_COLOR_ATTACHMENT0_OES :: GLenum
-gl_COLOR_ATTACHMENT0_OES = 0x8CE0
-gl_SHADER_OBJECT_ARB :: GLenum
-gl_SHADER_OBJECT_ARB = 0x8B48
-gl_OBJECT_INFO_LOG_LENGTH_ARB :: GLenum
-gl_OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84
-gl_DEPTH_BUFFER_BIT6_QCOM :: GLenum
-gl_DEPTH_BUFFER_BIT6_QCOM = 0x00004000
-gl_MITER_REVERT_NV :: GLenum
-gl_MITER_REVERT_NV = 0x90A7
-gl_LUMINANCE16UI_EXT :: GLenum
-gl_LUMINANCE16UI_EXT = 0x8D7A
-gl_FOG_COORDINATE :: GLenum
-gl_FOG_COORDINATE = 0x8451
-gl_COMPRESSED_ALPHA :: GLenum
-gl_COMPRESSED_ALPHA = 0x84E9
-gl_CUBIC_HP :: GLenum
-gl_CUBIC_HP = 0x815F
-gl_CURRENT_MATRIX_STACK_DEPTH_NV :: GLenum
-gl_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640
-gl_CONSTANT_NV :: GLenum
-gl_CONSTANT_NV = 0x8576
-gl_PALETTE8_RGB8_OES :: GLenum
-gl_PALETTE8_RGB8_OES = 0x8B95
-gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT :: GLenum
-gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E1E
-gl_DRAW_BUFFER14_NV :: GLenum
-gl_DRAW_BUFFER14_NV = 0x8833
-gl_MODELVIEW28_ARB :: GLenum
-gl_MODELVIEW28_ARB = 0x873C
-gl_MIRROR_CLAMP_EXT :: GLenum
-gl_MIRROR_CLAMP_EXT = 0x8742
-gl_CONVOLUTION_WIDTH_EXT :: GLenum
-gl_CONVOLUTION_WIDTH_EXT = 0x8018
-gl_WEIGHT_ARRAY_TYPE_OES :: GLenum
-gl_WEIGHT_ARRAY_TYPE_OES = 0x86A9
-gl_R8I :: GLenum
-gl_R8I = 0x8231
-gl_FRAGMENT_LIGHT1_SGIX :: GLenum
-gl_FRAGMENT_LIGHT1_SGIX = 0x840D
-gl_SOURCE2_ALPHA_EXT :: GLenum
-gl_SOURCE2_ALPHA_EXT = 0x858A
-gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7
-gl_OPERAND1_RGB_ARB :: GLenum
-gl_OPERAND1_RGB_ARB = 0x8591
-gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F
-gl_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV :: GLenum
-gl_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025
-gl_REG_24_ATI :: GLenum
-gl_REG_24_ATI = 0x8939
-gl_SYNC_FENCE :: GLenum
-gl_SYNC_FENCE = 0x9116
-gl_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT :: GLenum
-gl_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT = 0x9308
-gl_RGB16F_ARB :: GLenum
-gl_RGB16F_ARB = 0x881B
-gl_MULTIVIEW_EXT :: GLenum
-gl_MULTIVIEW_EXT = 0x90F1
-gl_DRAW_BUFFER7_EXT :: GLenum
-gl_DRAW_BUFFER7_EXT = 0x882C
-gl_RGBA_FLOAT32_ATI :: GLenum
-gl_RGBA_FLOAT32_ATI = 0x8814
-gl_STENCIL_OP_VALUE_AMD :: GLenum
-gl_STENCIL_OP_VALUE_AMD = 0x874C
-gl_SAMPLE_MASK_SGIS :: GLenum
-gl_SAMPLE_MASK_SGIS = 0x80A0
-gl_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7
-gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
-gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43
-gl_IMAGE_1D_ARRAY :: GLenum
-gl_IMAGE_1D_ARRAY = 0x9052
-gl_FUNC_REVERSE_SUBTRACT_EXT :: GLenum
-gl_FUNC_REVERSE_SUBTRACT_EXT = 0x800B
-gl_LOSE_CONTEXT_ON_RESET_ARB :: GLenum
-gl_LOSE_CONTEXT_ON_RESET_ARB = 0x8252
-gl_WEIGHT_ARRAY_POINTER_OES :: GLenum
-gl_WEIGHT_ARRAY_POINTER_OES = 0x86AC
-gl_DRAW_BUFFER3 :: GLenum
-gl_DRAW_BUFFER3 = 0x8828
-gl_DEPTH_STENCIL_ATTACHMENT :: GLenum
-gl_DEPTH_STENCIL_ATTACHMENT = 0x821A
-gl_NUM_PASSES_ATI :: GLenum
-gl_NUM_PASSES_ATI = 0x8970
-gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB :: GLenum
-gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF
-gl_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
-gl_ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48
-gl_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB :: GLenum
-gl_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0
-gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC
-gl_VERTEX_ARRAY_RANGE_APPLE :: GLenum
-gl_VERTEX_ARRAY_RANGE_APPLE = 0x851D
-gl_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX :: GLenum
-gl_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = 0x8188
-gl_SHADER_SOURCE_LENGTH :: GLenum
-gl_SHADER_SOURCE_LENGTH = 0x8B88
-gl_BOLD_BIT_NV :: GLenum
-gl_BOLD_BIT_NV = 0x01
-gl_R16I :: GLenum
-gl_R16I = 0x8233
-gl_DETAIL_TEXTURE_LEVEL_SGIS :: GLenum
-gl_DETAIL_TEXTURE_LEVEL_SGIS = 0x809A
-gl_ONE_MINUS_SRC1_ALPHA :: GLenum
-gl_ONE_MINUS_SRC1_ALPHA = 0x88FB
-gl_TEXTURE_BUFFER_BINDING_EXT :: GLenum
-gl_TEXTURE_BUFFER_BINDING_EXT = 0x8C2A
-gl_MATRIX14_ARB :: GLenum
-gl_MATRIX14_ARB = 0x88CE
-gl_UNCORRELATED_NV :: GLenum
-gl_UNCORRELATED_NV = 0x9282
-gl_UNSIGNED_INT64_ARB :: GLenum
-gl_UNSIGNED_INT64_ARB = 0x140F
-gl_TEXTURE_BUFFER_BINDING :: GLenum
-gl_TEXTURE_BUFFER_BINDING = 0x8C2A
-gl_ACTIVE_PROGRAM_EXT :: GLenum
-gl_ACTIVE_PROGRAM_EXT = 0x8B8D
-gl_FRAGMENT_SHADER_DERIVATIVE_HINT_OES :: GLenum
-gl_FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B
-gl_REPLACEMENT_CODE_ARRAY_TYPE_SUN :: GLenum
-gl_REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1
-gl_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV :: GLenum
-gl_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = 0x8E5A
-gl_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
-gl_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB
-gl_NORMAL_ARRAY_ADDRESS_NV :: GLenum
-gl_NORMAL_ARRAY_ADDRESS_NV = 0x8F22
-gl_OP_SET_LT_EXT :: GLenum
-gl_OP_SET_LT_EXT = 0x878D
-gl_TEXTURE_2D_STACK_BINDING_MESAX :: GLenum
-gl_TEXTURE_2D_STACK_BINDING_MESAX = 0x875E
-gl_CULL_VERTEX_OBJECT_POSITION_EXT :: GLenum
-gl_CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC
-gl_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
-gl_SYNC_GPU_COMMANDS_COMPLETE = 0x9117
-gl_FOG_COORDINATE_EXT :: GLenum
-gl_FOG_COORDINATE_EXT = 0x8451
-gl_MAX_LIGHTS :: GLenum
-gl_MAX_LIGHTS = 0x0D31
-gl_MAX_VARYING_COMPONENTS :: GLenum
-gl_MAX_VARYING_COMPONENTS = 0x8B4B
-gl_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70
-gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29
-gl_VERTEX_SHADER_EXT :: GLenum
-gl_VERTEX_SHADER_EXT = 0x8780
-gl_PERFQUERY_GLOBAL_CONTEXT_INTEL :: GLenum
-gl_PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001
-gl_TEXTURE_LOD_BIAS_R_SGIX :: GLenum
-gl_TEXTURE_LOD_BIAS_R_SGIX = 0x8190
-gl_OFFSET_HILO_TEXTURE_2D_NV :: GLenum
-gl_OFFSET_HILO_TEXTURE_2D_NV = 0x8854
-gl_FRAMEBUFFER_EXT :: GLenum
-gl_FRAMEBUFFER_EXT = 0x8D40
-gl_CONTEXT_LOST_KHR :: GLenum
-gl_CONTEXT_LOST_KHR = 0x0507
-gl_CLIENT_ACTIVE_TEXTURE :: GLenum
-gl_CLIENT_ACTIVE_TEXTURE = 0x84E1
-gl_MATRIX4_NV :: GLenum
-gl_MATRIX4_NV = 0x8634
-gl_COMP_BIT_ATI :: GLenum
-gl_COMP_BIT_ATI = 0x00000002
-gl_ELEMENT_ARRAY_APPLE :: GLenum
-gl_ELEMENT_ARRAY_APPLE = 0x8A0C
-gl_QUERY_BUFFER_AMD :: GLenum
-gl_QUERY_BUFFER_AMD = 0x9192
-gl_SAMPLE_BUFFERS_EXT :: GLenum
-gl_SAMPLE_BUFFERS_EXT = 0x80A8
-gl_MAX_PROGRAM_LOCAL_PARAMETERS_ARB :: GLenum
-gl_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4
-gl_SKIP_DECODE_EXT :: GLenum
-gl_SKIP_DECODE_EXT = 0x8A4A
-gl_DEPTH_CLEAR_VALUE :: GLenum
-gl_DEPTH_CLEAR_VALUE = 0x0B73
-gl_DEPENDENT_RGB_TEXTURE_3D_NV :: GLenum
-gl_DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859
-gl_VERTEX_PROGRAM_TWO_SIDE_NV :: GLenum
-gl_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643
-gl_UNPACK_SKIP_VOLUMES_SGIS :: GLenum
-gl_UNPACK_SKIP_VOLUMES_SGIS = 0x8132
-gl_INTENSITY_FLOAT32_ATI :: GLenum
-gl_INTENSITY_FLOAT32_ATI = 0x8817
-gl_FLOAT_MAT4x2 :: GLenum
-gl_FLOAT_MAT4x2 = 0x8B69
-gl_MAX_TRACK_MATRICES_NV :: GLenum
-gl_MAX_TRACK_MATRICES_NV = 0x862F
-gl_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
-gl_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13
-gl_RGBA_FLOAT16_APPLE :: GLenum
-gl_RGBA_FLOAT16_APPLE = 0x881A
-gl_TEXTURE_RANGE_POINTER_APPLE :: GLenum
-gl_TEXTURE_RANGE_POINTER_APPLE = 0x85B8
-gl_FRAGMENT_PROGRAM_POSITION_MESA :: GLenum
-gl_FRAGMENT_PROGRAM_POSITION_MESA = 0x8BB0
-gl_RGBA8I :: GLenum
-gl_RGBA8I = 0x8D8E
-gl_ALPHA16_SNORM :: GLenum
-gl_ALPHA16_SNORM = 0x9018
-gl_UNSIGNED_INT_SAMPLER_1D_EXT :: GLenum
-gl_UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1
-gl_CONVOLUTION_2D_EXT :: GLenum
-gl_CONVOLUTION_2D_EXT = 0x8011
-gl_HALF_FLOAT_ARB :: GLenum
-gl_HALF_FLOAT_ARB = 0x140B
-gl_VERTEX_ATTRIB_ARRAY_ENABLED_ARB :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622
-gl_SAMPLER_2D_RECT_ARB :: GLenum
-gl_SAMPLER_2D_RECT_ARB = 0x8B63
-gl_DECR_WRAP :: GLenum
-gl_DECR_WRAP = 0x8508
-gl_MAX_PALETTE_MATRICES_ARB :: GLenum
-gl_MAX_PALETTE_MATRICES_ARB = 0x8842
-gl_GREEN_BITS :: GLenum
-gl_GREEN_BITS = 0x0D53
-gl_FOG_INDEX :: GLenum
-gl_FOG_INDEX = 0x0B61
-gl_MAP_WRITE_BIT_EXT :: GLenum
-gl_MAP_WRITE_BIT_EXT = 0x0002
-gl_COLORDODGE_NV :: GLenum
-gl_COLORDODGE_NV = 0x9299
-gl_VERTEX_ATTRIB_ARRAY6_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY6_NV = 0x8656
-gl_TEXTURE_SAMPLES_IMG :: GLenum
-gl_TEXTURE_SAMPLES_IMG = 0x9136
-gl_INT_IMAGE_CUBE :: GLenum
-gl_INT_IMAGE_CUBE = 0x905B
-gl_POINT_SPRITE_OES :: GLenum
-gl_POINT_SPRITE_OES = 0x8861
-gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
-gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49
-gl_ATOMIC_COUNTER_BARRIER_BIT :: GLenum
-gl_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000
-gl_ALL_ATTRIB_BITS :: GLenum
-gl_ALL_ATTRIB_BITS = 0xFFFFFFFF
-gl_SRC_ALPHA_SATURATE :: GLenum
-gl_SRC_ALPHA_SATURATE = 0x0308
-gl_SPOT_EXPONENT :: GLenum
-gl_SPOT_EXPONENT = 0x1205
-gl_DUAL_LUMINANCE8_SGIS :: GLenum
-gl_DUAL_LUMINANCE8_SGIS = 0x8115
-gl_TEXTURE_DT_SIZE_NV :: GLenum
-gl_TEXTURE_DT_SIZE_NV = 0x871E
-gl_LUMINANCE16_SNORM :: GLenum
-gl_LUMINANCE16_SNORM = 0x9019
-gl_DST_COLOR :: GLenum
-gl_DST_COLOR = 0x0306
-gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT :: GLenum
-gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT = 0x8F63
-gl_FIELDS_NV :: GLenum
-gl_FIELDS_NV = 0x8E27
-gl_GLYPH_WIDTH_BIT_NV :: GLenum
-gl_GLYPH_WIDTH_BIT_NV = 0x01
-gl_VERTEX_WEIGHT_ARRAY_POINTER_EXT :: GLenum
-gl_VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510
-gl_DRAW_BUFFER9_ARB :: GLenum
-gl_DRAW_BUFFER9_ARB = 0x882E
-gl_VERTEX_ATTRIB_MAP2_ORDER_APPLE :: GLenum
-gl_VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08
-gl_SRGB8_ALPHA8 :: GLenum
-gl_SRGB8_ALPHA8 = 0x8C43
-gl_OBJECT_TYPE_ARB :: GLenum
-gl_OBJECT_TYPE_ARB = 0x8B4E
-gl_QUERY_RESULT_EXT :: GLenum
-gl_QUERY_RESULT_EXT = 0x8866
-gl_IMAGE_3D :: GLenum
-gl_IMAGE_3D = 0x904E
-gl_VERTEX_ARRAY_OBJECT_EXT :: GLenum
-gl_VERTEX_ARRAY_OBJECT_EXT = 0x9154
-gl_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV :: GLenum
-gl_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340
-gl_OP_MAX_EXT :: GLenum
-gl_OP_MAX_EXT = 0x878A
-gl_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
-gl_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366
-gl_NORMALIZE :: GLenum
-gl_NORMALIZE = 0x0BA1
-gl_QUARTER_BIT_ATI :: GLenum
-gl_QUARTER_BIT_ATI = 0x00000010
-gl_DEBUG_OUTPUT_SYNCHRONOUS_ARB :: GLenum
-gl_DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242
-gl_REFLECTION_MAP_NV :: GLenum
-gl_REFLECTION_MAP_NV = 0x8512
-gl_POINT_SPRITE_ARB :: GLenum
-gl_POINT_SPRITE_ARB = 0x8861
-gl_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV :: GLenum
-gl_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342
-gl_COMBINE_EXT :: GLenum
-gl_COMBINE_EXT = 0x8570
-gl_INDEX_ARRAY_POINTER_EXT :: GLenum
-gl_INDEX_ARRAY_POINTER_EXT = 0x8091
-gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB :: GLenum
-gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243
-gl_VIEWPORT_SUBPIXEL_BITS_EXT :: GLenum
-gl_VIEWPORT_SUBPIXEL_BITS_EXT = 0x825C
-gl_OFFSET_TEXTURE_RECTANGLE_SCALE_NV :: GLenum
-gl_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D
-gl_PERFQUERY_COUNTER_DATA_UINT64_INTEL :: GLenum
-gl_PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9
-gl_ARRAY_BUFFER_ARB :: GLenum
-gl_ARRAY_BUFFER_ARB = 0x8892
-gl_DRAW_BUFFER_EXT :: GLenum
-gl_DRAW_BUFFER_EXT = 0x0C01
-gl_TIMEOUT_EXPIRED_APPLE :: GLenum
-gl_TIMEOUT_EXPIRED_APPLE = 0x911B
-gl_NEAREST :: GLenum
-gl_NEAREST = 0x2600
-gl_BLEND_COLOR_EXT :: GLenum
-gl_BLEND_COLOR_EXT = 0x8005
-gl_COLOR_ATTACHMENT7_NV :: GLenum
-gl_COLOR_ATTACHMENT7_NV = 0x8CE7
-gl_OP_ROUND_EXT :: GLenum
-gl_OP_ROUND_EXT = 0x8790
-gl_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
-gl_REFERENCED_BY_FRAGMENT_SHADER = 0x930A
-gl_ALPHA_FLOAT16_APPLE :: GLenum
-gl_ALPHA_FLOAT16_APPLE = 0x881C
-gl_RGBA32UI :: GLenum
-gl_RGBA32UI = 0x8D70
-gl_RGBA_FLOAT_MODE_ATI :: GLenum
-gl_RGBA_FLOAT_MODE_ATI = 0x8820
-gl_POINT_FADE_THRESHOLD_SIZE :: GLenum
-gl_POINT_FADE_THRESHOLD_SIZE = 0x8128
-gl_BGRA_INTEGER_EXT :: GLenum
-gl_BGRA_INTEGER_EXT = 0x8D9B
-gl_COLOR_FLOAT_APPLE :: GLenum
-gl_COLOR_FLOAT_APPLE = 0x8A0F
-gl_REPLICATE_BORDER :: GLenum
-gl_REPLICATE_BORDER = 0x8153
-gl_SAMPLER_1D_ARB :: GLenum
-gl_SAMPLER_1D_ARB = 0x8B5D
-gl_DEPTH_BITS :: GLenum
-gl_DEPTH_BITS = 0x0D56
-gl_GEOMETRY_DEFORMATION_SGIX :: GLenum
-gl_GEOMETRY_DEFORMATION_SGIX = 0x8194
-gl_ACCUM_ADJACENT_PAIRS_NV :: GLenum
-gl_ACCUM_ADJACENT_PAIRS_NV = 0x90AD
-gl_RGBA4_DXT5_S3TC :: GLenum
-gl_RGBA4_DXT5_S3TC = 0x83A5
-gl_NAND :: GLenum
-gl_NAND = 0x150E
-gl_LUMINANCE16 :: GLenum
-gl_LUMINANCE16 = 0x8042
-gl_TEXTURE24 :: GLenum
-gl_TEXTURE24 = 0x84D8
-gl_COMPRESSED_RGBA_ASTC_5x4_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1
-gl_COLOR_ATTACHMENT2 :: GLenum
-gl_COLOR_ATTACHMENT2 = 0x8CE2
-gl_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
-gl_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F
-gl_LINE_WIDTH_GRANULARITY :: GLenum
-gl_LINE_WIDTH_GRANULARITY = 0x0B23
-gl_TRACE_ARRAYS_BIT_MESA :: GLenum
-gl_TRACE_ARRAYS_BIT_MESA = 0x0004
-gl_VERTEX_ATTRIB_MAP2_APPLE :: GLenum
-gl_VERTEX_ATTRIB_MAP2_APPLE = 0x8A01
-gl_DOUBLE_VEC4_EXT :: GLenum
-gl_DOUBLE_VEC4_EXT = 0x8FFE
-gl_TEXTURE28_ARB :: GLenum
-gl_TEXTURE28_ARB = 0x84DC
-gl_UNSIGNED_INT_VEC3 :: GLenum
-gl_UNSIGNED_INT_VEC3 = 0x8DC7
-gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
-gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34
-gl_COMPRESSED_SLUMINANCE_EXT :: GLenum
-gl_COMPRESSED_SLUMINANCE_EXT = 0x8C4A
-gl_WEIGHT_ARRAY_ARB :: GLenum
-gl_WEIGHT_ARRAY_ARB = 0x86AD
-gl_SPRITE_TRANSLATION_SGIX :: GLenum
-gl_SPRITE_TRANSLATION_SGIX = 0x814B
-gl_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
-gl_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8
-gl_SIGNALED_APPLE :: GLenum
-gl_SIGNALED_APPLE = 0x9119
-gl_STREAM_DRAW_ARB :: GLenum
-gl_STREAM_DRAW_ARB = 0x88E0
-gl_3D_COLOR :: GLenum
-gl_3D_COLOR = 0x0602
-gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV :: GLenum
-gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868
-gl_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
-gl_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308
-gl_MODELVIEW15_ARB :: GLenum
-gl_MODELVIEW15_ARB = 0x872F
-gl_TEXTURE_BUFFER_OFFSET :: GLenum
-gl_TEXTURE_BUFFER_OFFSET = 0x919D
-gl_MAX_VARYING_VECTORS :: GLenum
-gl_MAX_VARYING_VECTORS = 0x8DFC
-gl_BLEND_SRC_RGB_EXT :: GLenum
-gl_BLEND_SRC_RGB_EXT = 0x80C9
-gl_FRAGMENT_LIGHT2_SGIX :: GLenum
-gl_FRAGMENT_LIGHT2_SGIX = 0x840E
-gl_MANUAL_GENERATE_MIPMAP :: GLenum
-gl_MANUAL_GENERATE_MIPMAP = 0x8294
-gl_UTF8_NV :: GLenum
-gl_UTF8_NV = 0x909A
-gl_CLIP_DISTANCE4 :: GLenum
-gl_CLIP_DISTANCE4 = 0x3004
-gl_WRITE_DISCARD_NV :: GLenum
-gl_WRITE_DISCARD_NV = 0x88BE
-gl_OFFSET_TEXTURE_2D_SCALE_NV :: GLenum
-gl_OFFSET_TEXTURE_2D_SCALE_NV = 0x86E2
-gl_VERTEX_WEIGHT_ARRAY_EXT :: GLenum
-gl_VERTEX_WEIGHT_ARRAY_EXT = 0x850C
-gl_ELEMENT_ARRAY_ADDRESS_NV :: GLenum
-gl_ELEMENT_ARRAY_ADDRESS_NV = 0x8F29
-gl_FLOAT_MAT3 :: GLenum
-gl_FLOAT_MAT3 = 0x8B5B
-gl_DEPENDENT_HILO_TEXTURE_2D_NV :: GLenum
-gl_DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858
-gl_POST_COLOR_MATRIX_BLUE_BIAS :: GLenum
-gl_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA
-gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS :: GLenum
-gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS = 0x919A
-gl_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
-gl_TEXTURE_COORD_ARRAY_STRIDE = 0x808A
-gl_TEXTURE_COORD_ARRAY_SIZE_EXT :: GLenum
-gl_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088
-gl_IMAGE_CLASS_2_X_32 :: GLenum
-gl_IMAGE_CLASS_2_X_32 = 0x82BA
-gl_RGB32UI :: GLenum
-gl_RGB32UI = 0x8D71
-gl_SEPARATE_ATTRIBS_EXT :: GLenum
-gl_SEPARATE_ATTRIBS_EXT = 0x8C8D
-gl_MOVE_TO_NV :: GLenum
-gl_MOVE_TO_NV = 0x02
-gl_QUERY_BUFFER_BARRIER_BIT :: GLenum
-gl_QUERY_BUFFER_BARRIER_BIT = 0x00008000
-gl_TEXTURE_CUBE_MAP_POSITIVE_Y_OES :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_Y_OES = 0x8517
-gl_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP :: GLenum
-gl_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163
-gl_DUDV_ATI :: GLenum
-gl_DUDV_ATI = 0x8779
-gl_TEXTURE_CUBE_MAP_ARRAY :: GLenum
-gl_TEXTURE_CUBE_MAP_ARRAY = 0x9009
-gl_PN_TRIANGLES_NORMAL_MODE_ATI :: GLenum
-gl_PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3
-gl_TEXTURE_INTENSITY_TYPE :: GLenum
-gl_TEXTURE_INTENSITY_TYPE = 0x8C15
-gl_BUFFER_MAP_OFFSET :: GLenum
-gl_BUFFER_MAP_OFFSET = 0x9121
-gl_TEXTURE_COMPARE_MODE :: GLenum
-gl_TEXTURE_COMPARE_MODE = 0x884C
-gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
-gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8
-gl_MAP2_VERTEX_ATTRIB10_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A
-gl_PATCH_DEFAULT_INNER_LEVEL :: GLenum
-gl_PATCH_DEFAULT_INNER_LEVEL = 0x8E73
-gl_DEPTH_STENCIL_TO_BGRA_NV :: GLenum
-gl_DEPTH_STENCIL_TO_BGRA_NV = 0x886F
-gl_UNPACK_RESAMPLE_OML :: GLenum
-gl_UNPACK_RESAMPLE_OML = 0x8985
-gl_VERTEX_ATTRIB_ARRAY10_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY10_NV = 0x865A
-gl_RGB10_EXT :: GLenum
-gl_RGB10_EXT = 0x8052
-gl_LUMINANCE_ALPHA :: GLenum
-gl_LUMINANCE_ALPHA = 0x190A
-gl_MAP_INVALIDATE_BUFFER_BIT_EXT :: GLenum
-gl_MAP_INVALIDATE_BUFFER_BIT_EXT = 0x0008
-gl_TESS_CONTROL_SHADER_PATCHES_ARB :: GLenum
-gl_TESS_CONTROL_SHADER_PATCHES_ARB = 0x82F1
-gl_DRAW_BUFFER15_ATI :: GLenum
-gl_DRAW_BUFFER15_ATI = 0x8834
-gl_READ_ONLY_ARB :: GLenum
-gl_READ_ONLY_ARB = 0x88B8
-gl_FRAGMENT_LIGHT3_SGIX :: GLenum
-gl_FRAGMENT_LIGHT3_SGIX = 0x840F
-gl_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519
-gl_T2F_IUI_V2F_EXT :: GLenum
-gl_T2F_IUI_V2F_EXT = 0x81B1
-gl_DRAW_BUFFER0 :: GLenum
-gl_DRAW_BUFFER0 = 0x8825
-gl_CLIP_PLANE5_IMG :: GLenum
-gl_CLIP_PLANE5_IMG = 0x3005
-gl_LINEAR_DETAIL_SGIS :: GLenum
-gl_LINEAR_DETAIL_SGIS = 0x8097
-gl_MAX_NUM_ACTIVE_VARIABLES :: GLenum
-gl_MAX_NUM_ACTIVE_VARIABLES = 0x92F7
-gl_LIST_PRIORITY_SGIX :: GLenum
-gl_LIST_PRIORITY_SGIX = 0x8182
-gl_EVAL_VERTEX_ATTRIB14_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB14_NV = 0x86D4
-gl_PALETTE8_RGBA4_OES :: GLenum
-gl_PALETTE8_RGBA4_OES = 0x8B98
-gl_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
-gl_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = 0x8C74
-gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB :: GLenum
-gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A
-gl_OUTPUT_TEXTURE_COORD29_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD29_EXT = 0x87BA
-gl_VERTEX_ID_SWIZZLE_AMD :: GLenum
-gl_VERTEX_ID_SWIZZLE_AMD = 0x91A5
-gl_HIGH_FLOAT :: GLenum
-gl_HIGH_FLOAT = 0x8DF2
-gl_ANY_SAMPLES_PASSED_EXT :: GLenum
-gl_ANY_SAMPLES_PASSED_EXT = 0x8C2F
-gl_RGB8UI_EXT :: GLenum
-gl_RGB8UI_EXT = 0x8D7D
-gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86
-gl_BUFFER_MAP_POINTER :: GLenum
-gl_BUFFER_MAP_POINTER = 0x88BD
-gl_COMPRESSED_RGBA_ASTC_8x8_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7
-gl_COLOR_ARRAY_LENGTH_NV :: GLenum
-gl_COLOR_ARRAY_LENGTH_NV = 0x8F2D
-gl_FRAMEBUFFER :: GLenum
-gl_FRAMEBUFFER = 0x8D40
-gl_TEXTURE16 :: GLenum
-gl_TEXTURE16 = 0x84D0
-gl_TEXTURE_SWIZZLE_B :: GLenum
-gl_TEXTURE_SWIZZLE_B = 0x8E44
-gl_MAX_SAMPLE_MASK_WORDS_NV :: GLenum
-gl_MAX_SAMPLE_MASK_WORDS_NV = 0x8E59
-gl_SECONDARY_COLOR_ARRAY_POINTER_EXT :: GLenum
-gl_SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D
-gl_INSTRUMENT_MEASUREMENTS_SGIX :: GLenum
-gl_INSTRUMENT_MEASUREMENTS_SGIX = 0x8181
-gl_INTENSITY4 :: GLenum
-gl_INTENSITY4 = 0x804A
-gl_FRAGMENT_SUBROUTINE :: GLenum
-gl_FRAGMENT_SUBROUTINE = 0x92EC
-gl_DEBUG_LOGGED_MESSAGES :: GLenum
-gl_DEBUG_LOGGED_MESSAGES = 0x9145
-gl_EDGE_FLAG_ARRAY_POINTER_EXT :: GLenum
-gl_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093
-gl_SAMPLE_BUFFERS_SGIS :: GLenum
-gl_SAMPLE_BUFFERS_SGIS = 0x80A8
-gl_SAMPLE_BUFFERS_3DFX :: GLenum
-gl_SAMPLE_BUFFERS_3DFX = 0x86B3
-gl_UNSIGNED_INT_8_8_8_8_REV :: GLenum
-gl_UNSIGNED_INT_8_8_8_8_REV = 0x8367
-gl_COLOR_ARRAY_SIZE_EXT :: GLenum
-gl_COLOR_ARRAY_SIZE_EXT = 0x8081
-gl_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB :: GLenum
-gl_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9
-gl_RG_INTEGER :: GLenum
-gl_RG_INTEGER = 0x8228
-gl_LARGE_CW_ARC_TO_NV :: GLenum
-gl_LARGE_CW_ARC_TO_NV = 0x18
-gl_RENDERBUFFER_STENCIL_SIZE_OES :: GLenum
-gl_RENDERBUFFER_STENCIL_SIZE_OES = 0x8D55
-gl_TEXTURE_CUBE_MAP_POSITIVE_X_EXT :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515
-gl_TEXTURE_3D_EXT :: GLenum
-gl_TEXTURE_3D_EXT = 0x806F
-gl_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT :: GLenum
-gl_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800
-gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = 0x8C8A
-gl_DEBUG_TYPE_PORTABILITY :: GLenum
-gl_DEBUG_TYPE_PORTABILITY = 0x824F
-gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
-gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC
-gl_DRAW_BUFFER10 :: GLenum
-gl_DRAW_BUFFER10 = 0x882F
-gl_SAMPLER_2D_RECT_SHADOW_ARB :: GLenum
-gl_SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64
-gl_GEOMETRY_INPUT_TYPE_EXT :: GLenum
-gl_GEOMETRY_INPUT_TYPE_EXT = 0x8DDB
-gl_TEXTURE_BINDING_BUFFER_EXT :: GLenum
-gl_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C
-gl_COMPRESSED_LUMINANCE_ALPHA_ARB :: GLenum
-gl_COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 0x8CD2
-gl_MAX_TEXTURE_SIZE :: GLenum
-gl_MAX_TEXTURE_SIZE = 0x0D33
-gl_RED_EXT :: GLenum
-gl_RED_EXT = 0x1903
-gl_VARIABLE_D_NV :: GLenum
-gl_VARIABLE_D_NV = 0x8526
-gl_COVERAGE_EDGE_FRAGMENTS_NV :: GLenum
-gl_COVERAGE_EDGE_FRAGMENTS_NV = 0x8ED6
-gl_ARRAY_BUFFER_BINDING :: GLenum
-gl_ARRAY_BUFFER_BINDING = 0x8894
-gl_GREEN_MAX_CLAMP_INGR :: GLenum
-gl_GREEN_MAX_CLAMP_INGR = 0x8565
-gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA
-gl_HSL_COLOR_KHR :: GLenum
-gl_HSL_COLOR_KHR = 0x92AF
-gl_INT_SAMPLER_1D :: GLenum
-gl_INT_SAMPLER_1D = 0x8DC9
-gl_DRAW_BUFFER13 :: GLenum
-gl_DRAW_BUFFER13 = 0x8832
-gl_INT_IMAGE_CUBE_EXT :: GLenum
-gl_INT_IMAGE_CUBE_EXT = 0x905B
-gl_VIDEO_CAPTURE_TO_422_SUPPORTED_NV :: GLenum
-gl_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026
-gl_DISTANCE_ATTENUATION_EXT :: GLenum
-gl_DISTANCE_ATTENUATION_EXT = 0x8129
-gl_VERTEX_ATTRIB_ARRAY7_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY7_NV = 0x8657
-gl_SRGB_ALPHA :: GLenum
-gl_SRGB_ALPHA = 0x8C42
-gl_DOUBLE_EXT :: GLenum
-gl_DOUBLE_EXT = 0x140A
-gl_ELEMENT_ARRAY_TYPE_ATI :: GLenum
-gl_ELEMENT_ARRAY_TYPE_ATI = 0x8769
-gl_UNIFORM_BUFFER_UNIFIED_NV :: GLenum
-gl_UNIFORM_BUFFER_UNIFIED_NV = 0x936E
-gl_UNSIGNED_INT_SAMPLER_BUFFER_AMD :: GLenum
-gl_UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003
-gl_HISTOGRAM_ALPHA_SIZE :: GLenum
-gl_HISTOGRAM_ALPHA_SIZE = 0x802B
-gl_OFFSET_PROJECTIVE_TEXTURE_2D_NV :: GLenum
-gl_OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850
-gl_ARRAY_ELEMENT_LOCK_FIRST_EXT :: GLenum
-gl_ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8
-gl_COMPRESSED_RGB_S3TC_DXT1_EXT :: GLenum
-gl_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0
-gl_PATH_GEN_COEFF_NV :: GLenum
-gl_PATH_GEN_COEFF_NV = 0x90B1
-gl_MAX_VERTEX_UNIFORM_COMPONENTS_ARB :: GLenum
-gl_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A
-gl_PIXEL_COUNT_AVAILABLE_NV :: GLenum
-gl_PIXEL_COUNT_AVAILABLE_NV = 0x8867
-gl_VERTEX_SHADER_INVOCATIONS_ARB :: GLenum
-gl_VERTEX_SHADER_INVOCATIONS_ARB = 0x82F0
-gl_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB :: GLenum
-gl_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82F3
-gl_TESS_EVALUATION_PROGRAM_NV :: GLenum
-gl_TESS_EVALUATION_PROGRAM_NV = 0x891F
-gl_UNSIGNED_INT_VEC2_EXT :: GLenum
-gl_UNSIGNED_INT_VEC2_EXT = 0x8DC6
-gl_IMAGE_2D_RECT :: GLenum
-gl_IMAGE_2D_RECT = 0x904F
-gl_DONT_CARE :: GLenum
-gl_DONT_CARE = 0x1100
-gl_IMAGE_BINDING_ACCESS_EXT :: GLenum
-gl_IMAGE_BINDING_ACCESS_EXT = 0x8F3E
-gl_TEXTURE_PRIORITY :: GLenum
-gl_TEXTURE_PRIORITY = 0x8066
-gl_DOUBLE_VEC3_EXT :: GLenum
-gl_DOUBLE_VEC3_EXT = 0x8FFD
-gl_TESS_EVALUATION_SHADER_BIT :: GLenum
-gl_TESS_EVALUATION_SHADER_BIT = 0x00000010
-gl_PERFQUERY_COUNTER_DURATION_RAW_INTEL :: GLenum
-gl_PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2
-gl_CURRENT_TEXTURE_COORDS :: GLenum
-gl_CURRENT_TEXTURE_COORDS = 0x0B03
-gl_SCISSOR_TEST :: GLenum
-gl_SCISSOR_TEST = 0x0C11
-gl_MATRIX_INDEX_ARRAY_POINTER_ARB :: GLenum
-gl_MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849
-gl_TEXTURE_HEIGHT :: GLenum
-gl_TEXTURE_HEIGHT = 0x1001
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A
-gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR :: GLenum
-gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = 0x824D
-gl_SUBTRACT_ARB :: GLenum
-gl_SUBTRACT_ARB = 0x84E7
-gl_SAMPLER_BUFFER :: GLenum
-gl_SAMPLER_BUFFER = 0x8DC2
-gl_MAX_COLOR_ATTACHMENTS_EXT :: GLenum
-gl_MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF
-gl_MAX_3D_TEXTURE_SIZE :: GLenum
-gl_MAX_3D_TEXTURE_SIZE = 0x8073
-gl_HISTOGRAM_RED_SIZE :: GLenum
-gl_HISTOGRAM_RED_SIZE = 0x8028
-gl_DEBUG_SOURCE_API :: GLenum
-gl_DEBUG_SOURCE_API = 0x8246
-gl_CND_ATI :: GLenum
-gl_CND_ATI = 0x896A
-gl_FLOAT16_VEC2_NV :: GLenum
-gl_FLOAT16_VEC2_NV = 0x8FF9
-gl_MODULATE_COLOR_IMG :: GLenum
-gl_MODULATE_COLOR_IMG = 0x8C04
-gl_RENDERBUFFER_BINDING_ANGLE :: GLenum
-gl_RENDERBUFFER_BINDING_ANGLE = 0x8CA7
-gl_MAT_EMISSION_BIT_PGI :: GLenum
-gl_MAT_EMISSION_BIT_PGI = 0x00800000
-gl_MAX_NAME_LENGTH :: GLenum
-gl_MAX_NAME_LENGTH = 0x92F6
-gl_OUTPUT_TEXTURE_COORD9_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD9_EXT = 0x87A6
-gl_IMAGE_BINDING_LEVEL :: GLenum
-gl_IMAGE_BINDING_LEVEL = 0x8F3B
-gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F
-gl_MAX_IMAGE_SAMPLES_EXT :: GLenum
-gl_MAX_IMAGE_SAMPLES_EXT = 0x906D
-gl_VARIABLE_C_NV :: GLenum
-gl_VARIABLE_C_NV = 0x8525
-gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
-gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD
-gl_RASTERIZER_DISCARD_NV :: GLenum
-gl_RASTERIZER_DISCARD_NV = 0x8C89
-gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG = 0x93F1
-gl_MAX_DRAW_BUFFERS_ARB :: GLenum
-gl_MAX_DRAW_BUFFERS_ARB = 0x8824
-gl_AUX2 :: GLenum
-gl_AUX2 = 0x040B
-gl_NEGATIVE_Y_EXT :: GLenum
-gl_NEGATIVE_Y_EXT = 0x87DA
-gl_PROXY_TEXTURE_2D_ARRAY_EXT :: GLenum
-gl_PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B
-gl_QUERY_DEPTH_PASS_EVENT_BIT_AMD :: GLenum
-gl_QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001
-gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
-gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8
-gl_CONVOLUTION_BORDER_COLOR_HP :: GLenum
-gl_CONVOLUTION_BORDER_COLOR_HP = 0x8154
-gl_QUERY_COUNTER_BITS_ARB :: GLenum
-gl_QUERY_COUNTER_BITS_ARB = 0x8864
-gl_ISOLINES :: GLenum
-gl_ISOLINES = 0x8E7A
-gl_UNIFORM_ARRAY_STRIDE :: GLenum
-gl_UNIFORM_ARRAY_STRIDE = 0x8A3C
-gl_UNSIGNED_INT_SAMPLER_CUBE_EXT :: GLenum
-gl_UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4
-gl_TESS_EVALUATION_SHADER :: GLenum
-gl_TESS_EVALUATION_SHADER = 0x8E87
-gl_MAP1_COLOR_4 :: GLenum
-gl_MAP1_COLOR_4 = 0x0D90
-gl_LINE_STRIP_ADJACENCY :: GLenum
-gl_LINE_STRIP_ADJACENCY = 0x000B
-gl_TRIANGLES_ADJACENCY :: GLenum
-gl_TRIANGLES_ADJACENCY = 0x000C
-gl_PATH_MODELVIEW_MATRIX_NV :: GLenum
-gl_PATH_MODELVIEW_MATRIX_NV = 0x0BA6
-gl_POST_CONVOLUTION_RED_BIAS :: GLenum
-gl_POST_CONVOLUTION_RED_BIAS = 0x8020
-gl_INSTRUMENT_BUFFER_POINTER_SGIX :: GLenum
-gl_INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180
-gl_SAMPLE_ALPHA_TO_MASK_EXT :: GLenum
-gl_SAMPLE_ALPHA_TO_MASK_EXT = 0x809E
-gl_FOG_COORD_ARRAY_LENGTH_NV :: GLenum
-gl_FOG_COORD_ARRAY_LENGTH_NV = 0x8F32
-gl_SGX_PROGRAM_BINARY_IMG :: GLenum
-gl_SGX_PROGRAM_BINARY_IMG = 0x9130
-gl_CONSTANT_COLOR_EXT :: GLenum
-gl_CONSTANT_COLOR_EXT = 0x8001
-gl_COLOR_ATTACHMENT1 :: GLenum
-gl_COLOR_ATTACHMENT1 = 0x8CE1
-gl_RGB16F :: GLenum
-gl_RGB16F = 0x881B
-gl_3_BYTES_NV :: GLenum
-gl_3_BYTES_NV = 0x1408
-gl_COLOR_BUFFER_BIT6_QCOM :: GLenum
-gl_COLOR_BUFFER_BIT6_QCOM = 0x00000040
-gl_MAX_ELEMENTS_INDICES_EXT :: GLenum
-gl_MAX_ELEMENTS_INDICES_EXT = 0x80E9
-gl_OUTPUT_TEXTURE_COORD21_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD21_EXT = 0x87B2
-gl_POLYGON_STIPPLE :: GLenum
-gl_POLYGON_STIPPLE = 0x0B42
-gl_NEGATIVE_X_EXT :: GLenum
-gl_NEGATIVE_X_EXT = 0x87D9
-gl_COMPRESSED_RGBA_ASTC_8x6_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6
-gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
-gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA
-gl_FIRST_VERTEX_CONVENTION_EXT :: GLenum
-gl_FIRST_VERTEX_CONVENTION_EXT = 0x8E4D
-gl_PATH_FORMAT_PS_NV :: GLenum
-gl_PATH_FORMAT_PS_NV = 0x9071
-gl_DEPTH_STENCIL_EXT :: GLenum
-gl_DEPTH_STENCIL_EXT = 0x84F9
-gl_ALIASED_POINT_SIZE_RANGE :: GLenum
-gl_ALIASED_POINT_SIZE_RANGE = 0x846D
-gl_POINT_SIZE_MAX :: GLenum
-gl_POINT_SIZE_MAX = 0x8127
-gl_INT_SAMPLER_2D_RECT :: GLenum
-gl_INT_SAMPLER_2D_RECT = 0x8DCD
-gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB :: GLenum
-gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3
-gl_1PASS_EXT :: GLenum
-gl_1PASS_EXT = 0x80A1
-gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
-gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39
-gl_CLAMP_FRAGMENT_COLOR :: GLenum
-gl_CLAMP_FRAGMENT_COLOR = 0x891B
-gl_PATH_MODELVIEW_STACK_DEPTH_NV :: GLenum
-gl_PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3
-gl_REG_23_ATI :: GLenum
-gl_REG_23_ATI = 0x8938
-gl_SLUMINANCE_EXT :: GLenum
-gl_SLUMINANCE_EXT = 0x8C46
-gl_SCALE_BY_FOUR_NV :: GLenum
-gl_SCALE_BY_FOUR_NV = 0x853F
-gl_DEPTH_COMPONENT32F_NV :: GLenum
-gl_DEPTH_COMPONENT32F_NV = 0x8DAB
-gl_MAX_TEXTURE_LOD_BIAS :: GLenum
-gl_MAX_TEXTURE_LOD_BIAS = 0x84FD
-gl_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX :: GLenum
-gl_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX = 0x904B
-gl_DISCARD_ATI :: GLenum
-gl_DISCARD_ATI = 0x8763
-gl_DEPTH_COMPONENT32_SGIX :: GLenum
-gl_DEPTH_COMPONENT32_SGIX = 0x81A7
-gl_VERTEX_ARRAY_BINDING_APPLE :: GLenum
-gl_VERTEX_ARRAY_BINDING_APPLE = 0x85B5
-gl_STREAM_DRAW :: GLenum
-gl_STREAM_DRAW = 0x88E0
-gl_STENCIL_ATTACHMENT_OES :: GLenum
-gl_STENCIL_ATTACHMENT_OES = 0x8D20
-gl_SUBPIXEL_PRECISION_BIAS_X_BITS_NV :: GLenum
-gl_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347
-gl_SIGNED_RGB8_NV :: GLenum
-gl_SIGNED_RGB8_NV = 0x86FF
-gl_OBJECT_TYPE :: GLenum
-gl_OBJECT_TYPE = 0x9112
-gl_FUNC_SUBTRACT :: GLenum
-gl_FUNC_SUBTRACT = 0x800A
-gl_VIEW_COMPATIBILITY_CLASS :: GLenum
-gl_VIEW_COMPATIBILITY_CLASS = 0x82B6
-gl_DOMAIN :: GLenum
-gl_DOMAIN = 0x0A02
-gl_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
-gl_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265
-gl_PIXEL_TEX_GEN_SGIX :: GLenum
-gl_PIXEL_TEX_GEN_SGIX = 0x8139
-gl_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX :: GLenum
-gl_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX = 0x9048
-gl_TEXTURE_STENCIL_SIZE :: GLenum
-gl_TEXTURE_STENCIL_SIZE = 0x88F1
-gl_QUERY_ALL_EVENT_BITS_AMD :: GLenum
-gl_QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF
-gl_COMPRESSED_RGBA_ASTC_10x5_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8
-gl_TESS_CONTROL_TEXTURE :: GLenum
-gl_TESS_CONTROL_TEXTURE = 0x829C
-gl_4PASS_3_SGIS :: GLenum
-gl_4PASS_3_SGIS = 0x80A7
-gl_MAX_IMAGE_UNITS :: GLenum
-gl_MAX_IMAGE_UNITS = 0x8F38
-gl_OUTPUT_TEXTURE_COORD6_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD6_EXT = 0x87A3
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9
-gl_COMPILE_AND_EXECUTE :: GLenum
-gl_COMPILE_AND_EXECUTE = 0x1301
-gl_MODELVIEW4_ARB :: GLenum
-gl_MODELVIEW4_ARB = 0x8724
-gl_MULTISAMPLE_BUFFER_BIT5_QCOM :: GLenum
-gl_MULTISAMPLE_BUFFER_BIT5_QCOM = 0x20000000
-gl_TEXTURE27 :: GLenum
-gl_TEXTURE27 = 0x84DB
-gl_STORAGE_SHARED_APPLE :: GLenum
-gl_STORAGE_SHARED_APPLE = 0x85BF
-gl_TEXTURE_COORD_ARRAY_ADDRESS_NV :: GLenum
-gl_TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25
-gl_EDGE_FLAG_ARRAY_EXT :: GLenum
-gl_EDGE_FLAG_ARRAY_EXT = 0x8079
-gl_PATH_DASH_OFFSET_RESET_NV :: GLenum
-gl_PATH_DASH_OFFSET_RESET_NV = 0x90B4
-gl_PALETTE4_RGBA4_OES :: GLenum
-gl_PALETTE4_RGBA4_OES = 0x8B93
-gl_FEEDBACK_BUFFER_TYPE :: GLenum
-gl_FEEDBACK_BUFFER_TYPE = 0x0DF2
-gl_TEXTURE_3D :: GLenum
-gl_TEXTURE_3D = 0x806F
-gl_UNSIGNED_INT_SAMPLER_2D_EXT :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2
-gl_RENDERBUFFER_DEPTH_SIZE_EXT :: GLenum
-gl_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54
-gl_DUAL_ALPHA16_SGIS :: GLenum
-gl_DUAL_ALPHA16_SGIS = 0x8113
-gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001
-gl_MAT_SHININESS_BIT_PGI :: GLenum
-gl_MAT_SHININESS_BIT_PGI = 0x02000000
-gl_4PASS_2_SGIS :: GLenum
-gl_4PASS_2_SGIS = 0x80A6
-gl_READ_FRAMEBUFFER_BINDING_APPLE :: GLenum
-gl_READ_FRAMEBUFFER_BINDING_APPLE = 0x8CAA
-gl_UNSIGNED_SHORT_5_6_5_REV :: GLenum
-gl_UNSIGNED_SHORT_5_6_5_REV = 0x8364
-gl_UNSIGNED_INT_2_10_10_10_REV :: GLenum
-gl_UNSIGNED_INT_2_10_10_10_REV = 0x8368
-gl_RGB2_EXT :: GLenum
-gl_RGB2_EXT = 0x804E
-gl_DEBUG_LOGGED_MESSAGES_ARB :: GLenum
-gl_DEBUG_LOGGED_MESSAGES_ARB = 0x9145
-gl_TEXTURE8 :: GLenum
-gl_TEXTURE8 = 0x84C8
-gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV :: GLenum
-gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D
-gl_RGB5_A1 :: GLenum
-gl_RGB5_A1 = 0x8057
-gl_BUFFER_VARIABLE :: GLenum
-gl_BUFFER_VARIABLE = 0x92E5
-gl_OP_ADD_EXT :: GLenum
-gl_OP_ADD_EXT = 0x8787
-gl_EDGE_FLAG_ARRAY_STRIDE :: GLenum
-gl_EDGE_FLAG_ARRAY_STRIDE = 0x808C
-gl_CLIP_PLANE1_IMG :: GLenum
-gl_CLIP_PLANE1_IMG = 0x3001
-gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB :: GLenum
-gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004
-gl_SMOOTH :: GLenum
-gl_SMOOTH = 0x1D01
-gl_CURRENT_PALETTE_MATRIX_OES :: GLenum
-gl_CURRENT_PALETTE_MATRIX_OES = 0x8843
-gl_TEXTURE_LOD_BIAS :: GLenum
-gl_TEXTURE_LOD_BIAS = 0x8501
-gl_IMAGE_2D_ARRAY :: GLenum
-gl_IMAGE_2D_ARRAY = 0x9053
-gl_RGBA16F_EXT :: GLenum
-gl_RGBA16F_EXT = 0x881A
-gl_BUFFER_ACCESS_OES :: GLenum
-gl_BUFFER_ACCESS_OES = 0x88BB
-gl_MAX_PROGRAM_ENV_PARAMETERS_ARB :: GLenum
-gl_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5
-gl_MEDIUM_FLOAT :: GLenum
-gl_MEDIUM_FLOAT = 0x8DF1
-gl_BLUE_MAX_CLAMP_INGR :: GLenum
-gl_BLUE_MAX_CLAMP_INGR = 0x8566
-gl_INTERPOLATE_ARB :: GLenum
-gl_INTERPOLATE_ARB = 0x8575
-gl_LUMINANCE16F_ARB :: GLenum
-gl_LUMINANCE16F_ARB = 0x881E
-gl_HILO_NV :: GLenum
-gl_HILO_NV = 0x86F4
-gl_ALPHA8_OES :: GLenum
-gl_ALPHA8_OES = 0x803C
-gl_RGB_INTEGER :: GLenum
-gl_RGB_INTEGER = 0x8D98
-gl_CON_29_ATI :: GLenum
-gl_CON_29_ATI = 0x895E
-gl_PLUS_CLAMPED_ALPHA_NV :: GLenum
-gl_PLUS_CLAMPED_ALPHA_NV = 0x92B2
-gl_VIDEO_COLOR_CONVERSION_MIN_NV :: GLenum
-gl_VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B
-gl_INDEX_ARRAY_TYPE :: GLenum
-gl_INDEX_ARRAY_TYPE = 0x8085
-gl_VERTEX_ARRAY_SIZE :: GLenum
-gl_VERTEX_ARRAY_SIZE = 0x807A
-gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT :: GLenum
-gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB
-gl_FRAMEBUFFER_SRGB_EXT :: GLenum
-gl_FRAMEBUFFER_SRGB_EXT = 0x8DB9
-gl_REPLICATE_BORDER_HP :: GLenum
-gl_REPLICATE_BORDER_HP = 0x8153
-gl_VERTEX_ARRAY_BUFFER_BINDING_ARB :: GLenum
-gl_VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896
-gl_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
-gl_COMPRESSED_RGBA8_ETC2_EAC = 0x9278
-gl_MATRIX2_ARB :: GLenum
-gl_MATRIX2_ARB = 0x88C2
-gl_OUTPUT_TEXTURE_COORD19_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD19_EXT = 0x87B0
-gl_TEXTURE_COMPRESSION_HINT :: GLenum
-gl_TEXTURE_COMPRESSION_HINT = 0x84EF
-gl_MATRIX10_ARB :: GLenum
-gl_MATRIX10_ARB = 0x88CA
-gl_LEFT :: GLenum
-gl_LEFT = 0x0406
-gl_FOG_DENSITY :: GLenum
-gl_FOG_DENSITY = 0x0B62
-gl_DEPTH_PASS_INSTRUMENT_MAX_SGIX :: GLenum
-gl_DEPTH_PASS_INSTRUMENT_MAX_SGIX = 0x8312
-gl_REPLACEMENT_CODE_ARRAY_STRIDE_SUN :: GLenum
-gl_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2
-gl_OFFSET_TEXTURE_2D_BIAS_NV :: GLenum
-gl_OFFSET_TEXTURE_2D_BIAS_NV = 0x86E3
-gl_VIDEO_COLOR_CONVERSION_OFFSET_NV :: GLenum
-gl_VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C
-gl_UNPACK_LSB_FIRST :: GLenum
-gl_UNPACK_LSB_FIRST = 0x0CF1
-gl_RGBA4_S3TC :: GLenum
-gl_RGBA4_S3TC = 0x83A3
-gl_UNIFORM_BUFFER_BINDING :: GLenum
-gl_UNIFORM_BUFFER_BINDING = 0x8A28
-gl_DEPTH_SAMPLES_NV :: GLenum
-gl_DEPTH_SAMPLES_NV = 0x932D
-gl_VERTEX_SHADER_BIT_EXT :: GLenum
-gl_VERTEX_SHADER_BIT_EXT = 0x00000001
-gl_RGB16_EXT :: GLenum
-gl_RGB16_EXT = 0x8054
-gl_CULL_FACE :: GLenum
-gl_CULL_FACE = 0x0B44
-gl_RED :: GLenum
-gl_RED = 0x1903
-gl_INVERTED_SCREEN_W_REND :: GLenum
-gl_INVERTED_SCREEN_W_REND = 0x8491
-gl_EQUAL :: GLenum
-gl_EQUAL = 0x0202
-gl_IMAGE_BUFFER_EXT :: GLenum
-gl_IMAGE_BUFFER_EXT = 0x9051
-gl_MATRIX12_ARB :: GLenum
-gl_MATRIX12_ARB = 0x88CC
-gl_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLenum
-gl_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E
-gl_INT8_VEC4_NV :: GLenum
-gl_INT8_VEC4_NV = 0x8FE3
-gl_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB :: GLenum
-gl_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841
-gl_CMYK_EXT :: GLenum
-gl_CMYK_EXT = 0x800C
-gl_VERTEX_ATTRIB_MAP1_ORDER_APPLE :: GLenum
-gl_VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04
-gl_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
-gl_MAX_COLOR_TEXTURE_SAMPLES = 0x910E
-gl_LIGHT3 :: GLenum
-gl_LIGHT3 = 0x4003
-gl_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB :: GLenum
-gl_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A
-gl_TEXTURE_LEQUAL_R_SGIX :: GLenum
-gl_TEXTURE_LEQUAL_R_SGIX = 0x819C
-gl_POINT_SIZE_ARRAY_TYPE_OES :: GLenum
-gl_POINT_SIZE_ARRAY_TYPE_OES = 0x898A
-gl_LESS :: GLenum
-gl_LESS = 0x0201
-gl_XOR_NV :: GLenum
-gl_XOR_NV = 0x1506
-gl_ALPHA8_SNORM :: GLenum
-gl_ALPHA8_SNORM = 0x9014
-gl_DRAW_BUFFER5_NV :: GLenum
-gl_DRAW_BUFFER5_NV = 0x882A
-gl_MAP1_TEXTURE_COORD_2 :: GLenum
-gl_MAP1_TEXTURE_COORD_2 = 0x0D94
-gl_VERTEX_WEIGHT_ARRAY_TYPE_EXT :: GLenum
-gl_VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E
-gl_EVAL_VERTEX_ATTRIB10_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB10_NV = 0x86D0
-gl_PATH_TERMINAL_END_CAP_NV :: GLenum
-gl_PATH_TERMINAL_END_CAP_NV = 0x9078
-gl_DOUBLE_MAT3x4_EXT :: GLenum
-gl_DOUBLE_MAT3x4_EXT = 0x8F4C
-gl_PIXEL_MAP_I_TO_I_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0
-gl_ALL_STATIC_DATA_IBM :: GLenum
-gl_ALL_STATIC_DATA_IBM = 103060
-gl_ACCUM_GREEN_BITS :: GLenum
-gl_ACCUM_GREEN_BITS = 0x0D59
-gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH :: GLenum
-gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC
-gl_OBJECT_LINEAR_NV :: GLenum
-gl_OBJECT_LINEAR_NV = 0x2401
-gl_TESS_CONTROL_SHADER_BIT_EXT :: GLenum
-gl_TESS_CONTROL_SHADER_BIT_EXT = 0x00000008
-gl_DUAL_LUMINANCE12_SGIS :: GLenum
-gl_DUAL_LUMINANCE12_SGIS = 0x8116
-gl_LINEAR_CLIPMAP_LINEAR_SGIX :: GLenum
-gl_LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170
-gl_TEXTURE_MIN_LOD_SGIS :: GLenum
-gl_TEXTURE_MIN_LOD_SGIS = 0x813A
-gl_MIN_SPARSE_LEVEL_AMD :: GLenum
-gl_MIN_SPARSE_LEVEL_AMD = 0x919B
-gl_COMPRESSED_SIGNED_RED_RGTC1_EXT :: GLenum
-gl_COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC
-gl_SWIZZLE_STR_DR_ATI :: GLenum
-gl_SWIZZLE_STR_DR_ATI = 0x8978
-gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC
-gl_STENCIL_REF :: GLenum
-gl_STENCIL_REF = 0x0B97
-gl_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB :: GLenum
-gl_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 0x90EB
-gl_STENCIL_TEST :: GLenum
-gl_STENCIL_TEST = 0x0B90
-gl_MAX_DRAW_BUFFERS :: GLenum
-gl_MAX_DRAW_BUFFERS = 0x8824
-gl_MULTISAMPLE :: GLenum
-gl_MULTISAMPLE = 0x809D
-gl_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F
-gl_R :: GLenum
-gl_R = 0x2002
-gl_PROVOKING_VERTEX :: GLenum
-gl_PROVOKING_VERTEX = 0x8E4F
-gl_STENCIL_CLEAR_VALUE :: GLenum
-gl_STENCIL_CLEAR_VALUE = 0x0B91
-gl_COLOR_INDEX4_EXT :: GLenum
-gl_COLOR_INDEX4_EXT = 0x80E4
-gl_IMAGE_BINDING_FORMAT :: GLenum
-gl_IMAGE_BINDING_FORMAT = 0x906E
-gl_POINT_SPRITE :: GLenum
-gl_POINT_SPRITE = 0x8861
-gl_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
-gl_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E
-gl_IMPLEMENTATION_COLOR_READ_FORMAT_OES :: GLenum
-gl_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B
-gl_COMPILE :: GLenum
-gl_COMPILE = 0x1300
-gl_SIGNED_RGB_NV :: GLenum
-gl_SIGNED_RGB_NV = 0x86FE
-gl_DEBUG_SEVERITY_MEDIUM :: GLenum
-gl_DEBUG_SEVERITY_MEDIUM = 0x9147
-gl_RGBA16_SNORM :: GLenum
-gl_RGBA16_SNORM = 0x8F9B
-gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A
-gl_OBJECT_LINK_STATUS_ARB :: GLenum
-gl_OBJECT_LINK_STATUS_ARB = 0x8B82
-gl_TEXTURE_WRAP_T :: GLenum
-gl_TEXTURE_WRAP_T = 0x2803
-gl_SAMPLE_MASK_EXT :: GLenum
-gl_SAMPLE_MASK_EXT = 0x80A0
-gl_CONTEXT_LOST :: GLenum
-gl_CONTEXT_LOST = 0x0507
-gl_STENCIL_INDEX4 :: GLenum
-gl_STENCIL_INDEX4 = 0x8D47
-gl_POST_COLOR_MATRIX_RED_SCALE :: GLenum
-gl_POST_COLOR_MATRIX_RED_SCALE = 0x80B4
-gl_COMBINER_AB_DOT_PRODUCT_NV :: GLenum
-gl_COMBINER_AB_DOT_PRODUCT_NV = 0x8545
-gl_MAX_RENDERBUFFER_SIZE_OES :: GLenum
-gl_MAX_RENDERBUFFER_SIZE_OES = 0x84E8
-gl_RG :: GLenum
-gl_RG = 0x8227
-gl_INTENSITY16_SNORM :: GLenum
-gl_INTENSITY16_SNORM = 0x901B
-gl_DEBUG_TYPE_ERROR_KHR :: GLenum
-gl_DEBUG_TYPE_ERROR_KHR = 0x824C
-gl_RGB_SCALE_ARB :: GLenum
-gl_RGB_SCALE_ARB = 0x8573
-gl_POINT_BIT :: GLenum
-gl_POINT_BIT = 0x00000002
-gl_ALPHA16I_EXT :: GLenum
-gl_ALPHA16I_EXT = 0x8D8A
-gl_RGBA16UI :: GLenum
-gl_RGBA16UI = 0x8D76
-gl_DEBUG_SEVERITY_MEDIUM_AMD :: GLenum
-gl_DEBUG_SEVERITY_MEDIUM_AMD = 0x9147
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 0x8CD1
-gl_DEPTH_SCALE :: GLenum
-gl_DEPTH_SCALE = 0x0D1E
-gl_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
-gl_ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6
-gl_REFERENCED_BY_VERTEX_SHADER :: GLenum
-gl_REFERENCED_BY_VERTEX_SHADER = 0x9306
-gl_PROGRAM_INSTRUCTIONS_ARB :: GLenum
-gl_PROGRAM_INSTRUCTIONS_ARB = 0x88A0
-gl_COPY_WRITE_BUFFER_BINDING :: GLenum
-gl_COPY_WRITE_BUFFER_BINDING = 0x8F37
-gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9
-gl_ASYNC_HISTOGRAM_SGIX :: GLenum
-gl_ASYNC_HISTOGRAM_SGIX = 0x832C
-gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279
-gl_COLOR_TABLE_INTENSITY_SIZE_SGI :: GLenum
-gl_COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF
-gl_CONTEXT_ROBUST_ACCESS :: GLenum
-gl_CONTEXT_ROBUST_ACCESS = 0x90F3
-gl_DEPTH_COMPONENT32F :: GLenum
-gl_DEPTH_COMPONENT32F = 0x8CAC
-gl_BLEND_EQUATION :: GLenum
-gl_BLEND_EQUATION = 0x8009
-gl_ATOMIC_COUNTER_BUFFER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER = 0x92C0
-gl_VERTEX_ARRAY_COUNT_EXT :: GLenum
-gl_VERTEX_ARRAY_COUNT_EXT = 0x807D
-gl_3DC_XY_AMD :: GLenum
-gl_3DC_XY_AMD = 0x87FA
-gl_UNSIGNED_INT64_VEC3_NV :: GLenum
-gl_UNSIGNED_INT64_VEC3_NV = 0x8FF6
-gl_OUTPUT_TEXTURE_COORD20_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD20_EXT = 0x87B1
-gl_OBJECT_VALIDATE_STATUS_ARB :: GLenum
-gl_OBJECT_VALIDATE_STATUS_ARB = 0x8B83
-gl_VERTEX_ARRAY_RANGE_LENGTH_APPLE :: GLenum
-gl_VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E
-gl_CURRENT_RASTER_COLOR :: GLenum
-gl_CURRENT_RASTER_COLOR = 0x0B04
-gl_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG :: GLenum
-gl_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG = 0x9138
-gl_RGBA4_EXT :: GLenum
-gl_RGBA4_EXT = 0x8056
-gl_LOCATION_COMPONENT :: GLenum
-gl_LOCATION_COMPONENT = 0x934A
-gl_COMPRESSED_LUMINANCE :: GLenum
-gl_COMPRESSED_LUMINANCE = 0x84EA
-gl_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG :: GLenum
-gl_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG = 0x9137
-gl_PROGRAM_LENGTH_ARB :: GLenum
-gl_PROGRAM_LENGTH_ARB = 0x8627
-gl_CONVOLUTION_FILTER_SCALE :: GLenum
-gl_CONVOLUTION_FILTER_SCALE = 0x8014
-gl_STREAM_COPY :: GLenum
-gl_STREAM_COPY = 0x88E2
-gl_FRAGMENT_SHADER_BIT :: GLenum
-gl_FRAGMENT_SHADER_BIT = 0x00000002
-gl_SLICE_ACCUM_SUN :: GLenum
-gl_SLICE_ACCUM_SUN = 0x85CC
-gl_TEXTURE_2D_ARRAY_EXT :: GLenum
-gl_TEXTURE_2D_ARRAY_EXT = 0x8C1A
-gl_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV :: GLenum
-gl_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08
-gl_DEPTH_BUFFER_BIT3_QCOM :: GLenum
-gl_DEPTH_BUFFER_BIT3_QCOM = 0x00000800
-gl_FOG_END :: GLenum
-gl_FOG_END = 0x0B64
-gl_SOFTLIGHT_NV :: GLenum
-gl_SOFTLIGHT_NV = 0x929C
-gl_CON_13_ATI :: GLenum
-gl_CON_13_ATI = 0x894E
-gl_TABLE_TOO_LARGE :: GLenum
-gl_TABLE_TOO_LARGE = 0x8031
-gl_QUERY_BUFFER_BINDING_AMD :: GLenum
-gl_QUERY_BUFFER_BINDING_AMD = 0x9193
-gl_SAMPLE_LOCATION_NV :: GLenum
-gl_SAMPLE_LOCATION_NV = 0x8E50
-gl_PRESENT_TIME_NV :: GLenum
-gl_PRESENT_TIME_NV = 0x8E2A
-gl_NUM_SPARSE_LEVELS_ARB :: GLenum
-gl_NUM_SPARSE_LEVELS_ARB = 0x91AA
-gl_UNSIGNED_INT_IMAGE_2D_RECT_EXT :: GLenum
-gl_UNSIGNED_INT_IMAGE_2D_RECT_EXT = 0x9065
-gl_YCRCB_422_SGIX :: GLenum
-gl_YCRCB_422_SGIX = 0x81BB
-gl_SIGNED_INTENSITY8_NV :: GLenum
-gl_SIGNED_INTENSITY8_NV = 0x8708
-gl_ITALIC_BIT_NV :: GLenum
-gl_ITALIC_BIT_NV = 0x02
-gl_MINMAX_FORMAT_EXT :: GLenum
-gl_MINMAX_FORMAT_EXT = 0x802F
-gl_FRAMEBUFFER_BLEND :: GLenum
-gl_FRAMEBUFFER_BLEND = 0x828B
-gl_DEPTH_BIAS :: GLenum
-gl_DEPTH_BIAS = 0x0D1F
-gl_TEXTURE_STENCIL_SIZE_EXT :: GLenum
-gl_TEXTURE_STENCIL_SIZE_EXT = 0x88F1
-gl_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT :: GLenum
-gl_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT = 0x90CD
-gl_VIEW_CLASS_BPTC_FLOAT :: GLenum
-gl_VIEW_CLASS_BPTC_FLOAT = 0x82D3
-gl_TEXTURE_CLIPMAP_DEPTH_SGIX :: GLenum
-gl_TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176
-gl_CONVOLUTION_HEIGHT_EXT :: GLenum
-gl_CONVOLUTION_HEIGHT_EXT = 0x8019
-gl_OVERLAY_NV :: GLenum
-gl_OVERLAY_NV = 0x9296
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D
-gl_INTENSITY32I_EXT :: GLenum
-gl_INTENSITY32I_EXT = 0x8D85
-gl_TRACK_MATRIX_TRANSFORM_NV :: GLenum
-gl_TRACK_MATRIX_TRANSFORM_NV = 0x8649
-gl_MAX_SAMPLE_MASK_WORDS :: GLenum
-gl_MAX_SAMPLE_MASK_WORDS = 0x8E59
-gl_DYNAMIC_COPY :: GLenum
-gl_DYNAMIC_COPY = 0x88EA
-gl_EVAL_VERTEX_ATTRIB11_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB11_NV = 0x86D1
-gl_MULTIPLY_KHR :: GLenum
-gl_MULTIPLY_KHR = 0x9294
-gl_FRAMEBUFFER_UNDEFINED :: GLenum
-gl_FRAMEBUFFER_UNDEFINED = 0x8219
-gl_RECT_NV :: GLenum
-gl_RECT_NV = 0xF6
-gl_MAX_FRAMEBUFFER_WIDTH :: GLenum
-gl_MAX_FRAMEBUFFER_WIDTH = 0x9315
-gl_RG8_SNORM :: GLenum
-gl_RG8_SNORM = 0x8F95
-gl_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
-gl_VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F
-gl_PACK_IMAGE_HEIGHT :: GLenum
-gl_PACK_IMAGE_HEIGHT = 0x806C
-gl_STENCIL_BACK_VALUE_MASK :: GLenum
-gl_STENCIL_BACK_VALUE_MASK = 0x8CA4
-gl_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB :: GLenum
-gl_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49
-gl_INT16_VEC3_NV :: GLenum
-gl_INT16_VEC3_NV = 0x8FE6
-gl_MAT_COLOR_INDEXES_BIT_PGI :: GLenum
-gl_MAT_COLOR_INDEXES_BIT_PGI = 0x01000000
-gl_CON_2_ATI :: GLenum
-gl_CON_2_ATI = 0x8943
-gl_UNKNOWN_CONTEXT_RESET_EXT :: GLenum
-gl_UNKNOWN_CONTEXT_RESET_EXT = 0x8255
-gl_DT_SCALE_NV :: GLenum
-gl_DT_SCALE_NV = 0x8711
-gl_ARRAY_BUFFER :: GLenum
-gl_ARRAY_BUFFER = 0x8892
-gl_DRAW_BUFFER3_EXT :: GLenum
-gl_DRAW_BUFFER3_EXT = 0x8828
-gl_TEXTURE_LIGHT_EXT :: GLenum
-gl_TEXTURE_LIGHT_EXT = 0x8350
-gl_LINE_WIDTH_RANGE :: GLenum
-gl_LINE_WIDTH_RANGE = 0x0B22
-gl_TEXTURE_BIT :: GLenum
-gl_TEXTURE_BIT = 0x00040000
-gl_MAX_CLIP_DISTANCES_APPLE :: GLenum
-gl_MAX_CLIP_DISTANCES_APPLE = 0x0D32
-gl_COLOR_TABLE_INTENSITY_SIZE :: GLenum
-gl_COLOR_TABLE_INTENSITY_SIZE = 0x80DF
-gl_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
-gl_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B
-gl_COVERAGE_BUFFER_BIT_NV :: GLenum
-gl_COVERAGE_BUFFER_BIT_NV = 0x00008000
-gl_OP_SUB_EXT :: GLenum
-gl_OP_SUB_EXT = 0x8796
-gl_RENDERBUFFER_GREEN_SIZE_EXT :: GLenum
-gl_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51
-gl_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
-gl_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6
-gl_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5
-gl_FASTEST :: GLenum
-gl_FASTEST = 0x1101
-gl_EXPAND_NEGATE_NV :: GLenum
-gl_EXPAND_NEGATE_NV = 0x8539
-gl_COUNTER_RANGE_AMD :: GLenum
-gl_COUNTER_RANGE_AMD = 0x8BC1
-gl_ZERO :: GLenum
-gl_ZERO = 0
-gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT :: GLenum
-gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73
-gl_SECONDARY_COLOR_ARRAY :: GLenum
-gl_SECONDARY_COLOR_ARRAY = 0x845E
-gl_DEPTH_BOUNDS_TEST_EXT :: GLenum
-gl_DEPTH_BOUNDS_TEST_EXT = 0x8890
-gl_SCREEN_COORDINATES_REND :: GLenum
-gl_SCREEN_COORDINATES_REND = 0x8490
-gl_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624
-gl_FUNC_SUBTRACT_OES :: GLenum
-gl_FUNC_SUBTRACT_OES = 0x800A
-gl_TEXTURE29 :: GLenum
-gl_TEXTURE29 = 0x84DD
-gl_PIXEL_TEX_GEN_Q_CEILING_SGIX :: GLenum
-gl_PIXEL_TEX_GEN_Q_CEILING_SGIX = 0x8184
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES = 0x93E4
-gl_COMPRESSED_RGB :: GLenum
-gl_COMPRESSED_RGB = 0x84ED
-gl_MAX_ELEMENTS_VERTICES_EXT :: GLenum
-gl_MAX_ELEMENTS_VERTICES_EXT = 0x80E8
-gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85
-gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
-gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D
-gl_UNSIGNED_INT :: GLenum
-gl_UNSIGNED_INT = 0x1405
-gl_UNPACK_CMYK_HINT_EXT :: GLenum
-gl_UNPACK_CMYK_HINT_EXT = 0x800F
-gl_ALPHA16 :: GLenum
-gl_ALPHA16 = 0x803E
-gl_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
-gl_IMAGE_2D_MULTISAMPLE_EXT = 0x9055
-gl_TEXTURE_4D_BINDING_SGIS :: GLenum
-gl_TEXTURE_4D_BINDING_SGIS = 0x814F
-gl_SUPERSAMPLE_SCALE_Y_NV :: GLenum
-gl_SUPERSAMPLE_SCALE_Y_NV = 0x9373
-gl_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT :: GLenum
-gl_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT = 0x92D5
-gl_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A
-gl_QUERY_RESULT_AVAILABLE :: GLenum
-gl_QUERY_RESULT_AVAILABLE = 0x8867
-gl_COMBINE :: GLenum
-gl_COMBINE = 0x8570
-gl_UNSIGNED_SHORT_15_1_MESA :: GLenum
-gl_UNSIGNED_SHORT_15_1_MESA = 0x8753
-gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLenum
-gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001
-gl_FRAMEBUFFER_SRGB :: GLenum
-gl_FRAMEBUFFER_SRGB = 0x8DB9
-gl_COLOR_RENDERABLE :: GLenum
-gl_COLOR_RENDERABLE = 0x8286
-gl_BLEND_SRC_ALPHA_EXT :: GLenum
-gl_BLEND_SRC_ALPHA_EXT = 0x80CB
-gl_SOURCE2_ALPHA :: GLenum
-gl_SOURCE2_ALPHA = 0x858A
-gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266
-gl_COMBINER7_NV :: GLenum
-gl_COMBINER7_NV = 0x8557
-gl_MAX_COLOR_MATRIX_STACK_DEPTH_SGI :: GLenum
-gl_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3
-gl_FORCE_BLUE_TO_ONE_NV :: GLenum
-gl_FORCE_BLUE_TO_ONE_NV = 0x8860
-gl_COLOR_ATTACHMENT4_NV :: GLenum
-gl_COLOR_ATTACHMENT4_NV = 0x8CE4
-gl_UNPACK_SWAP_BYTES :: GLenum
-gl_UNPACK_SWAP_BYTES = 0x0CF0
-gl_DOUBLE_MAT3x4 :: GLenum
-gl_DOUBLE_MAT3x4 = 0x8F4C
-gl_COLOR_ATTACHMENT9 :: GLenum
-gl_COLOR_ATTACHMENT9 = 0x8CE9
-gl_LUMINANCE8_ALPHA8_OES :: GLenum
-gl_LUMINANCE8_ALPHA8_OES = 0x8045
-gl_OPERAND1_RGB_EXT :: GLenum
-gl_OPERAND1_RGB_EXT = 0x8591
-gl_DOUBLE_VEC3 :: GLenum
-gl_DOUBLE_VEC3 = 0x8FFD
-gl_MATRIX1_NV :: GLenum
-gl_MATRIX1_NV = 0x8631
-gl_AND_INVERTED :: GLenum
-gl_AND_INVERTED = 0x1504
-gl_POINT_SIZE_ARRAY_STRIDE_OES :: GLenum
-gl_POINT_SIZE_ARRAY_STRIDE_OES = 0x898B
-gl_WEIGHT_ARRAY_OES :: GLenum
-gl_WEIGHT_ARRAY_OES = 0x86AD
-gl_TEXTURE7 :: GLenum
-gl_TEXTURE7 = 0x84C7
-gl_MAP_READ_BIT :: GLenum
-gl_MAP_READ_BIT = 0x0001
-gl_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL :: GLenum
-gl_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE
-gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT :: GLenum
-gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE
-gl_GENERATE_MIPMAP :: GLenum
-gl_GENERATE_MIPMAP = 0x8191
-gl_SPOT_CUTOFF :: GLenum
-gl_SPOT_CUTOFF = 0x1206
-gl_TRANSPOSE_PROGRAM_MATRIX_EXT :: GLenum
-gl_TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E
-gl_ORDER :: GLenum
-gl_ORDER = 0x0A01
-gl_TEXTURE_GEN_T :: GLenum
-gl_TEXTURE_GEN_T = 0x0C61
-gl_MAX_SERVER_WAIT_TIMEOUT :: GLenum
-gl_MAX_SERVER_WAIT_TIMEOUT = 0x9111
-gl_REPLACE_OLDEST_SUN :: GLenum
-gl_REPLACE_OLDEST_SUN = 0x0003
-gl_PATH_DASH_ARRAY_COUNT_NV :: GLenum
-gl_PATH_DASH_ARRAY_COUNT_NV = 0x909F
-gl_VIEWPORT_BOUNDS_RANGE_NV :: GLenum
-gl_VIEWPORT_BOUNDS_RANGE_NV = 0x825D
-gl_NEGATIVE_W_EXT :: GLenum
-gl_NEGATIVE_W_EXT = 0x87DC
-gl_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT :: GLenum
-gl_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 0x9068
-gl_VERTEX_SHADER_LOCALS_EXT :: GLenum
-gl_VERTEX_SHADER_LOCALS_EXT = 0x87D3
-gl_TEXTURE_1D_ARRAY :: GLenum
-gl_TEXTURE_1D_ARRAY = 0x8C18
-gl_VIEWPORT_INDEX_PROVOKING_VERTEX_NV :: GLenum
-gl_VIEWPORT_INDEX_PROVOKING_VERTEX_NV = 0x825F
-gl_RENDERBUFFER_SAMPLES_IMG :: GLenum
-gl_RENDERBUFFER_SAMPLES_IMG = 0x9133
-gl_MAX_PROGRAM_NATIVE_ATTRIBS_ARB :: GLenum
-gl_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF
-gl_INVERSE_TRANSPOSE_NV :: GLenum
-gl_INVERSE_TRANSPOSE_NV = 0x862D
-gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
-gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF
-gl_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV :: GLenum
-gl_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0
-gl_ACTIVE_VARYINGS_NV :: GLenum
-gl_ACTIVE_VARYINGS_NV = 0x8C81
-gl_SPRITE_SGIX :: GLenum
-gl_SPRITE_SGIX = 0x8148
-gl_LUMINANCE4_ALPHA4 :: GLenum
-gl_LUMINANCE4_ALPHA4 = 0x8043
-gl_TEXTURE_LOD_BIAS_EXT :: GLenum
-gl_TEXTURE_LOD_BIAS_EXT = 0x8501
-gl_REPLACEMENT_CODE_ARRAY_POINTER_SUN :: GLenum
-gl_REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3
-gl_COMPRESSED_RGBA_ASTC_10x8_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA
-gl_DST_OUT_NV :: GLenum
-gl_DST_OUT_NV = 0x928D
-gl_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
-gl_VERTEX_SHADER_INVARIANTS_EXT = 0x87D1
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV = 0x8C4F
-gl_SRC1_ALPHA :: GLenum
-gl_SRC1_ALPHA = 0x8589
-gl_UNSIGNED_INT_8_8_8_8_EXT :: GLenum
-gl_UNSIGNED_INT_8_8_8_8_EXT = 0x8035
-gl_NAMED_STRING_LENGTH_ARB :: GLenum
-gl_NAMED_STRING_LENGTH_ARB = 0x8DE9
-gl_READ_BUFFER_EXT :: GLenum
-gl_READ_BUFFER_EXT = 0x0C02
-gl_STENCIL_INDEX8_EXT :: GLenum
-gl_STENCIL_INDEX8_EXT = 0x8D48
-gl_ACTIVE_VERTEX_UNITS_ARB :: GLenum
-gl_ACTIVE_VERTEX_UNITS_ARB = 0x86A5
-gl_INT_IMAGE_2D_ARRAY :: GLenum
-gl_INT_IMAGE_2D_ARRAY = 0x905E
-gl_SELECT :: GLenum
-gl_SELECT = 0x1C02
-gl_PROGRAM_NATIVE_TEMPORARIES_ARB :: GLenum
-gl_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6
-gl_PN_TRIANGLES_POINT_MODE_LINEAR_ATI :: GLenum
-gl_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5
-gl_TEXTURE18_ARB :: GLenum
-gl_TEXTURE18_ARB = 0x84D2
-gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI :: GLenum
-gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5
-gl_PROGRAM_RESULT_COMPONENTS_NV :: GLenum
-gl_PROGRAM_RESULT_COMPONENTS_NV = 0x8907
-gl_DIFFERENCE_KHR :: GLenum
-gl_DIFFERENCE_KHR = 0x929E
-gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
-gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F
-gl_MAX_ASYNC_READ_PIXELS_SGIX :: GLenum
-gl_MAX_ASYNC_READ_PIXELS_SGIX = 0x8361
-gl_FLOAT_MAT2x3_NV :: GLenum
-gl_FLOAT_MAT2x3_NV = 0x8B65
-gl_AUX_BUFFERS :: GLenum
-gl_AUX_BUFFERS = 0x0C00
-gl_POST_COLOR_MATRIX_BLUE_SCALE_SGI :: GLenum
-gl_POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6
-gl_ALPHA_FLOAT32_ATI :: GLenum
-gl_ALPHA_FLOAT32_ATI = 0x8816
-gl_TIMEOUT_IGNORED_APPLE :: GLenum
-gl_TIMEOUT_IGNORED_APPLE = 0xFFFFFFFFFFFFFFFF
-gl_STENCIL_INDEX16_EXT :: GLenum
-gl_STENCIL_INDEX16_EXT = 0x8D49
-gl_CURRENT_RASTER_NORMAL_SGIX :: GLenum
-gl_CURRENT_RASTER_NORMAL_SGIX = 0x8406
-gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45
-gl_PIXEL_SUBSAMPLE_4444_SGIX :: GLenum
-gl_PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2
-gl_CLAMP_TO_BORDER_NV :: GLenum
-gl_CLAMP_TO_BORDER_NV = 0x812D
-gl_INT16_VEC2_NV :: GLenum
-gl_INT16_VEC2_NV = 0x8FE5
-gl_IMAGE_2D :: GLenum
-gl_IMAGE_2D = 0x904D
-gl_BLEND_DST_ALPHA_OES :: GLenum
-gl_BLEND_DST_ALPHA_OES = 0x80CA
-gl_DRAW_BUFFER12_EXT :: GLenum
-gl_DRAW_BUFFER12_EXT = 0x8831
-gl_DEBUG_TYPE_MARKER :: GLenum
-gl_DEBUG_TYPE_MARKER = 0x8268
-gl_FLOAT_MAT3x4 :: GLenum
-gl_FLOAT_MAT3x4 = 0x8B68
-gl_ADD_ATI :: GLenum
-gl_ADD_ATI = 0x8963
-gl_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
-gl_UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068
-gl_EVAL_VERTEX_ATTRIB13_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB13_NV = 0x86D3
-gl_TRACE_NAME_MESA :: GLenum
-gl_TRACE_NAME_MESA = 0x8756
-gl_UNPACK_PREMULTIPLY_ALPHA_WEBGL :: GLenum
-gl_UNPACK_PREMULTIPLY_ALPHA_WEBGL = 0x9241
-gl_T2F_N3F_V3F :: GLenum
-gl_T2F_N3F_V3F = 0x2A2B
-gl_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
-gl_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B
-gl_PIXEL_MAP_G_TO_G :: GLenum
-gl_PIXEL_MAP_G_TO_G = 0x0C77
-gl_FOG :: GLenum
-gl_FOG = 0x0B60
-gl_WRITE_PIXEL_DATA_RANGE_POINTER_NV :: GLenum
-gl_WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C
-gl_COMPRESSED_RGB_PVRTC_2BPPV1_IMG :: GLenum
-gl_COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01
-gl_INVERT :: GLenum
-gl_INVERT = 0x150A
-gl_MATRIX_INDEX_ARRAY_STRIDE_ARB :: GLenum
-gl_MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848
-gl_TEXTURE_CLIPMAP_CENTER_SGIX :: GLenum
-gl_TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171
-gl_VERTEX_WEIGHTING_EXT :: GLenum
-gl_VERTEX_WEIGHTING_EXT = 0x8509
-gl_INTERLEAVED_ATTRIBS_NV :: GLenum
-gl_INTERLEAVED_ATTRIBS_NV = 0x8C8C
-gl_REG_18_ATI :: GLenum
-gl_REG_18_ATI = 0x8933
-gl_MODELVIEW20_ARB :: GLenum
-gl_MODELVIEW20_ARB = 0x8734
-gl_STANDARD_FONT_FORMAT_NV :: GLenum
-gl_STANDARD_FONT_FORMAT_NV = 0x936C
-gl_SHADER_STORAGE_BUFFER_BINDING :: GLenum
-gl_SHADER_STORAGE_BUFFER_BINDING = 0x90D3
-gl_MIN_SAMPLE_SHADING_VALUE :: GLenum
-gl_MIN_SAMPLE_SHADING_VALUE = 0x8C37
-gl_MAP2_GRID_DOMAIN :: GLenum
-gl_MAP2_GRID_DOMAIN = 0x0DD2
-gl_MATRIX6_NV :: GLenum
-gl_MATRIX6_NV = 0x8636
-gl_LOSE_CONTEXT_ON_RESET :: GLenum
-gl_LOSE_CONTEXT_ON_RESET = 0x8252
-gl_COPY_READ_BUFFER_NV :: GLenum
-gl_COPY_READ_BUFFER_NV = 0x8F36
-gl_PIXEL_TILE_CACHE_SIZE_SGIX :: GLenum
-gl_PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145
-gl_FEEDBACK_BUFFER_SIZE :: GLenum
-gl_FEEDBACK_BUFFER_SIZE = 0x0DF1
-gl_CLAMP_TO_EDGE :: GLenum
-gl_CLAMP_TO_EDGE = 0x812F
-gl_COLOR_INDEX16_EXT :: GLenum
-gl_COLOR_INDEX16_EXT = 0x80E7
-gl_QUERY_COUNTER_BITS :: GLenum
-gl_QUERY_COUNTER_BITS = 0x8864
-gl_TEXTURE_FREE_MEMORY_ATI :: GLenum
-gl_TEXTURE_FREE_MEMORY_ATI = 0x87FC
-gl_INT64_NV :: GLenum
-gl_INT64_NV = 0x140E
-gl_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C
-gl_TEXTURE_VIEW_MIN_LEVEL_EXT :: GLenum
-gl_TEXTURE_VIEW_MIN_LEVEL_EXT = 0x82DB
-gl_SELECTION_BUFFER_SIZE :: GLenum
-gl_SELECTION_BUFFER_SIZE = 0x0DF4
-gl_POLYGON_TOKEN :: GLenum
-gl_POLYGON_TOKEN = 0x0703
-gl_BLEND_PREMULTIPLIED_SRC_NV :: GLenum
-gl_BLEND_PREMULTIPLIED_SRC_NV = 0x9280
-gl_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG :: GLenum
-gl_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03
-gl_FRONT_FACE :: GLenum
-gl_FRONT_FACE = 0x0B46
-gl_TEXTURE_COORD_ARRAY_EXT :: GLenum
-gl_TEXTURE_COORD_ARRAY_EXT = 0x8078
-gl_ALPHA12_EXT :: GLenum
-gl_ALPHA12_EXT = 0x803D
-gl_RELATIVE_ROUNDED_RECT4_NV :: GLenum
-gl_RELATIVE_ROUNDED_RECT4_NV = 0xED
-gl_COLOR_ATTACHMENT5_EXT :: GLenum
-gl_COLOR_ATTACHMENT5_EXT = 0x8CE5
-gl_COLOR_ENCODING :: GLenum
-gl_COLOR_ENCODING = 0x8296
-gl_DEPTH_COMPONENT16_SGIX :: GLenum
-gl_DEPTH_COMPONENT16_SGIX = 0x81A5
-gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV :: GLenum
-gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54
-gl_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
-gl_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C
-gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX :: GLenum
-gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409
-gl_TEXTURE12_ARB :: GLenum
-gl_TEXTURE12_ARB = 0x84CC
-gl_DEBUG_SEVERITY_MEDIUM_KHR :: GLenum
-gl_DEBUG_SEVERITY_MEDIUM_KHR = 0x9147
-gl_MAX_DEPTH :: GLenum
-gl_MAX_DEPTH = 0x8280
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR_NV = 0x88FE
-gl_SURFACE_REGISTERED_NV :: GLenum
-gl_SURFACE_REGISTERED_NV = 0x86FD
-gl_SPARSE_STORAGE_BIT_ARB :: GLenum
-gl_SPARSE_STORAGE_BIT_ARB = 0x0400
-gl_TEXTURE_COORD_ARRAY_SIZE :: GLenum
-gl_TEXTURE_COORD_ARRAY_SIZE = 0x8088
-gl_COPY_PIXEL_TOKEN :: GLenum
-gl_COPY_PIXEL_TOKEN = 0x0706
-gl_T2F_IUI_N3F_V3F_EXT :: GLenum
-gl_T2F_IUI_N3F_V3F_EXT = 0x81B4
-gl_PROGRAM_POINT_SIZE_EXT :: GLenum
-gl_PROGRAM_POINT_SIZE_EXT = 0x8642
-gl_TEXTURE_MEMORY_LAYOUT_INTEL :: GLenum
-gl_TEXTURE_MEMORY_LAYOUT_INTEL = 0x83FF
-gl_RGBA8_SNORM :: GLenum
-gl_RGBA8_SNORM = 0x8F97
-gl_TEXTURE_ENV_BIAS_SGIX :: GLenum
-gl_TEXTURE_ENV_BIAS_SGIX = 0x80BE
-gl_RGB32I_EXT :: GLenum
-gl_RGB32I_EXT = 0x8D83
-gl_INT_SAMPLER_1D_ARRAY :: GLenum
-gl_INT_SAMPLER_1D_ARRAY = 0x8DCE
-gl_FRAMEBUFFER_UNSUPPORTED :: GLenum
-gl_FRAMEBUFFER_UNSUPPORTED = 0x8CDD
-gl_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
-gl_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87
-gl_RGB32F_EXT :: GLenum
-gl_RGB32F_EXT = 0x8815
-gl_MAX_CUBE_MAP_TEXTURE_SIZE_ARB :: GLenum
-gl_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C
-gl_SHADER_IMAGE_ATOMIC :: GLenum
-gl_SHADER_IMAGE_ATOMIC = 0x82A6
-gl_FRAMEBUFFER_COMPLETE :: GLenum
-gl_FRAMEBUFFER_COMPLETE = 0x8CD5
-gl_MAX_PALETTE_MATRICES_OES :: GLenum
-gl_MAX_PALETTE_MATRICES_OES = 0x8842
-gl_VIRTUAL_PAGE_SIZE_X_AMD :: GLenum
-gl_VIRTUAL_PAGE_SIZE_X_AMD = 0x9195
-gl_PATH_MAX_PROJECTION_STACK_DEPTH_NV :: GLenum
-gl_PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38
-gl_TEXTURE26_ARB :: GLenum
-gl_TEXTURE26_ARB = 0x84DA
-gl_MAX_VIEWPORTS :: GLenum
-gl_MAX_VIEWPORTS = 0x825B
-gl_IMAGE_CUBE_EXT :: GLenum
-gl_IMAGE_CUBE_EXT = 0x9050
-gl_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
-gl_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A
-gl_TEXTURE_BINDING_1D_ARRAY :: GLenum
-gl_TEXTURE_BINDING_1D_ARRAY = 0x8C1C
-gl_STENCIL_WRITEMASK :: GLenum
-gl_STENCIL_WRITEMASK = 0x0B98
-gl_LOGIC_OP :: GLenum
-gl_LOGIC_OP = 0x0BF1
-gl_DEBUG_SEVERITY_LOW_AMD :: GLenum
-gl_DEBUG_SEVERITY_LOW_AMD = 0x9148
-gl_QUAD_LUMINANCE8_SGIS :: GLenum
-gl_QUAD_LUMINANCE8_SGIS = 0x8121
-gl_GEOMETRY_LINKED_INPUT_TYPE_EXT :: GLenum
-gl_GEOMETRY_LINKED_INPUT_TYPE_EXT = 0x8917
-gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB :: GLenum
-gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F
-gl_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
-gl_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA
-gl_SAMPLER_CUBE_MAP_ARRAY_EXT :: GLenum
-gl_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900C
-gl_PATH_COMPUTED_LENGTH_NV :: GLenum
-gl_PATH_COMPUTED_LENGTH_NV = 0x90A0
-gl_FIXED_ONLY :: GLenum
-gl_FIXED_ONLY = 0x891D
-gl_UNPACK_RESAMPLE_SGIX :: GLenum
-gl_UNPACK_RESAMPLE_SGIX = 0x842D
-gl_NUM_SHADER_BINARY_FORMATS :: GLenum
-gl_NUM_SHADER_BINARY_FORMATS = 0x8DF9
-gl_TEXTURE6 :: GLenum
-gl_TEXTURE6 = 0x84C6
-gl_TEXTURE_IMAGE_TYPE :: GLenum
-gl_TEXTURE_IMAGE_TYPE = 0x8290
-gl_COMBINER_AB_OUTPUT_NV :: GLenum
-gl_COMBINER_AB_OUTPUT_NV = 0x854A
-gl_COMPRESSED_ALPHA_ARB :: GLenum
-gl_COMPRESSED_ALPHA_ARB = 0x84E9
-gl_VARIABLE_E_NV :: GLenum
-gl_VARIABLE_E_NV = 0x8527
-gl_MAX_TEXTURE_BUFFER_SIZE_EXT :: GLenum
-gl_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B
-gl_RENDERBUFFER_GREEN_SIZE_OES :: GLenum
-gl_RENDERBUFFER_GREEN_SIZE_OES = 0x8D51
-gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
-gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E
-gl_PERFQUERY_COUNTER_RAW_INTEL :: GLenum
-gl_PERFQUERY_COUNTER_RAW_INTEL = 0x94F4
-gl_SMAPHS30_PROGRAM_BINARY_DMP :: GLenum
-gl_SMAPHS30_PROGRAM_BINARY_DMP = 0x9251
-gl_GENERATE_MIPMAP_SGIS :: GLenum
-gl_GENERATE_MIPMAP_SGIS = 0x8191
-gl_PROXY_HISTOGRAM :: GLenum
-gl_PROXY_HISTOGRAM = 0x8025
-gl_BACK_NORMALS_HINT_PGI :: GLenum
-gl_BACK_NORMALS_HINT_PGI = 0x1A223
-gl_TEXTURE_RESIDENT_EXT :: GLenum
-gl_TEXTURE_RESIDENT_EXT = 0x8067
-gl_INT_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
-gl_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x9060
-gl_SRGB_READ :: GLenum
-gl_SRGB_READ = 0x8297
-gl_FRAGMENT_PROGRAM_CALLBACK_MESA :: GLenum
-gl_FRAGMENT_PROGRAM_CALLBACK_MESA = 0x8BB1
-gl_FONT_NUM_GLYPH_INDICES_BIT_NV :: GLenum
-gl_FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000
-gl_TEXCOORD4_BIT_PGI :: GLenum
-gl_TEXCOORD4_BIT_PGI = 0x80000000
-gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212
-gl_MAX_COLOR_ATTACHMENTS :: GLenum
-gl_MAX_COLOR_ATTACHMENTS = 0x8CDF
-gl_DEBUG_TYPE_PUSH_GROUP_KHR :: GLenum
-gl_DEBUG_TYPE_PUSH_GROUP_KHR = 0x8269
-gl_MAX_SAMPLES_IMG :: GLenum
-gl_MAX_SAMPLES_IMG = 0x9135
-gl_MATRIX_INDEX_ARRAY_SIZE_ARB :: GLenum
-gl_MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846
-gl_FIXED_OES :: GLenum
-gl_FIXED_OES = 0x140C
-gl_TEXTURE_COMPRESSED_ARB :: GLenum
-gl_TEXTURE_COMPRESSED_ARB = 0x86A1
-gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31
-gl_MAX_TEXTURE_COORDS :: GLenum
-gl_MAX_TEXTURE_COORDS = 0x8871
-gl_DEPTH_PASS_INSTRUMENT_SGIX :: GLenum
-gl_DEPTH_PASS_INSTRUMENT_SGIX = 0x8310
-gl_VERTEX_PROGRAM_BINDING_NV :: GLenum
-gl_VERTEX_PROGRAM_BINDING_NV = 0x864A
-gl_PATH_STROKE_MASK_NV :: GLenum
-gl_PATH_STROKE_MASK_NV = 0x9084
-gl_RG_EXT :: GLenum
-gl_RG_EXT = 0x8227
-gl_EFFECTIVE_RASTER_SAMPLES_EXT :: GLenum
-gl_EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C
-gl_QUAD_INTENSITY4_SGIS :: GLenum
-gl_QUAD_INTENSITY4_SGIS = 0x8122
-gl_BINORMAL_ARRAY_TYPE_EXT :: GLenum
-gl_BINORMAL_ARRAY_TYPE_EXT = 0x8440
-gl_MATRIX_INDEX_ARRAY_SIZE_OES :: GLenum
-gl_MATRIX_INDEX_ARRAY_SIZE_OES = 0x8846
-gl_SLIM10U_SGIX :: GLenum
-gl_SLIM10U_SGIX = 0x831E
-gl_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
-gl_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44
-gl_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
-gl_MAX_PROGRAM_TEXEL_OFFSET = 0x8905
-gl_PIXEL_TRANSFORM_2D_EXT :: GLenum
-gl_PIXEL_TRANSFORM_2D_EXT = 0x8330
-gl_DRAW_BUFFER15_EXT :: GLenum
-gl_DRAW_BUFFER15_EXT = 0x8834
-gl_UNSIGNED_INT_IMAGE_CUBE_EXT :: GLenum
-gl_UNSIGNED_INT_IMAGE_CUBE_EXT = 0x9066
-gl_TEXTURE_CUBE_MAP :: GLenum
-gl_TEXTURE_CUBE_MAP = 0x8513
-gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV :: GLenum
-gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5C
-gl_CLIP_NEAR_HINT_PGI :: GLenum
-gl_CLIP_NEAR_HINT_PGI = 0x1A220
-gl_RELATIVE_CUBIC_CURVE_TO_NV :: GLenum
-gl_RELATIVE_CUBIC_CURVE_TO_NV = 0x0D
-gl_LINEAR_SHARPEN_COLOR_SGIS :: GLenum
-gl_LINEAR_SHARPEN_COLOR_SGIS = 0x80AF
-gl_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT :: GLenum
-gl_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3
-gl_MAP2_BINORMAL_EXT :: GLenum
-gl_MAP2_BINORMAL_EXT = 0x8447
-gl_CONTEXT_ROBUST_ACCESS_KHR :: GLenum
-gl_CONTEXT_ROBUST_ACCESS_KHR = 0x90F3
-gl_EVAL_VERTEX_ATTRIB12_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB12_NV = 0x86D2
-gl_TRIANGULAR_NV :: GLenum
-gl_TRIANGULAR_NV = 0x90A5
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC
-gl_SHADER_COMPILER :: GLenum
-gl_SHADER_COMPILER = 0x8DFA
-gl_READ_FRAMEBUFFER_ANGLE :: GLenum
-gl_READ_FRAMEBUFFER_ANGLE = 0x8CA8
-gl_TEXTURE1_ARB :: GLenum
-gl_TEXTURE1_ARB = 0x84C1
-gl_MATRIX5_ARB :: GLenum
-gl_MATRIX5_ARB = 0x88C5
-gl_TOP_LEVEL_ARRAY_STRIDE :: GLenum
-gl_TOP_LEVEL_ARRAY_STRIDE = 0x930D
-gl_FRAGMENT_LIGHT4_SGIX :: GLenum
-gl_FRAGMENT_LIGHT4_SGIX = 0x8410
-gl_MAX_CONVOLUTION_WIDTH :: GLenum
-gl_MAX_CONVOLUTION_WIDTH = 0x801A
-gl_COLOR_TABLE_BLUE_SIZE :: GLenum
-gl_COLOR_TABLE_BLUE_SIZE = 0x80DC
-gl_VIDEO_CAPTURE_FRAME_HEIGHT_NV :: GLenum
-gl_VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039
-gl_LIGHT1 :: GLenum
-gl_LIGHT1 = 0x4001
-gl_MODELVIEW29_ARB :: GLenum
-gl_MODELVIEW29_ARB = 0x873D
-gl_HISTOGRAM_ALPHA_SIZE_EXT :: GLenum
-gl_HISTOGRAM_ALPHA_SIZE_EXT = 0x802B
-gl_NUM_EXTENSIONS :: GLenum
-gl_NUM_EXTENSIONS = 0x821D
-gl_VERTEX_SUBROUTINE :: GLenum
-gl_VERTEX_SUBROUTINE = 0x92E8
-gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT :: GLenum
-gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29
-gl_RGBA32F :: GLenum
-gl_RGBA32F = 0x8814
-gl_DEPTH_BUFFER_BIT7_QCOM :: GLenum
-gl_DEPTH_BUFFER_BIT7_QCOM = 0x00008000
-gl_TEXTURE_BINDING_RENDERBUFFER_NV :: GLenum
-gl_TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53
-gl_ALPHA_SNORM :: GLenum
-gl_ALPHA_SNORM = 0x9010
-gl_PROGRAM_OUTPUT :: GLenum
-gl_PROGRAM_OUTPUT = 0x92E4
-gl_C4UB_V3F :: GLenum
-gl_C4UB_V3F = 0x2A23
-gl_CLEAR :: GLenum
-gl_CLEAR = 0x1500
-gl_INTERNALFORMAT_DEPTH_SIZE :: GLenum
-gl_INTERNALFORMAT_DEPTH_SIZE = 0x8275
-gl_ACTIVE_VARIABLES :: GLenum
-gl_ACTIVE_VARIABLES = 0x9305
-gl_TEXTURE17_ARB :: GLenum
-gl_TEXTURE17_ARB = 0x84D1
-gl_SAMPLES_ARB :: GLenum
-gl_SAMPLES_ARB = 0x80A9
-gl_INDEX_TEST_FUNC_EXT :: GLenum
-gl_INDEX_TEST_FUNC_EXT = 0x81B6
-gl_MAX_SAMPLES :: GLenum
-gl_MAX_SAMPLES = 0x8D57
-gl_DUAL_INTENSITY12_SGIS :: GLenum
-gl_DUAL_INTENSITY12_SGIS = 0x811A
-gl_TEXTURE_DEFORMATION_BIT_SGIX :: GLenum
-gl_TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001
-gl_COMBINER0_NV :: GLenum
-gl_COMBINER0_NV = 0x8550
-gl_MAX_ACTIVE_LIGHTS_SGIX :: GLenum
-gl_MAX_ACTIVE_LIGHTS_SGIX = 0x8405
-gl_DSDT8_MAG8_NV :: GLenum
-gl_DSDT8_MAG8_NV = 0x870A
-gl_SAMPLE_COVERAGE_VALUE_ARB :: GLenum
-gl_SAMPLE_COVERAGE_VALUE_ARB = 0x80AA
-gl_PIXEL_MAP_I_TO_A_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5
-gl_FONT_ASCENDER_BIT_NV :: GLenum
-gl_FONT_ASCENDER_BIT_NV = 0x00200000
-gl_MATRIX_STRIDE :: GLenum
-gl_MATRIX_STRIDE = 0x92FF
-gl_COMPILE_STATUS :: GLenum
-gl_COMPILE_STATUS = 0x8B81
-gl_MAX_MODELVIEW_STACK_DEPTH :: GLenum
-gl_MAX_MODELVIEW_STACK_DEPTH = 0x0D36
-gl_POST_COLOR_MATRIX_ALPHA_BIAS_SGI :: GLenum
-gl_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB
-gl_OP_FRAC_EXT :: GLenum
-gl_OP_FRAC_EXT = 0x8789
-gl_MATRIX2_NV :: GLenum
-gl_MATRIX2_NV = 0x8632
-gl_IMAGE_2D_RECT_EXT :: GLenum
-gl_IMAGE_2D_RECT_EXT = 0x904F
-gl_MATRIX21_ARB :: GLenum
-gl_MATRIX21_ARB = 0x88D5
-gl_EVAL_VERTEX_ATTRIB8_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB8_NV = 0x86CE
-gl_UNSIGNED_INT16_VEC2_NV :: GLenum
-gl_UNSIGNED_INT16_VEC2_NV = 0x8FF1
-gl_OPERAND2_RGB_EXT :: GLenum
-gl_OPERAND2_RGB_EXT = 0x8592
-gl_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
-gl_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B
-gl_BUFFER_MAPPED_ARB :: GLenum
-gl_BUFFER_MAPPED_ARB = 0x88BC
-gl_CLAMP :: GLenum
-gl_CLAMP = 0x2900
-gl_MATRIX16_ARB :: GLenum
-gl_MATRIX16_ARB = 0x88D0
-gl_MAX_VERTEX_SHADER_LOCALS_EXT :: GLenum
-gl_MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9
-gl_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
-gl_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF
-gl_MODELVIEW26_ARB :: GLenum
-gl_MODELVIEW26_ARB = 0x873A
-gl_VERTEX_ATTRIB_ARRAY_UNIFIED_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E
-gl_DEPTH_TEST :: GLenum
-gl_DEPTH_TEST = 0x0B71
-gl_CURRENT_BINORMAL_EXT :: GLenum
-gl_CURRENT_BINORMAL_EXT = 0x843C
-gl_BEVEL_NV :: GLenum
-gl_BEVEL_NV = 0x90A6
-gl_ALPHA4 :: GLenum
-gl_ALPHA4 = 0x803B
-gl_FRAGMENT_ALPHA_MODULATE_IMG :: GLenum
-gl_FRAGMENT_ALPHA_MODULATE_IMG = 0x8C08
-gl_BOOL_VEC2 :: GLenum
-gl_BOOL_VEC2 = 0x8B57
-gl_TEXTURE21 :: GLenum
-gl_TEXTURE21 = 0x84D5
-gl_RED_MIN_CLAMP_INGR :: GLenum
-gl_RED_MIN_CLAMP_INGR = 0x8560
-gl_PN_TRIANGLES_ATI :: GLenum
-gl_PN_TRIANGLES_ATI = 0x87F0
-gl_PATH_STROKE_WIDTH_NV :: GLenum
-gl_PATH_STROKE_WIDTH_NV = 0x9075
-gl_SPOT_DIRECTION :: GLenum
-gl_SPOT_DIRECTION = 0x1204
-gl_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
-gl_FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D
-gl_TEXTURE_COMPONENTS :: GLenum
-gl_TEXTURE_COMPONENTS = 0x1003
-gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT :: GLenum
-gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E80
-gl_RGBA16 :: GLenum
-gl_RGBA16 = 0x805B
-gl_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
-gl_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D
-gl_FRAME_NV :: GLenum
-gl_FRAME_NV = 0x8E26
-gl_SEPARATE_SPECULAR_COLOR :: GLenum
-gl_SEPARATE_SPECULAR_COLOR = 0x81FA
-gl_DRAW_BUFFER0_ARB :: GLenum
-gl_DRAW_BUFFER0_ARB = 0x8825
-gl_HSL_SATURATION_NV :: GLenum
-gl_HSL_SATURATION_NV = 0x92AE
-gl_DRAW_BUFFER4_ARB :: GLenum
-gl_DRAW_BUFFER4_ARB = 0x8829
-gl_VERTEX_ARRAY_LENGTH_NV :: GLenum
-gl_VERTEX_ARRAY_LENGTH_NV = 0x8F2B
-gl_PATH_MAX_MODELVIEW_STACK_DEPTH_NV :: GLenum
-gl_PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36
-gl_TEXTURE_HI_SIZE_NV :: GLenum
-gl_TEXTURE_HI_SIZE_NV = 0x871B
-gl_MAX_WIDTH :: GLenum
-gl_MAX_WIDTH = 0x827E
-gl_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
-gl_MAX_DEBUG_MESSAGE_LENGTH = 0x9143
-gl_PIXEL_MAP_I_TO_B_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4
-gl_LAST_VERTEX_CONVENTION :: GLenum
-gl_LAST_VERTEX_CONVENTION = 0x8E4E
-gl_IMAGE_1D_EXT :: GLenum
-gl_IMAGE_1D_EXT = 0x904C
-gl_VIDEO_BUFFER_BINDING_NV :: GLenum
-gl_VIDEO_BUFFER_BINDING_NV = 0x9021
-gl_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB :: GLenum
-gl_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344
-gl_MAX_EXT :: GLenum
-gl_MAX_EXT = 0x8008
-gl_EIGHTH_BIT_ATI :: GLenum
-gl_EIGHTH_BIT_ATI = 0x00000020
-gl_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV :: GLenum
-gl_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A
-gl_RENDERBUFFER_WIDTH_EXT :: GLenum
-gl_RENDERBUFFER_WIDTH_EXT = 0x8D42
-gl_SAMPLE_MASK_VALUE_SGIS :: GLenum
-gl_SAMPLE_MASK_VALUE_SGIS = 0x80AA
-gl_ZOOM_Y :: GLenum
-gl_ZOOM_Y = 0x0D17
-gl_PIXEL_MAP_I_TO_A :: GLenum
-gl_PIXEL_MAP_I_TO_A = 0x0C75
-gl_RGBA32F_EXT :: GLenum
-gl_RGBA32F_EXT = 0x8814
-gl_DEBUG_SEVERITY_NOTIFICATION_KHR :: GLenum
-gl_DEBUG_SEVERITY_NOTIFICATION_KHR = 0x826B
-gl_ABGR_EXT :: GLenum
-gl_ABGR_EXT = 0x8000
-gl_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT :: GLenum
-gl_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336
-gl_NUM_SAMPLE_COUNTS :: GLenum
-gl_NUM_SAMPLE_COUNTS = 0x9380
-gl_RENDERBUFFER_FREE_MEMORY_ATI :: GLenum
-gl_RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD
-gl_LINEAR_SHARPEN_ALPHA_SGIS :: GLenum
-gl_LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE
-gl_LINE_TOKEN :: GLenum
-gl_LINE_TOKEN = 0x0702
-gl_DRAW_BUFFER4_NV :: GLenum
-gl_DRAW_BUFFER4_NV = 0x8829
-gl_VERTEX_PROGRAM_POINT_SIZE :: GLenum
-gl_VERTEX_PROGRAM_POINT_SIZE = 0x8642
-gl_INT_IMAGE_2D_RECT_EXT :: GLenum
-gl_INT_IMAGE_2D_RECT_EXT = 0x905A
-gl_QUERY_DEPTH_FAIL_EVENT_BIT_AMD :: GLenum
-gl_QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002
-gl_DEBUG_CALLBACK_FUNCTION :: GLenum
-gl_DEBUG_CALLBACK_FUNCTION = 0x8244
-gl_VERTEX_WEIGHT_ARRAY_SIZE_EXT :: GLenum
-gl_VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D
-gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB :: GLenum
-gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E
-gl_INDEX_ARRAY_EXT :: GLenum
-gl_INDEX_ARRAY_EXT = 0x8077
-gl_OP_RECIP_SQRT_EXT :: GLenum
-gl_OP_RECIP_SQRT_EXT = 0x8795
-gl_TEXTURE_IMMUTABLE_LEVELS :: GLenum
-gl_TEXTURE_IMMUTABLE_LEVELS = 0x82DF
-gl_SAMPLER_2D_ARRAY_EXT :: GLenum
-gl_SAMPLER_2D_ARRAY_EXT = 0x8DC1
-gl_DUP_FIRST_CUBIC_CURVE_TO_NV :: GLenum
-gl_DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2
-gl_FRAGMENT_DEPTH :: GLenum
-gl_FRAGMENT_DEPTH = 0x8452
-gl_PIXEL_TILE_GRID_WIDTH_SGIX :: GLenum
-gl_PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142
-gl_TEXTURE_ENV_COLOR :: GLenum
-gl_TEXTURE_ENV_COLOR = 0x2201
-gl_IMAGE_SCALE_X_HP :: GLenum
-gl_IMAGE_SCALE_X_HP = 0x8155
-gl_FRAMEBUFFER_SRGB_CAPABLE_EXT :: GLenum
-gl_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA
-gl_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX :: GLenum
-gl_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174
-gl_FLOAT_RGBA_MODE_NV :: GLenum
-gl_FLOAT_RGBA_MODE_NV = 0x888E
-gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB :: GLenum
-gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E
-gl_INTENSITY_SNORM :: GLenum
-gl_INTENSITY_SNORM = 0x9013
-gl_RGB32I :: GLenum
-gl_RGB32I = 0x8D83
-gl_SHARED_EDGE_NV :: GLenum
-gl_SHARED_EDGE_NV = 0xC0
-gl_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
-gl_SECONDARY_COLOR_ARRAY_TYPE = 0x845B
-gl_PROJECTION :: GLenum
-gl_PROJECTION = 0x1701
-gl_NORMAL_ARRAY_STRIDE_EXT :: GLenum
-gl_NORMAL_ARRAY_STRIDE_EXT = 0x807F
-gl_MAX_IMAGE_UNITS_EXT :: GLenum
-gl_MAX_IMAGE_UNITS_EXT = 0x8F38
-gl_MAX_PROGRAM_GENERIC_ATTRIBS_NV :: GLenum
-gl_MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5
-gl_RETURN :: GLenum
-gl_RETURN = 0x0102
-gl_EVAL_VERTEX_ATTRIB0_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB0_NV = 0x86C6
-gl_INVERT_RGB_NV :: GLenum
-gl_INVERT_RGB_NV = 0x92A3
-gl_MAX_3D_TEXTURE_SIZE_EXT :: GLenum
-gl_MAX_3D_TEXTURE_SIZE_EXT = 0x8073
-gl_PATH_PROJECTION_STACK_DEPTH_NV :: GLenum
-gl_PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4
-gl_PIXEL_TEX_GEN_MODE_SGIX :: GLenum
-gl_PIXEL_TEX_GEN_MODE_SGIX = 0x832B
-gl_RG16_SNORM_EXT :: GLenum
-gl_RG16_SNORM_EXT = 0x8F99
-gl_QUERY_WAIT_INVERTED :: GLenum
-gl_QUERY_WAIT_INVERTED = 0x8E17
-gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: GLenum
-gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE
-gl_TRACE_PIXELS_BIT_MESA :: GLenum
-gl_TRACE_PIXELS_BIT_MESA = 0x0010
-gl_VERTEX_ARRAY_KHR :: GLenum
-gl_VERTEX_ARRAY_KHR = 0x8074
-gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB :: GLenum
-gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D
-gl_RGB_INTEGER_EXT :: GLenum
-gl_RGB_INTEGER_EXT = 0x8D98
-gl_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
-gl_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2
-gl_MAX_CULL_DISTANCES :: GLenum
-gl_MAX_CULL_DISTANCES = 0x82F9
-gl_LINE_BIT :: GLenum
-gl_LINE_BIT = 0x00000004
-gl_STATE_RESTORE :: GLenum
-gl_STATE_RESTORE = 0x8BDC
-gl_TEXTURE_BUFFER_FORMAT_ARB :: GLenum
-gl_TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E
-gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT :: GLenum
-gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8E85
-gl_PROGRAM_BINARY_FORMATS_OES :: GLenum
-gl_PROGRAM_BINARY_FORMATS_OES = 0x87FF
-gl_MAX_DEBUG_LOGGED_MESSAGES_AMD :: GLenum
-gl_MAX_DEBUG_LOGGED_MESSAGES_AMD = 0x9144
-gl_EDGE_FLAG_ARRAY :: GLenum
-gl_EDGE_FLAG_ARRAY = 0x8079
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56
-gl_MATRIX_INDEX_ARRAY_POINTER_OES :: GLenum
-gl_MATRIX_INDEX_ARRAY_POINTER_OES = 0x8849
-gl_COMPRESSED_RGBA_ASTC_4x4x4_OES :: GLenum
-gl_COMPRESSED_RGBA_ASTC_4x4x4_OES = 0x93C3
-gl_COLOR_ARRAY_BUFFER_BINDING_ARB :: GLenum
-gl_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898
-gl_MAX_CONVOLUTION_HEIGHT_EXT :: GLenum
-gl_MAX_CONVOLUTION_HEIGHT_EXT = 0x801B
-gl_COMPRESSED_RGB_ARB :: GLenum
-gl_COMPRESSED_RGB_ARB = 0x84ED
-gl_SYNC_FLUSH_COMMANDS_BIT_APPLE :: GLenum
-gl_SYNC_FLUSH_COMMANDS_BIT_APPLE = 0x00000001
-gl_GLYPH_HORIZONTAL_BEARING_X_BIT_NV :: GLenum
-gl_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04
-gl_MAP1_VERTEX_4 :: GLenum
-gl_MAP1_VERTEX_4 = 0x0D98
-gl_MATRIX_PALETTE_ARB :: GLenum
-gl_MATRIX_PALETTE_ARB = 0x8840
-gl_TEXTURE_3D_BINDING_EXT :: GLenum
-gl_TEXTURE_3D_BINDING_EXT = 0x806A
-gl_TRANSPOSE_PROJECTION_MATRIX_ARB :: GLenum
-gl_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4
-gl_TEXTURE_MULTI_BUFFER_HINT_SGIX :: GLenum
-gl_TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E
-gl_FUNC_ADD_EXT :: GLenum
-gl_FUNC_ADD_EXT = 0x8006
-gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB :: GLenum
-gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F
-gl_TEXTURE_BORDER_COLOR_EXT :: GLenum
-gl_TEXTURE_BORDER_COLOR_EXT = 0x1004
-gl_TEXTURE_MATERIAL_FACE_EXT :: GLenum
-gl_TEXTURE_MATERIAL_FACE_EXT = 0x8351
-gl_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
-gl_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = 0x90FC
-gl_IMAGE_BINDING_LAYERED_EXT :: GLenum
-gl_IMAGE_BINDING_LAYERED_EXT = 0x8F3C
-gl_PIXEL_MAP_A_TO_A_SIZE :: GLenum
-gl_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9
-gl_VERTEX_SHADER_OPTIMIZED_EXT :: GLenum
-gl_VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4
-gl_MODELVIEW10_ARB :: GLenum
-gl_MODELVIEW10_ARB = 0x872A
-gl_WIDE_LINE_HINT_PGI :: GLenum
-gl_WIDE_LINE_HINT_PGI = 0x1A222
-gl_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516
-gl_MAX_TESS_GEN_LEVEL_EXT :: GLenum
-gl_MAX_TESS_GEN_LEVEL_EXT = 0x8E7E
-gl_PATH_MITER_LIMIT_NV :: GLenum
-gl_PATH_MITER_LIMIT_NV = 0x907A
-gl_DOUBLE_MAT2x3_EXT :: GLenum
-gl_DOUBLE_MAT2x3_EXT = 0x8F49
-gl_DEPTH_EXT :: GLenum
-gl_DEPTH_EXT = 0x1801
-gl_DOT4_ATI :: GLenum
-gl_DOT4_ATI = 0x8967
-gl_INT64_VEC2_NV :: GLenum
-gl_INT64_VEC2_NV = 0x8FE9
-gl_TRIANGLE_STRIP :: GLenum
-gl_TRIANGLE_STRIP = 0x0005
-gl_SAMPLE_MASK_INVERT_SGIS :: GLenum
-gl_SAMPLE_MASK_INVERT_SGIS = 0x80AB
-gl_STATIC_READ_ARB :: GLenum
-gl_STATIC_READ_ARB = 0x88E5
-gl_BUMP_ROT_MATRIX_SIZE_ATI :: GLenum
-gl_BUMP_ROT_MATRIX_SIZE_ATI = 0x8776
-gl_UNPACK_SKIP_IMAGES :: GLenum
-gl_UNPACK_SKIP_IMAGES = 0x806D
-gl_CURRENT_BIT :: GLenum
-gl_CURRENT_BIT = 0x00000001
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD
-gl_DUP_LAST_CUBIC_CURVE_TO_NV :: GLenum
-gl_DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4
-gl_MODELVIEW14_ARB :: GLenum
-gl_MODELVIEW14_ARB = 0x872E
-gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
-gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314
-gl_TEXTURE_RECTANGLE_NV :: GLenum
-gl_TEXTURE_RECTANGLE_NV = 0x84F5
-gl_EVAL_VERTEX_ATTRIB6_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB6_NV = 0x86CC
-gl_MAX_SPARSE_TEXTURE_SIZE_ARB :: GLenum
-gl_MAX_SPARSE_TEXTURE_SIZE_ARB = 0x9198
-gl_TEXTURE_FILTER4_SIZE_SGIS :: GLenum
-gl_TEXTURE_FILTER4_SIZE_SGIS = 0x8147
-gl_RENDERBUFFER_COLOR_SAMPLES_NV :: GLenum
-gl_RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10
-gl_PIXEL_PACK_BUFFER_BINDING :: GLenum
-gl_PIXEL_PACK_BUFFER_BINDING = 0x88ED
-gl_R11F_G11F_B10F :: GLenum
-gl_R11F_G11F_B10F = 0x8C3A
-gl_DETAIL_TEXTURE_2D_SGIS :: GLenum
-gl_DETAIL_TEXTURE_2D_SGIS = 0x8095
-gl_BGRA_EXT :: GLenum
-gl_BGRA_EXT = 0x80E1
-gl_COLOR_TABLE_ALPHA_SIZE :: GLenum
-gl_COLOR_TABLE_ALPHA_SIZE = 0x80DD
-gl_COLOR_BUFFER_BIT4_QCOM :: GLenum
-gl_COLOR_BUFFER_BIT4_QCOM = 0x00000010
-gl_RESCALE_NORMAL_EXT :: GLenum
-gl_RESCALE_NORMAL_EXT = 0x803A
-gl_COMPRESSED_SRGB :: GLenum
-gl_COMPRESSED_SRGB = 0x8C48
-gl_C4F_N3F_V3F :: GLenum
-gl_C4F_N3F_V3F = 0x2A26
-gl_INT_IMAGE_2D_ARRAY_EXT :: GLenum
-gl_INT_IMAGE_2D_ARRAY_EXT = 0x905E
-gl_PACK_IMAGE_DEPTH_SGIS :: GLenum
-gl_PACK_IMAGE_DEPTH_SGIS = 0x8131
-gl_VERTEX_ARRAY_RANGE_POINTER_APPLE :: GLenum
-gl_VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521
-gl_GEOMETRY_SHADER :: GLenum
-gl_GEOMETRY_SHADER = 0x8DD9
-gl_COLOR_TABLE :: GLenum
-gl_COLOR_TABLE = 0x80D0
-gl_COVERAGE_BUFFERS_NV :: GLenum
-gl_COVERAGE_BUFFERS_NV = 0x8ED3
-gl_EDGE_FLAG :: GLenum
-gl_EDGE_FLAG = 0x0B43
-gl_LINE_SMOOTH :: GLenum
-gl_LINE_SMOOTH = 0x0B20
-gl_SAMPLER_1D_ARRAY :: GLenum
-gl_SAMPLER_1D_ARRAY = 0x8DC0
-gl_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: GLenum
-gl_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2
-gl_PREVIOUS_ARB :: GLenum
-gl_PREVIOUS_ARB = 0x8578
-gl_PROXY_POST_CONVOLUTION_COLOR_TABLE :: GLenum
-gl_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4
-gl_RECIP_ADD_SIGNED_ALPHA_IMG :: GLenum
-gl_RECIP_ADD_SIGNED_ALPHA_IMG = 0x8C05
-gl_4PASS_2_EXT :: GLenum
-gl_4PASS_2_EXT = 0x80A6
-gl_ALL_BARRIER_BITS_EXT :: GLenum
-gl_ALL_BARRIER_BITS_EXT = 0xFFFFFFFF
-gl_TEXTURE_VIEW :: GLenum
-gl_TEXTURE_VIEW = 0x82B5
-gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
-gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277
-gl_RENDERBUFFER_BINDING_OES :: GLenum
-gl_RENDERBUFFER_BINDING_OES = 0x8CA7
-gl_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX :: GLenum
-gl_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C
-gl_COMPRESSED_RED :: GLenum
-gl_COMPRESSED_RED = 0x8225
-gl_STATIC_VERTEX_ARRAY_IBM :: GLenum
-gl_STATIC_VERTEX_ARRAY_IBM = 103061
-gl_BLEND_EQUATION_RGB_OES :: GLenum
-gl_BLEND_EQUATION_RGB_OES = 0x8009
-gl_RGBA16_EXT :: GLenum
-gl_RGBA16_EXT = 0x805B
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV = 0x8C4E
-gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
-gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89
-gl_OUTPUT_TEXTURE_COORD14_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD14_EXT = 0x87AB
-gl_RENDERBUFFER_ALPHA_SIZE_OES :: GLenum
-gl_RENDERBUFFER_ALPHA_SIZE_OES = 0x8D53
-gl_COLOR_TABLE_SCALE :: GLenum
-gl_COLOR_TABLE_SCALE = 0x80D6
-gl_DRAW_BUFFER15 :: GLenum
-gl_DRAW_BUFFER15 = 0x8834
-gl_CON_4_ATI :: GLenum
-gl_CON_4_ATI = 0x8945
-gl_CLIP_DISTANCE2 :: GLenum
-gl_CLIP_DISTANCE2 = 0x3002
-gl_DEPTH_CLAMP_NV :: GLenum
-gl_DEPTH_CLAMP_NV = 0x864F
-gl_SRC_IN_NV :: GLenum
-gl_SRC_IN_NV = 0x928A
-gl_RGB8UI :: GLenum
-gl_RGB8UI = 0x8D7D
-gl_SAMPLER_2D_SHADOW :: GLenum
-gl_SAMPLER_2D_SHADOW = 0x8B62
-gl_PIXEL_MAP_R_TO_R_SIZE :: GLenum
-gl_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6
-gl_MAX_TEXTURE_LOD_BIAS_EXT :: GLenum
-gl_MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD
-gl_INVARIANT_EXT :: GLenum
-gl_INVARIANT_EXT = 0x87C2
-gl_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1
-gl_RGBA8 :: GLenum
-gl_RGBA8 = 0x8058
-gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
-gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35
-gl_FLOAT_MAT4x3_NV :: GLenum
-gl_FLOAT_MAT4x3_NV = 0x8B6A
-gl_FENCE_CONDITION_NV :: GLenum
-gl_FENCE_CONDITION_NV = 0x84F4
-gl_COMBINE_ALPHA :: GLenum
-gl_COMBINE_ALPHA = 0x8572
-gl_RED_BIT_ATI :: GLenum
-gl_RED_BIT_ATI = 0x00000001
-gl_RENDERBUFFER_SAMPLES_APPLE :: GLenum
-gl_RENDERBUFFER_SAMPLES_APPLE = 0x8CAB
-gl_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3
-gl_R16 :: GLenum
-gl_R16 = 0x822A
-gl_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
-gl_UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A
-gl_ACTIVE_TEXTURE_ARB :: GLenum
-gl_ACTIVE_TEXTURE_ARB = 0x84E0
-gl_MIRROR_CLAMP_TO_BORDER_EXT :: GLenum
-gl_MIRROR_CLAMP_TO_BORDER_EXT = 0x8912
-gl_MIXED_DEPTH_SAMPLES_SUPPORTED_NV :: GLenum
-gl_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F
-gl_RGB16_SNORM :: GLenum
-gl_RGB16_SNORM = 0x8F9A
-gl_SOURCE0_RGB_ARB :: GLenum
-gl_SOURCE0_RGB_ARB = 0x8580
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES = 0x93E5
-gl_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD :: GLenum
-gl_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = 0x914C
-gl_VIBRANCE_SCALE_NV :: GLenum
-gl_VIBRANCE_SCALE_NV = 0x8713
-gl_MATRIX_INDEX_ARRAY_ARB :: GLenum
-gl_MATRIX_INDEX_ARRAY_ARB = 0x8844
-gl_BLEND_SRC_ALPHA_OES :: GLenum
-gl_BLEND_SRC_ALPHA_OES = 0x80CB
-gl_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
-gl_DEBUG_SOURCE_SHADER_COMPILER = 0x8248
-gl_MIXED_STENCIL_SAMPLES_SUPPORTED_NV :: GLenum
-gl_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330
-gl_TEXTURE_3D_BINDING_OES :: GLenum
-gl_TEXTURE_3D_BINDING_OES = 0x806A
-gl_IMAGE_TEXEL_SIZE :: GLenum
-gl_IMAGE_TEXEL_SIZE = 0x82A7
-gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
-gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F
-gl_TEXTURE_HEIGHT_QCOM :: GLenum
-gl_TEXTURE_HEIGHT_QCOM = 0x8BD3
-gl_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX :: GLenum
-gl_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175
-gl_ACCUM_BUFFER_BIT :: GLenum
-gl_ACCUM_BUFFER_BIT = 0x00000200
-gl_SECONDARY_COLOR_ARRAY_LIST_IBM :: GLenum
-gl_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077
-gl_MODELVIEW2_ARB :: GLenum
-gl_MODELVIEW2_ARB = 0x8722
-gl_ACTIVE_PROGRAM :: GLenum
-gl_ACTIVE_PROGRAM = 0x8259
-gl_INNOCENT_CONTEXT_RESET_EXT :: GLenum
-gl_INNOCENT_CONTEXT_RESET_EXT = 0x8254
-gl_GCCSO_SHADER_BINARY_FJ :: GLenum
-gl_GCCSO_SHADER_BINARY_FJ = 0x9260
-gl_STACK_UNDERFLOW :: GLenum
-gl_STACK_UNDERFLOW = 0x0504
-gl_REG_13_ATI :: GLenum
-gl_REG_13_ATI = 0x892E
-gl_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA :: GLenum
-gl_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB2
-gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT :: GLenum
-gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT = 0x919F
-gl_USE_MISSING_GLYPH_NV :: GLenum
-gl_USE_MISSING_GLYPH_NV = 0x90AA
-gl_LINES :: GLenum
-gl_LINES = 0x0001
-gl_ROUNDED_RECT4_NV :: GLenum
-gl_ROUNDED_RECT4_NV = 0xEC
-gl_RGB_SCALE_EXT :: GLenum
-gl_RGB_SCALE_EXT = 0x8573
-gl_FONT_X_MAX_BOUNDS_BIT_NV :: GLenum
-gl_FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000
-gl_DOT_PRODUCT_TEXTURE_RECTANGLE_NV :: GLenum
-gl_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E
-gl_MODELVIEW :: GLenum
-gl_MODELVIEW = 0x1700
-gl_TEXTURE_LOD_BIAS_T_SGIX :: GLenum
-gl_TEXTURE_LOD_BIAS_T_SGIX = 0x818F
-gl_MAX_DEBUG_LOGGED_MESSAGES_ARB :: GLenum
-gl_MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144
-gl_SECONDARY_COLOR_ARRAY_TYPE_EXT :: GLenum
-gl_SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B
-gl_SAMPLES_PASSED :: GLenum
-gl_SAMPLES_PASSED = 0x8914
-gl_COLOR_COMPONENTS :: GLenum
-gl_COLOR_COMPONENTS = 0x8283
-gl_PREFER_DOUBLEBUFFER_HINT_PGI :: GLenum
-gl_PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8
-gl_COLOR_BUFFER_BIT0_QCOM :: GLenum
-gl_COLOR_BUFFER_BIT0_QCOM = 0x00000001
-gl_INTENSITY_FLOAT16_ATI :: GLenum
-gl_INTENSITY_FLOAT16_ATI = 0x881D
-gl_PACK_CMYK_HINT_EXT :: GLenum
-gl_PACK_CMYK_HINT_EXT = 0x800E
-gl_DRAW_BUFFER9_ATI :: GLenum
-gl_DRAW_BUFFER9_ATI = 0x882E
-gl_SOURCE1_RGB_EXT :: GLenum
-gl_SOURCE1_RGB_EXT = 0x8581
-gl_FONT_MAX_ADVANCE_WIDTH_BIT_NV :: GLenum
-gl_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000
-gl_ELEMENT_ARRAY_TYPE_APPLE :: GLenum
-gl_ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D
-gl_PACK_SKIP_VOLUMES_SGIS :: GLenum
-gl_PACK_SKIP_VOLUMES_SGIS = 0x8130
-gl_LUMINANCE8_ALPHA8_SNORM :: GLenum
-gl_LUMINANCE8_ALPHA8_SNORM = 0x9016
-gl_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
-gl_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A
-gl_SAMPLER_2D_ARRAY_SHADOW_NV :: GLenum
-gl_SAMPLER_2D_ARRAY_SHADOW_NV = 0x8DC4
-gl_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT :: GLenum
-gl_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7
-gl_SAMPLE_COVERAGE_INVERT_ARB :: GLenum
-gl_SAMPLE_COVERAGE_INVERT_ARB = 0x80AB
-gl_FONT_X_MIN_BOUNDS_BIT_NV :: GLenum
-gl_FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000
-gl_INDEX_ARRAY_BUFFER_BINDING_ARB :: GLenum
-gl_INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899
-gl_CONVOLUTION_FILTER_BIAS_EXT :: GLenum
-gl_CONVOLUTION_FILTER_BIAS_EXT = 0x8015
-gl_VERTEX_STATE_PROGRAM_NV :: GLenum
-gl_VERTEX_STATE_PROGRAM_NV = 0x8621
-gl_CURRENT_COLOR :: GLenum
-gl_CURRENT_COLOR = 0x0B00
-gl_SAMPLER_2D_ARRAY_SHADOW :: GLenum
-gl_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4
-gl_CURRENT_MATRIX_INDEX_ARB :: GLenum
-gl_CURRENT_MATRIX_INDEX_ARB = 0x8845
-gl_SET :: GLenum
-gl_SET = 0x150F
-gl_PACK_ALIGNMENT :: GLenum
-gl_PACK_ALIGNMENT = 0x0D05
-gl_PROGRAM_POINT_SIZE :: GLenum
-gl_PROGRAM_POINT_SIZE = 0x8642
-gl_2PASS_0_EXT :: GLenum
-gl_2PASS_0_EXT = 0x80A2
-gl_NORMAL_ARRAY :: GLenum
-gl_NORMAL_ARRAY = 0x8075
-gl_PACK_MAX_COMPRESSED_SIZE_SGIX :: GLenum
-gl_PACK_MAX_COMPRESSED_SIZE_SGIX = 0x831B
-gl_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI :: GLenum
-gl_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4
-gl_UNSIGNED_INT_IMAGE_3D_EXT :: GLenum
-gl_UNSIGNED_INT_IMAGE_3D_EXT = 0x9064
-gl_COMBINER_COMPONENT_USAGE_NV :: GLenum
-gl_COMBINER_COMPONENT_USAGE_NV = 0x8544
-gl_CLAMP_TO_BORDER_EXT :: GLenum
-gl_CLAMP_TO_BORDER_EXT = 0x812D
-gl_DEPTH24_STENCIL8_EXT :: GLenum
-gl_DEPTH24_STENCIL8_EXT = 0x88F0
-gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV :: GLenum
-gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58
-gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C
-gl_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
-gl_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C
-gl_UNSIGNED_INT16_VEC3_NV :: GLenum
-gl_UNSIGNED_INT16_VEC3_NV = 0x8FF2
-gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6
-gl_MODELVIEW11_ARB :: GLenum
-gl_MODELVIEW11_ARB = 0x872B
-gl_DUAL_TEXTURE_SELECT_SGIS :: GLenum
-gl_DUAL_TEXTURE_SELECT_SGIS = 0x8124
-gl_PROXY_TEXTURE_3D_EXT :: GLenum
-gl_PROXY_TEXTURE_3D_EXT = 0x8070
-gl_FRAGMENT_LIGHT6_SGIX :: GLenum
-gl_FRAGMENT_LIGHT6_SGIX = 0x8412
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT = 0x88FE
-gl_DEPTH_STENCIL :: GLenum
-gl_DEPTH_STENCIL = 0x84F9
-gl_DEBUG_SOURCE_THIRD_PARTY :: GLenum
-gl_DEBUG_SOURCE_THIRD_PARTY = 0x8249
-gl_EYE_POINT_SGIS :: GLenum
-gl_EYE_POINT_SGIS = 0x81F4
-gl_HILO16_NV :: GLenum
-gl_HILO16_NV = 0x86F8
-gl_CLEAR_TEXTURE :: GLenum
-gl_CLEAR_TEXTURE = 0x9365
-gl_INTENSITY_FLOAT16_APPLE :: GLenum
-gl_INTENSITY_FLOAT16_APPLE = 0x881D
-gl_TEXTURE_FORMAT_QCOM :: GLenum
-gl_TEXTURE_FORMAT_QCOM = 0x8BD6
-gl_VERTEX_PROGRAM_NV :: GLenum
-gl_VERTEX_PROGRAM_NV = 0x8620
-gl_IMAGE_PIXEL_FORMAT :: GLenum
-gl_IMAGE_PIXEL_FORMAT = 0x82A9
-gl_COMPRESSED_LUMINANCE_ARB :: GLenum
-gl_COMPRESSED_LUMINANCE_ARB = 0x84EA
-gl_MAX_TESS_PATCH_COMPONENTS :: GLenum
-gl_MAX_TESS_PATCH_COMPONENTS = 0x8E84
-gl_READ_PIXEL_DATA_RANGE_NV :: GLenum
-gl_READ_PIXEL_DATA_RANGE_NV = 0x8879
-gl_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
-gl_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6
-gl_LAYOUT_DEFAULT_INTEL :: GLenum
-gl_LAYOUT_DEFAULT_INTEL = 0
-gl_WEIGHT_ARRAY_POINTER_ARB :: GLenum
-gl_WEIGHT_ARRAY_POINTER_ARB = 0x86AC
-gl_GENERIC_ATTRIB_NV :: GLenum
-gl_GENERIC_ATTRIB_NV = 0x8C7D
-gl_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
-gl_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D
-gl_ALPHA_MAX_CLAMP_INGR :: GLenum
-gl_ALPHA_MAX_CLAMP_INGR = 0x8567
-gl_TRANSPOSE_AFFINE_2D_NV :: GLenum
-gl_TRANSPOSE_AFFINE_2D_NV = 0x9096
-gl_CUBIC_CURVE_TO_NV :: GLenum
-gl_CUBIC_CURVE_TO_NV = 0x0C
-gl_VERTEX_ARRAY_ADDRESS_NV :: GLenum
-gl_VERTEX_ARRAY_ADDRESS_NV = 0x8F21
-gl_AUTO_GENERATE_MIPMAP :: GLenum
-gl_AUTO_GENERATE_MIPMAP = 0x8295
-gl_TEXTURE_COORD_ARRAY_LENGTH_NV :: GLenum
-gl_TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F
-gl_OP_MUL_EXT :: GLenum
-gl_OP_MUL_EXT = 0x8786
-gl_EVAL_VERTEX_ATTRIB5_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB5_NV = 0x86CB
-gl_REPLACE :: GLenum
-gl_REPLACE = 0x1E01
-gl_CON_10_ATI :: GLenum
-gl_CON_10_ATI = 0x894B
-gl_TEXTURE_SHADOW :: GLenum
-gl_TEXTURE_SHADOW = 0x82A1
-gl_MAX_PROGRAM_LOOP_DEPTH_NV :: GLenum
-gl_MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7
-gl_TEXTURE_OBJECT_VALID_QCOM :: GLenum
-gl_TEXTURE_OBJECT_VALID_QCOM = 0x8BDB
-gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: GLenum
-gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F
-gl_IMAGE_BINDING_NAME_EXT :: GLenum
-gl_IMAGE_BINDING_NAME_EXT = 0x8F3A
-gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB
-gl_NEGATIVE_ONE_TO_ONE :: GLenum
-gl_NEGATIVE_ONE_TO_ONE = 0x935E
-gl_ALPHA_MIN_SGIX :: GLenum
-gl_ALPHA_MIN_SGIX = 0x8320
-gl_VERTICES_SUBMITTED_ARB :: GLenum
-gl_VERTICES_SUBMITTED_ARB = 0x82EE
-gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT :: GLenum
-gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT = 0x886D
-gl_UNPACK_SKIP_ROWS_EXT :: GLenum
-gl_UNPACK_SKIP_ROWS_EXT = 0x0CF3
-gl_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT :: GLenum
-gl_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE
-gl_MODELVIEW19_ARB :: GLenum
-gl_MODELVIEW19_ARB = 0x8733
-gl_BACK_RIGHT :: GLenum
-gl_BACK_RIGHT = 0x0403
-gl_PERFQUERY_DONOT_FLUSH_INTEL :: GLenum
-gl_PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9
-gl_ALPHA16F_EXT :: GLenum
-gl_ALPHA16F_EXT = 0x881C
-gl_LOSE_CONTEXT_ON_RESET_KHR :: GLenum
-gl_LOSE_CONTEXT_ON_RESET_KHR = 0x8252
-gl_PIXEL_MAP_B_TO_B :: GLenum
-gl_PIXEL_MAP_B_TO_B = 0x0C78
-gl_VIEWPORT :: GLenum
-gl_VIEWPORT = 0x0BA2
-gl_DETAIL_TEXTURE_MODE_SGIS :: GLenum
-gl_DETAIL_TEXTURE_MODE_SGIS = 0x809B
-gl_PROGRAMMABLE_SAMPLE_LOCATION_NV :: GLenum
-gl_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341
-gl_STENCIL_BACK_FUNC_ATI :: GLenum
-gl_STENCIL_BACK_FUNC_ATI = 0x8800
-gl_UNIFORM_SIZE :: GLenum
-gl_UNIFORM_SIZE = 0x8A38
-gl_RGBA_INTEGER :: GLenum
-gl_RGBA_INTEGER = 0x8D99
-gl_MATRIX17_ARB :: GLenum
-gl_MATRIX17_ARB = 0x88D1
-gl_MAX_TEXTURE_BUFFER_SIZE_ARB :: GLenum
-gl_MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B
-gl_DEBUG_OUTPUT_KHR :: GLenum
-gl_DEBUG_OUTPUT_KHR = 0x92E0
-gl_INTENSITY8_SNORM :: GLenum
-gl_INTENSITY8_SNORM = 0x9017
-gl_TEXTURE_WIDTH :: GLenum
-gl_TEXTURE_WIDTH = 0x1000
-gl_UNSIGNED_INT_IMAGE_1D_EXT :: GLenum
-gl_UNSIGNED_INT_IMAGE_1D_EXT = 0x9062
-gl_MAX_SPARSE_TEXTURE_SIZE_AMD :: GLenum
-gl_MAX_SPARSE_TEXTURE_SIZE_AMD = 0x9198
-gl_POLYGON :: GLenum
-gl_POLYGON = 0x0009
-gl_REG_10_ATI :: GLenum
-gl_REG_10_ATI = 0x892B
-gl_INCR :: GLenum
-gl_INCR = 0x1E02
-gl_CONSTANT_ALPHA_EXT :: GLenum
-gl_CONSTANT_ALPHA_EXT = 0x8003
-gl_QUAD_ALPHA8_SGIS :: GLenum
-gl_QUAD_ALPHA8_SGIS = 0x811F
-gl_MAP1_GRID_SEGMENTS :: GLenum
-gl_MAP1_GRID_SEGMENTS = 0x0DD1
-gl_VIEW_CLASS_BPTC_UNORM :: GLenum
-gl_VIEW_CLASS_BPTC_UNORM = 0x82D2
-gl_CON_28_ATI :: GLenum
-gl_CON_28_ATI = 0x895D
-gl_VERTEX_ATTRIB_MAP2_SIZE_APPLE :: GLenum
-gl_VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06
-gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211
-gl_ATC_RGBA_EXPLICIT_ALPHA_AMD :: GLenum
-gl_ATC_RGBA_EXPLICIT_ALPHA_AMD = 0x8C93
-gl_TEXTURE_BUFFER_SIZE_EXT :: GLenum
-gl_TEXTURE_BUFFER_SIZE_EXT = 0x919E
-gl_ONE_EXT :: GLenum
-gl_ONE_EXT = 0x87DE
-gl_TEXTURE_COLOR_TABLE_SGI :: GLenum
-gl_TEXTURE_COLOR_TABLE_SGI = 0x80BC
-gl_CONTINUOUS_AMD :: GLenum
-gl_CONTINUOUS_AMD = 0x9007
-gl_BUMP_TEX_UNITS_ATI :: GLenum
-gl_BUMP_TEX_UNITS_ATI = 0x8778
-gl_ALL_SHADER_BITS :: GLenum
-gl_ALL_SHADER_BITS = 0xFFFFFFFF
-gl_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM :: GLenum
-gl_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM = 0x8FB3
-gl_NUM_VIRTUAL_PAGE_SIZES_ARB :: GLenum
-gl_NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91A8
-gl_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
-gl_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES = 0x93E3
-gl_FLOAT_RGBA16_NV :: GLenum
-gl_FLOAT_RGBA16_NV = 0x888A
-gl_CONST_EYE_NV :: GLenum
-gl_CONST_EYE_NV = 0x86E5
-gl_DRAW_INDIRECT_ADDRESS_NV :: GLenum
-gl_DRAW_INDIRECT_ADDRESS_NV = 0x8F41
-gl_NORMAL_ARRAY_POINTER_EXT :: GLenum
-gl_NORMAL_ARRAY_POINTER_EXT = 0x808F
-gl_ALWAYS :: GLenum
-gl_ALWAYS = 0x0207
-gl_CLIP_PLANE3_IMG :: GLenum
-gl_CLIP_PLANE3_IMG = 0x3003
-gl_REG_0_ATI :: GLenum
-gl_REG_0_ATI = 0x8921
-gl_DUAL_INTENSITY8_SGIS :: GLenum
-gl_DUAL_INTENSITY8_SGIS = 0x8119
-gl_COMPARE_REF_TO_TEXTURE :: GLenum
-gl_COMPARE_REF_TO_TEXTURE = 0x884E
-gl_FRAMEBUFFER_UNSUPPORTED_EXT :: GLenum
-gl_FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD
-gl_STENCIL_BUFFER_BIT6_QCOM :: GLenum
-gl_STENCIL_BUFFER_BIT6_QCOM = 0x00400000
-gl_PIXEL_UNPACK_BUFFER :: GLenum
-gl_PIXEL_UNPACK_BUFFER = 0x88EC
-gl_UNSIGNED_INT_8_8_8_8 :: GLenum
-gl_UNSIGNED_INT_8_8_8_8 = 0x8035
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80
-gl_INDEX_LOGIC_OP :: GLenum
-gl_INDEX_LOGIC_OP = 0x0BF1
-gl_TEXTURE_LUMINANCE_TYPE :: GLenum
-gl_TEXTURE_LUMINANCE_TYPE = 0x8C14
-gl_STENCIL_EXT :: GLenum
-gl_STENCIL_EXT = 0x1802
-gl_VERTEX_ARRAY_RANGE_LENGTH_NV :: GLenum
-gl_VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E
-gl_RGBA16I :: GLenum
-gl_RGBA16I = 0x8D88
-gl_DEPTH_CLAMP_NEAR_AMD :: GLenum
-gl_DEPTH_CLAMP_NEAR_AMD = 0x901E
-gl_PACK_ROW_BYTES_APPLE :: GLenum
-gl_PACK_ROW_BYTES_APPLE = 0x8A15
-gl_FRAGMENT_TEXTURE :: GLenum
-gl_FRAGMENT_TEXTURE = 0x829F
-gl_UNPACK_SKIP_PIXELS :: GLenum
-gl_UNPACK_SKIP_PIXELS = 0x0CF4
-gl_COLOR_TABLE_SCALE_SGI :: GLenum
-gl_COLOR_TABLE_SCALE_SGI = 0x80D6
-gl_COMPRESSED_SIGNED_RG11_EAC :: GLenum
-gl_COMPRESSED_SIGNED_RG11_EAC = 0x9273
-gl_TEXTURE_VIEW_MIN_LAYER_EXT :: GLenum
-gl_TEXTURE_VIEW_MIN_LAYER_EXT = 0x82DD
-gl_REFLECTION_MAP :: GLenum
-gl_REFLECTION_MAP = 0x8512
-gl_AUTO_NORMAL :: GLenum
-gl_AUTO_NORMAL = 0x0D80
-gl_MIN_EXT :: GLenum
-gl_MIN_EXT = 0x8007
-gl_POST_CONVOLUTION_BLUE_SCALE_EXT :: GLenum
-gl_POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E
-gl_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
-gl_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6
-gl_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP :: GLenum
-gl_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162
-gl_DUAL_INTENSITY16_SGIS :: GLenum
-gl_DUAL_INTENSITY16_SGIS = 0x811B
-gl_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
-gl_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C
-gl_UNIFORM_BUFFER_SIZE :: GLenum
-gl_UNIFORM_BUFFER_SIZE = 0x8A2A
-gl_RGBA16F :: GLenum
-gl_RGBA16F = 0x881A
-gl_CLIP_DISTANCE5 :: GLenum
-gl_CLIP_DISTANCE5 = 0x3005
-gl_NUM_FRAGMENT_REGISTERS_ATI :: GLenum
-gl_NUM_FRAGMENT_REGISTERS_ATI = 0x896E
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8
-gl_SAMPLE_COVERAGE_INVERT :: GLenum
-gl_SAMPLE_COVERAGE_INVERT = 0x80AB
-gl_MAX_ELEMENTS_INDICES :: GLenum
-gl_MAX_ELEMENTS_INDICES = 0x80E9
-gl_EVAL_VERTEX_ATTRIB1_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB1_NV = 0x86C7
-gl_MIRROR_CLAMP_TO_EDGE_EXT :: GLenum
-gl_MIRROR_CLAMP_TO_EDGE_EXT = 0x8743
-gl_MAX_DEBUG_MESSAGE_LENGTH_KHR :: GLenum
-gl_MAX_DEBUG_MESSAGE_LENGTH_KHR = 0x9143
-gl_TEXTURE_COORD_ARRAY_TYPE :: GLenum
-gl_TEXTURE_COORD_ARRAY_TYPE = 0x8089
-gl_SINGLE_COLOR :: GLenum
-gl_SINGLE_COLOR = 0x81F9
-gl_RESAMPLE_REPLICATE_SGIX :: GLenum
-gl_RESAMPLE_REPLICATE_SGIX = 0x842E
-gl_SAMPLER_CUBE_SHADOW_EXT :: GLenum
-gl_SAMPLER_CUBE_SHADOW_EXT = 0x8DC5
-gl_COLOR_ATTACHMENT4_EXT :: GLenum
-gl_COLOR_ATTACHMENT4_EXT = 0x8CE4
-gl_TEXTURE_MAX_ANISOTROPY_EXT :: GLenum
-gl_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE
-gl_INTERLACE_OML :: GLenum
-gl_INTERLACE_OML = 0x8980
-gl_EYE_LINEAR_NV :: GLenum
-gl_EYE_LINEAR_NV = 0x2400
-gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR :: GLenum
-gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = 0x824E
-gl_TEXTURE_TARGET :: GLenum
-gl_TEXTURE_TARGET = 0x1006
-gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV :: GLenum
-gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852
-gl_LINE_STIPPLE_PATTERN :: GLenum
-gl_LINE_STIPPLE_PATTERN = 0x0B25
-gl_VERTEX_ATTRIB_ARRAY14_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY14_NV = 0x865E
-gl_COMPRESSED_SRGB_EXT :: GLenum
-gl_COMPRESSED_SRGB_EXT = 0x8C48
-gl_DRAW_BUFFER13_NV :: GLenum
-gl_DRAW_BUFFER13_NV = 0x8832
-gl_BUFFER_USAGE :: GLenum
-gl_BUFFER_USAGE = 0x8765
-gl_OPERAND2_ALPHA :: GLenum
-gl_OPERAND2_ALPHA = 0x859A
-gl_TESS_EVALUATION_SUBROUTINE :: GLenum
-gl_TESS_EVALUATION_SUBROUTINE = 0x92EA
-gl_UNSIGNED_INT_24_8_OES :: GLenum
-gl_UNSIGNED_INT_24_8_OES = 0x84FA
-gl_QUERY_OBJECT_EXT :: GLenum
-gl_QUERY_OBJECT_EXT = 0x9153
-gl_INCR_WRAP_EXT :: GLenum
-gl_INCR_WRAP_EXT = 0x8507
-gl_SRC_OVER_NV :: GLenum
-gl_SRC_OVER_NV = 0x9288
-gl_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
-gl_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B
-gl_PROGRAM_PIPELINE_OBJECT_EXT :: GLenum
-gl_PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F
-gl_CON_23_ATI :: GLenum
-gl_CON_23_ATI = 0x8958
-gl_TRANSFORM_FEEDBACK_BUFFER_START_NV :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84
-gl_DEPTH_COMPONENT16_OES :: GLenum
-gl_DEPTH_COMPONENT16_OES = 0x81A5
-gl_MAP1_VERTEX_ATTRIB10_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A
-gl_PROGRAM_TEMPORARIES_ARB :: GLenum
-gl_PROGRAM_TEMPORARIES_ARB = 0x88A4
-gl_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
-gl_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242
-gl_SAMPLE_COVERAGE_VALUE :: GLenum
-gl_SAMPLE_COVERAGE_VALUE = 0x80AA
-gl_FLOAT_RGB32_NV :: GLenum
-gl_FLOAT_RGB32_NV = 0x8889
-gl_REG_2_ATI :: GLenum
-gl_REG_2_ATI = 0x8923
-gl_LOGIC_OP_MODE :: GLenum
-gl_LOGIC_OP_MODE = 0x0BF0
-gl_STENCIL_BITS :: GLenum
-gl_STENCIL_BITS = 0x0D57
-gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB :: GLenum
-gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D
-gl_MAX_FRAGMENT_LIGHTS_SGIX :: GLenum
-gl_MAX_FRAGMENT_LIGHTS_SGIX = 0x8404
-gl_RGB_SNORM :: GLenum
-gl_RGB_SNORM = 0x8F92
-gl_RESAMPLE_AVERAGE_OML :: GLenum
-gl_RESAMPLE_AVERAGE_OML = 0x8988
-gl_TEXTURE5_ARB :: GLenum
-gl_TEXTURE5_ARB = 0x84C5
-gl_OFFSET_TEXTURE_SCALE_NV :: GLenum
-gl_OFFSET_TEXTURE_SCALE_NV = 0x86E2
-gl_TEXTURE0 :: GLenum
-gl_TEXTURE0 = 0x84C0
-gl_RGB12_EXT :: GLenum
-gl_RGB12_EXT = 0x8053
-gl_OBJECT_LINEAR :: GLenum
-gl_OBJECT_LINEAR = 0x2401
-gl_EXP :: GLenum
-gl_EXP = 0x0800
-gl_INTERLEAVED_ATTRIBS_EXT :: GLenum
-gl_INTERLEAVED_ATTRIBS_EXT = 0x8C8C
-gl_PRIMITIVES_GENERATED_NV :: GLenum
-gl_PRIMITIVES_GENERATED_NV = 0x8C87
-gl_MAX_MULTISAMPLE_COVERAGE_MODES_NV :: GLenum
-gl_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11
-gl_SAMPLER_2D_RECT_SHADOW :: GLenum
-gl_SAMPLER_2D_RECT_SHADOW = 0x8B64
-gl_TEXTURE_VIEW_NUM_LEVELS :: GLenum
-gl_TEXTURE_VIEW_NUM_LEVELS = 0x82DC
-gl_ALPHA32I_EXT :: GLenum
-gl_ALPHA32I_EXT = 0x8D84
-gl_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
-gl_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C
-gl_MAX_PROGRAM_ADDRESS_REGISTERS_ARB :: GLenum
-gl_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1
-gl_SWIZZLE_STQ_ATI :: GLenum
-gl_SWIZZLE_STQ_ATI = 0x8977
-gl_RENDERBUFFER_SAMPLES :: GLenum
-gl_RENDERBUFFER_SAMPLES = 0x8CAB
-gl_SYNC_CL_EVENT_COMPLETE_ARB :: GLenum
-gl_SYNC_CL_EVENT_COMPLETE_ARB = 0x8241
-gl_PRESENT_DURATION_NV :: GLenum
-gl_PRESENT_DURATION_NV = 0x8E2B
-gl_ACTIVE_SUBROUTINES :: GLenum
-gl_ACTIVE_SUBROUTINES = 0x8DE5
-gl_PATH_STENCIL_REF_NV :: GLenum
-gl_PATH_STENCIL_REF_NV = 0x90B8
-gl_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
-gl_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5
-gl_GEOMETRY_INPUT_TYPE :: GLenum
-gl_GEOMETRY_INPUT_TYPE = 0x8917
-gl_CURRENT_MATRIX_NV :: GLenum
-gl_CURRENT_MATRIX_NV = 0x8641
-gl_POST_TEXTURE_FILTER_SCALE_SGIX :: GLenum
-gl_POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A
-gl_DRAW_FRAMEBUFFER :: GLenum
-gl_DRAW_FRAMEBUFFER = 0x8CA9
-gl_OBJECT_POINT_SGIS :: GLenum
-gl_OBJECT_POINT_SGIS = 0x81F5
-gl_STENCIL_BACK_WRITEMASK :: GLenum
-gl_STENCIL_BACK_WRITEMASK = 0x8CA5
-gl_UNSIGNED_INT64_VEC4_NV :: GLenum
-gl_UNSIGNED_INT64_VEC4_NV = 0x8FF7
-gl_VERTEX_ARRAY_STRIDE_EXT :: GLenum
-gl_VERTEX_ARRAY_STRIDE_EXT = 0x807C
-gl_TEXTURE_ALPHA_MODULATE_IMG :: GLenum
-gl_TEXTURE_ALPHA_MODULATE_IMG = 0x8C06
-gl_OP_FLOOR_EXT :: GLenum
-gl_OP_FLOOR_EXT = 0x878F
-gl_TYPE :: GLenum
-gl_TYPE = 0x92FA
-gl_OP_MULTIPLY_MATRIX_EXT :: GLenum
-gl_OP_MULTIPLY_MATRIX_EXT = 0x8798
-gl_RESAMPLE_ZERO_FILL_SGIX :: GLenum
-gl_RESAMPLE_ZERO_FILL_SGIX = 0x842F
-gl_BOOL :: GLenum
-gl_BOOL = 0x8B56
-gl_UNSIGNED_SHORT_5_5_5_1 :: GLenum
-gl_UNSIGNED_SHORT_5_5_5_1 = 0x8034
-gl_DEBUG_SOURCE_OTHER :: GLenum
-gl_DEBUG_SOURCE_OTHER = 0x824B
-gl_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV :: GLenum
-gl_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV = 0x90D0
-gl_MULTISAMPLE_BUFFER_BIT1_QCOM :: GLenum
-gl_MULTISAMPLE_BUFFER_BIT1_QCOM = 0x02000000
-gl_ROUNDED_RECT_NV :: GLenum
-gl_ROUNDED_RECT_NV = 0xE8
-gl_RGB4_S3TC :: GLenum
-gl_RGB4_S3TC = 0x83A1
-gl_MAX_PROGRAM_MATRICES_ARB :: GLenum
-gl_MAX_PROGRAM_MATRICES_ARB = 0x862F
-gl_PATH_GEN_MODE_NV :: GLenum
-gl_PATH_GEN_MODE_NV = 0x90B0
-gl_DRAW_BUFFER0_ATI :: GLenum
-gl_DRAW_BUFFER0_ATI = 0x8825
-gl_MAX_TEXTURE_COORDS_ARB :: GLenum
-gl_MAX_TEXTURE_COORDS_ARB = 0x8871
-gl_RGBA32I_EXT :: GLenum
-gl_RGBA32I_EXT = 0x8D82
-gl_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
-gl_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B
-gl_COLOR_INDEX1_EXT :: GLenum
-gl_COLOR_INDEX1_EXT = 0x80E2
-gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB :: GLenum
-gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809
-gl_STATIC_COPY :: GLenum
-gl_STATIC_COPY = 0x88E6
-gl_NORMAL_MAP_OES :: GLenum
-gl_NORMAL_MAP_OES = 0x8511
-gl_COLOR_ATTACHMENT5 :: GLenum
-gl_COLOR_ATTACHMENT5 = 0x8CE5
-gl_SRGB8_NV :: GLenum
-gl_SRGB8_NV = 0x8C41
-gl_MAX_4D_TEXTURE_SIZE_SGIS :: GLenum
-gl_MAX_4D_TEXTURE_SIZE_SGIS = 0x8138
-gl_COLOR_ATTACHMENT_EXT :: GLenum
-gl_COLOR_ATTACHMENT_EXT = 0x90F0
-gl_STENCIL_BUFFER_BIT5_QCOM :: GLenum
-gl_STENCIL_BUFFER_BIT5_QCOM = 0x00200000
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED
-gl_INVALID_FRAMEBUFFER_OPERATION :: GLenum
-gl_INVALID_FRAMEBUFFER_OPERATION = 0x0506
-gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
-gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC
-gl_DEBUG_SOURCE_API_ARB :: GLenum
-gl_DEBUG_SOURCE_API_ARB = 0x8246
-gl_NEGATE_BIT_ATI :: GLenum
-gl_NEGATE_BIT_ATI = 0x00000004
-gl_DRAW_BUFFER10_ATI :: GLenum
-gl_DRAW_BUFFER10_ATI = 0x882F
-gl_UNSIGNED_SHORT_5_5_5_1_EXT :: GLenum
-gl_UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034
-gl_ELEMENT_ARRAY_UNIFIED_NV :: GLenum
-gl_ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F
-gl_TEXTURE_COORD_ARRAY :: GLenum
-gl_TEXTURE_COORD_ARRAY = 0x8078
-gl_MODELVIEW31_ARB :: GLenum
-gl_MODELVIEW31_ARB = 0x873F
-gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
-gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88
-gl_FRAGMENT_COLOR_EXT :: GLenum
-gl_FRAGMENT_COLOR_EXT = 0x834C
-gl_CULL_VERTEX_EXT :: GLenum
-gl_CULL_VERTEX_EXT = 0x81AA
-gl_CLIENT_PIXEL_STORE_BIT :: GLenum
-gl_CLIENT_PIXEL_STORE_BIT = 0x00000001
-gl_BYTE :: GLenum
-gl_BYTE = 0x1400
-gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
-gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9
-gl_TRANSPOSE_NV :: GLenum
-gl_TRANSPOSE_NV = 0x862C
-gl_AUX1 :: GLenum
-gl_AUX1 = 0x040A
-gl_TEXTURE_SAMPLES :: GLenum
-gl_TEXTURE_SAMPLES = 0x9106
-gl_DEPTH_COMPONENT16 :: GLenum
-gl_DEPTH_COMPONENT16 = 0x81A5
-gl_GUILTY_CONTEXT_RESET_ARB :: GLenum
-gl_GUILTY_CONTEXT_RESET_ARB = 0x8253
-gl_DRAW_FRAMEBUFFER_BINDING_EXT :: GLenum
-gl_DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6
-gl_PROGRAM_ERROR_STRING_NV :: GLenum
-gl_PROGRAM_ERROR_STRING_NV = 0x8874
-gl_COLOR_ATTACHMENT8_EXT :: GLenum
-gl_COLOR_ATTACHMENT8_EXT = 0x8CE8
-gl_DEPTH_COMPONENT24_ARB :: GLenum
-gl_DEPTH_COMPONENT24_ARB = 0x81A6
-gl_COLOR_LOGIC_OP :: GLenum
-gl_COLOR_LOGIC_OP = 0x0BF2
-gl_DEPTH_COMPONENT24 :: GLenum
-gl_DEPTH_COMPONENT24 = 0x81A6
-gl_BACK_LEFT :: GLenum
-gl_BACK_LEFT = 0x0402
-gl_DRAW_BUFFER15_ARB :: GLenum
-gl_DRAW_BUFFER15_ARB = 0x8834
-gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
-gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A
-gl_TRANSFORM_FEEDBACK_BINDING :: GLenum
-gl_TRANSFORM_FEEDBACK_BINDING = 0x8E25
-gl_TESS_GEN_SPACING_EXT :: GLenum
-gl_TESS_GEN_SPACING_EXT = 0x8E77
-gl_OVERLAY_KHR :: GLenum
-gl_OVERLAY_KHR = 0x9296
-gl_PACK_COMPRESSED_SIZE_SGIX :: GLenum
-gl_PACK_COMPRESSED_SIZE_SGIX = 0x831C
-gl_VERTEX_PRECLIP_HINT_SGIX :: GLenum
-gl_VERTEX_PRECLIP_HINT_SGIX = 0x83EF
-gl_UNIFORM_BUFFER :: GLenum
-gl_UNIFORM_BUFFER = 0x8A11
-gl_PARALLEL_ARRAYS_INTEL :: GLenum
-gl_PARALLEL_ARRAYS_INTEL = 0x83F4
-gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT :: GLenum
-gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT = 0x900A
-gl_NORMAL_ARRAY_BUFFER_BINDING_ARB :: GLenum
-gl_NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897
-gl_COMPRESSED_RGBA_ASTC_5x5x4_OES :: GLenum
-gl_COMPRESSED_RGBA_ASTC_5x5x4_OES = 0x93C5
-gl_MAP1_VERTEX_ATTRIB11_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B
-gl_BUFFER_STORAGE_FLAGS :: GLenum
-gl_BUFFER_STORAGE_FLAGS = 0x8220
-gl_FIXED_ONLY_ARB :: GLenum
-gl_FIXED_ONLY_ARB = 0x891D
-gl_COMPUTE_SHADER_INVOCATIONS_ARB :: GLenum
-gl_COMPUTE_SHADER_INVOCATIONS_ARB = 0x82F5
-gl_PROGRAM_TEX_INSTRUCTIONS_ARB :: GLenum
-gl_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806
-gl_IMAGE_BINDING_LAYER_EXT :: GLenum
-gl_IMAGE_BINDING_LAYER_EXT = 0x8F3D
-gl_INTERNALFORMAT_GREEN_SIZE :: GLenum
-gl_INTERNALFORMAT_GREEN_SIZE = 0x8272
-gl_LOW_INT :: GLenum
-gl_LOW_INT = 0x8DF3
-gl_TEXTURE16_ARB :: GLenum
-gl_TEXTURE16_ARB = 0x84D0
-gl_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
-gl_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E
-gl_MATRIX3_NV :: GLenum
-gl_MATRIX3_NV = 0x8633
-gl_DOUBLE_MAT3_EXT :: GLenum
-gl_DOUBLE_MAT3_EXT = 0x8F47
-gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = 0x8210
-gl_READ_WRITE_ARB :: GLenum
-gl_READ_WRITE_ARB = 0x88BA
-gl_PIXEL_TILE_BEST_ALIGNMENT_SGIX :: GLenum
-gl_PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E
-gl_COLOR_SAMPLES_NV :: GLenum
-gl_COLOR_SAMPLES_NV = 0x8E20
-gl_POST_CONVOLUTION_BLUE_SCALE :: GLenum
-gl_POST_CONVOLUTION_BLUE_SCALE = 0x801E
-gl_MVP_MATRIX_EXT :: GLenum
-gl_MVP_MATRIX_EXT = 0x87E3
-gl_POINT_SPRITE_COORD_ORIGIN :: GLenum
-gl_POINT_SPRITE_COORD_ORIGIN = 0x8CA0
-gl_VERTEX_STREAM1_ATI :: GLenum
-gl_VERTEX_STREAM1_ATI = 0x876D
-gl_DRAW_BUFFER5_ARB :: GLenum
-gl_DRAW_BUFFER5_ARB = 0x882A
-gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 0x8CD9
-gl_VERTEX_ATTRIB_ARRAY3_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY3_NV = 0x8653
-gl_MATRIX24_ARB :: GLenum
-gl_MATRIX24_ARB = 0x88D8
-gl_OP_MIN_EXT :: GLenum
-gl_OP_MIN_EXT = 0x878B
-gl_EMBOSS_MAP_NV :: GLenum
-gl_EMBOSS_MAP_NV = 0x855F
-gl_IMAGE_ROTATE_ANGLE_HP :: GLenum
-gl_IMAGE_ROTATE_ANGLE_HP = 0x8159
-gl_CONVOLUTION_HINT_SGIX :: GLenum
-gl_CONVOLUTION_HINT_SGIX = 0x8316
-gl_DOUBLE_VEC2_EXT :: GLenum
-gl_DOUBLE_VEC2_EXT = 0x8FFC
-gl_VARIANT_ARRAY_TYPE_EXT :: GLenum
-gl_VARIANT_ARRAY_TYPE_EXT = 0x87E7
-gl_FRACTIONAL_ODD :: GLenum
-gl_FRACTIONAL_ODD = 0x8E7B
-gl_OBJECT_ACTIVE_ATTRIBUTES_ARB :: GLenum
-gl_OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89
-gl_OUTPUT_TEXTURE_COORD23_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD23_EXT = 0x87B4
-gl_PATH_COORD_COUNT_NV :: GLenum
-gl_PATH_COORD_COUNT_NV = 0x909E
-gl_IMAGE_CLASS_1_X_8 :: GLenum
-gl_IMAGE_CLASS_1_X_8 = 0x82C1
-gl_SRGB8 :: GLenum
-gl_SRGB8 = 0x8C41
-gl_HISTOGRAM_WIDTH_EXT :: GLenum
-gl_HISTOGRAM_WIDTH_EXT = 0x8026
-gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33
-gl_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB :: GLenum
-gl_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 0x9345
-gl_CON_7_ATI :: GLenum
-gl_CON_7_ATI = 0x8948
-gl_INTENSITY16UI_EXT :: GLenum
-gl_INTENSITY16UI_EXT = 0x8D79
-gl_NAME_STACK_DEPTH :: GLenum
-gl_NAME_STACK_DEPTH = 0x0D70
-gl_DOUBLE :: GLenum
-gl_DOUBLE = 0x140A
-gl_RGBA_INTEGER_EXT :: GLenum
-gl_RGBA_INTEGER_EXT = 0x8D99
-gl_PATH_FOG_GEN_MODE_NV :: GLenum
-gl_PATH_FOG_GEN_MODE_NV = 0x90AC
-gl_FAILURE_NV :: GLenum
-gl_FAILURE_NV = 0x9030
-gl_POSITION :: GLenum
-gl_POSITION = 0x1203
-gl_BLEND_EQUATION_ALPHA_OES :: GLenum
-gl_BLEND_EQUATION_ALPHA_OES = 0x883D
-gl_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
-gl_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C
-gl_DRAW_BUFFER2_NV :: GLenum
-gl_DRAW_BUFFER2_NV = 0x8827
-gl_DYNAMIC_STORAGE_BIT :: GLenum
-gl_DYNAMIC_STORAGE_BIT = 0x0100
-gl_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
-gl_MIN_MAP_BUFFER_ALIGNMENT = 0x90BC
-gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44
-gl_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD :: GLenum
-gl_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = 0x914A
-gl_COMPRESSED_RGBA_ASTC_4x4x3_OES :: GLenum
-gl_COMPRESSED_RGBA_ASTC_4x4x3_OES = 0x93C2
-gl_RELATIVE_VERTICAL_LINE_TO_NV :: GLenum
-gl_RELATIVE_VERTICAL_LINE_TO_NV = 0x09
-gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES :: GLenum
-gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES = 0x9277
-gl_LUMINANCE_ALPHA_FLOAT32_ATI :: GLenum
-gl_LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819
-gl_RGBA16UI_EXT :: GLenum
-gl_RGBA16UI_EXT = 0x8D76
-gl_MAP2_VERTEX_ATTRIB3_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673
-gl_LOCAL_CONSTANT_DATATYPE_EXT :: GLenum
-gl_LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED
-gl_UNPACK_IMAGE_HEIGHT_EXT :: GLenum
-gl_UNPACK_IMAGE_HEIGHT_EXT = 0x806E
-gl_LIGHT_MODEL_TWO_SIDE :: GLenum
-gl_LIGHT_MODEL_TWO_SIDE = 0x0B52
-gl_FOG_MODE :: GLenum
-gl_FOG_MODE = 0x0B65
-gl_COLOR4_BIT_PGI :: GLenum
-gl_COLOR4_BIT_PGI = 0x00020000
-gl_NATIVE_GRAPHICS_HANDLE_PGI :: GLenum
-gl_NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202
-gl_FRAGMENT_LIGHTING_SGIX :: GLenum
-gl_FRAGMENT_LIGHTING_SGIX = 0x8400
-gl_UNIFORM_MATRIX_STRIDE :: GLenum
-gl_UNIFORM_MATRIX_STRIDE = 0x8A3D
-gl_UNSIGNED_INT_SAMPLER_BUFFER_EXT :: GLenum
-gl_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8
-gl_VERTEX_ATTRIB_ARRAY_POINTER_ARB :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645
-gl_RENDERBUFFER_BINDING_EXT :: GLenum
-gl_RENDERBUFFER_BINDING_EXT = 0x8CA7
-gl_TEXTURE_BORDER_VALUES_NV :: GLenum
-gl_TEXTURE_BORDER_VALUES_NV = 0x871A
-gl_UNSIGNED_INT_24_8_EXT :: GLenum
-gl_UNSIGNED_INT_24_8_EXT = 0x84FA
-gl_COVERAGE_COMPONENT_NV :: GLenum
-gl_COVERAGE_COMPONENT_NV = 0x8ED0
-gl_LUMINANCE4_ALPHA4_EXT :: GLenum
-gl_LUMINANCE4_ALPHA4_EXT = 0x8043
-gl_CLIP_DISTANCE6 :: GLenum
-gl_CLIP_DISTANCE6 = 0x3006
-gl_MAP2_TEXTURE_COORD_4 :: GLenum
-gl_MAP2_TEXTURE_COORD_4 = 0x0DB6
-gl_FRAGMENT_COLOR_MATERIAL_SGIX :: GLenum
-gl_FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401
-gl_STATIC_DRAW_ARB :: GLenum
-gl_STATIC_DRAW_ARB = 0x88E4
-gl_MODELVIEW21_ARB :: GLenum
-gl_MODELVIEW21_ARB = 0x8735
-gl_COMPRESSED_RGBA :: GLenum
-gl_COMPRESSED_RGBA = 0x84EE
-gl_DRAW_PIXEL_TOKEN :: GLenum
-gl_DRAW_PIXEL_TOKEN = 0x0705
-gl_POST_CONVOLUTION_RED_SCALE_EXT :: GLenum
-gl_POST_CONVOLUTION_RED_SCALE_EXT = 0x801C
-gl_RENDERBUFFER_BLUE_SIZE_EXT :: GLenum
-gl_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52
-gl_SKIP_COMPONENTS4_NV :: GLenum
-gl_SKIP_COMPONENTS4_NV = -3
-gl_FRAMEBUFFER_BARRIER_BIT_EXT :: GLenum
-gl_FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400
-gl_COLOR_TABLE_BIAS :: GLenum
-gl_COLOR_TABLE_BIAS = 0x80D7
-gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC
-gl_COLOR_TABLE_BIAS_SGI :: GLenum
-gl_COLOR_TABLE_BIAS_SGI = 0x80D7
-gl_TEXTURE_STORAGE_HINT_APPLE :: GLenum
-gl_TEXTURE_STORAGE_HINT_APPLE = 0x85BC
-gl_SOURCE2_RGB_EXT :: GLenum
-gl_SOURCE2_RGB_EXT = 0x8582
-gl_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX :: GLenum
-gl_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX = 0x9047
-gl_IMAGE_CUBE :: GLenum
-gl_IMAGE_CUBE = 0x9050
-gl_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
-gl_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247
-gl_SAMPLE_ALPHA_TO_ONE_ARB :: GLenum
-gl_SAMPLE_ALPHA_TO_ONE_ARB = 0x809F
-gl_CURRENT_RASTER_POSITION_VALID :: GLenum
-gl_CURRENT_RASTER_POSITION_VALID = 0x0B08
-gl_POST_CONVOLUTION_COLOR_TABLE :: GLenum
-gl_POST_CONVOLUTION_COLOR_TABLE = 0x80D1
-gl_SLUMINANCE8_EXT :: GLenum
-gl_SLUMINANCE8_EXT = 0x8C47
-gl_R32F_EXT :: GLenum
-gl_R32F_EXT = 0x822E
-gl_CON_15_ATI :: GLenum
-gl_CON_15_ATI = 0x8950
-gl_CLIP_VOLUME_CLIPPING_HINT_EXT :: GLenum
-gl_CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0
-gl_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV :: GLenum
-gl_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3
-gl_SRC1_COLOR :: GLenum
-gl_SRC1_COLOR = 0x88F9
-gl_COLOR_ARRAY_BUFFER_BINDING :: GLenum
-gl_COLOR_ARRAY_BUFFER_BINDING = 0x8898
-gl_DST_NV :: GLenum
-gl_DST_NV = 0x9287
-gl_COLOR3_BIT_PGI :: GLenum
-gl_COLOR3_BIT_PGI = 0x00010000
-gl_UNPACK_CLIENT_STORAGE_APPLE :: GLenum
-gl_UNPACK_CLIENT_STORAGE_APPLE = 0x85B2
-gl_COLOR_SUM_CLAMP_NV :: GLenum
-gl_COLOR_SUM_CLAMP_NV = 0x854F
-gl_RGB_FLOAT16_ATI :: GLenum
-gl_RGB_FLOAT16_ATI = 0x881B
-gl_MAX_GEOMETRY_INPUT_COMPONENTS_EXT :: GLenum
-gl_MAX_GEOMETRY_INPUT_COMPONENTS_EXT = 0x9123
-gl_UNSIGNED_INT_IMAGE_3D :: GLenum
-gl_UNSIGNED_INT_IMAGE_3D = 0x9064
-gl_LUMINANCE8_OES :: GLenum
-gl_LUMINANCE8_OES = 0x8040
-gl_NEAREST_MIPMAP_LINEAR :: GLenum
-gl_NEAREST_MIPMAP_LINEAR = 0x2702
-gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F
-gl_2PASS_1_EXT :: GLenum
-gl_2PASS_1_EXT = 0x80A3
-gl_INTERNALFORMAT_SHARED_SIZE :: GLenum
-gl_INTERNALFORMAT_SHARED_SIZE = 0x8277
-gl_CULL_FACE_MODE :: GLenum
-gl_CULL_FACE_MODE = 0x0B45
-gl_CURRENT_QUERY :: GLenum
-gl_CURRENT_QUERY = 0x8865
-gl_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
-gl_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A
-gl_INDEX_MATERIAL_EXT :: GLenum
-gl_INDEX_MATERIAL_EXT = 0x81B8
-gl_TRANSFORM_FEEDBACK_VARYINGS_NV :: GLenum
-gl_TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83
-gl_TEXTURE_GEN_S :: GLenum
-gl_TEXTURE_GEN_S = 0x0C60
-gl_CONTEXT_RELEASE_BEHAVIOR :: GLenum
-gl_CONTEXT_RELEASE_BEHAVIOR = 0x82FB
-gl_MODELVIEW0_EXT :: GLenum
-gl_MODELVIEW0_EXT = 0x1700
-gl_FLOAT_MAT4x2_NV :: GLenum
-gl_FLOAT_MAT4x2_NV = 0x8B69
-gl_READ_FRAMEBUFFER_BINDING_ANGLE :: GLenum
-gl_READ_FRAMEBUFFER_BINDING_ANGLE = 0x8CAA
-gl_TEXTURE_BINDING_RECTANGLE_ARB :: GLenum
-gl_TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6
-gl_STENCIL_PASS_DEPTH_FAIL :: GLenum
-gl_STENCIL_PASS_DEPTH_FAIL = 0x0B95
-gl_FONT_DESCENDER_BIT_NV :: GLenum
-gl_FONT_DESCENDER_BIT_NV = 0x00400000
-gl_IMAGE_CUBIC_WEIGHT_HP :: GLenum
-gl_IMAGE_CUBIC_WEIGHT_HP = 0x815E
-gl_PROXY_TEXTURE_3D :: GLenum
-gl_PROXY_TEXTURE_3D = 0x8070
-gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5
-gl_ALPHA8I_EXT :: GLenum
-gl_ALPHA8I_EXT = 0x8D90
-gl_TEXTURE_SHARED_SIZE :: GLenum
-gl_TEXTURE_SHARED_SIZE = 0x8C3F
-gl_HISTOGRAM_LUMINANCE_SIZE_EXT :: GLenum
-gl_HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C
-gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB
-gl_ALL_COMPLETED_NV :: GLenum
-gl_ALL_COMPLETED_NV = 0x84F2
-gl_VERTEX_BINDING_BUFFER :: GLenum
-gl_VERTEX_BINDING_BUFFER = 0x8F4F
-gl_IMAGE_2D_EXT :: GLenum
-gl_IMAGE_2D_EXT = 0x904D
-gl_FOG_HINT :: GLenum
-gl_FOG_HINT = 0x0C54
-gl_PATH_STROKE_COVER_MODE_NV :: GLenum
-gl_PATH_STROKE_COVER_MODE_NV = 0x9083
-gl_OPERAND3_RGB_NV :: GLenum
-gl_OPERAND3_RGB_NV = 0x8593
-gl_NEXT_BUFFER_NV :: GLenum
-gl_NEXT_BUFFER_NV = -2
-gl_FLOAT_VEC2 :: GLenum
-gl_FLOAT_VEC2 = 0x8B50
-gl_UNSIGNED_NORMALIZED :: GLenum
-gl_UNSIGNED_NORMALIZED = 0x8C17
-gl_FONT_UNINTELLIGIBLE_NV :: GLenum
-gl_FONT_UNINTELLIGIBLE_NV = 0x936B
-gl_TRANSFORM_FEEDBACK_ATTRIBS_NV :: GLenum
-gl_TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E
-gl_DEPTH_WRITEMASK :: GLenum
-gl_DEPTH_WRITEMASK = 0x0B72
-gl_COLOR_BUFFER_BIT3_QCOM :: GLenum
-gl_COLOR_BUFFER_BIT3_QCOM = 0x00000008
-gl_EDGE_FLAG_ARRAY_POINTER :: GLenum
-gl_EDGE_FLAG_ARRAY_POINTER = 0x8093
-gl_COMPRESSED_RGBA_ASTC_5x5_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2
-gl_CLIP_DISTANCE3_APPLE :: GLenum
-gl_CLIP_DISTANCE3_APPLE = 0x3003
-gl_CLIP_DISTANCE0_APPLE :: GLenum
-gl_CLIP_DISTANCE0_APPLE = 0x3000
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE = 0x8D56
-gl_MAX_DRAW_BUFFERS_NV :: GLenum
-gl_MAX_DRAW_BUFFERS_NV = 0x8824
-gl_DISCARD_NV :: GLenum
-gl_DISCARD_NV = 0x8530
-gl_LUMINANCE8_ALPHA8_EXT :: GLenum
-gl_LUMINANCE8_ALPHA8_EXT = 0x8045
-gl_TIME_ELAPSED :: GLenum
-gl_TIME_ELAPSED = 0x88BF
-gl_VERTEX_ATTRIB_ARRAY11_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY11_NV = 0x865B
-gl_CONSTANT_EXT :: GLenum
-gl_CONSTANT_EXT = 0x8576
-gl_LINE :: GLenum
-gl_LINE = 0x1B01
-gl_MAX_PROGRAM_PARAMETERS_ARB :: GLenum
-gl_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3
-gl_DOUBLE_MAT4x3 :: GLenum
-gl_DOUBLE_MAT4x3 = 0x8F4E
-gl_MAP1_NORMAL :: GLenum
-gl_MAP1_NORMAL = 0x0D92
-gl_RED_INTEGER_EXT :: GLenum
-gl_RED_INTEGER_EXT = 0x8D94
-gl_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB :: GLenum
-gl_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D
-gl_PIXEL_UNPACK_BUFFER_ARB :: GLenum
-gl_PIXEL_UNPACK_BUFFER_ARB = 0x88EC
-gl_SEPARATE_SPECULAR_COLOR_EXT :: GLenum
-gl_SEPARATE_SPECULAR_COLOR_EXT = 0x81FA
-gl_INTENSITY_EXT :: GLenum
-gl_INTENSITY_EXT = 0x8049
-gl_SIGNED_ALPHA_NV :: GLenum
-gl_SIGNED_ALPHA_NV = 0x8705
-gl_TRIANGLE_LIST_SUN :: GLenum
-gl_TRIANGLE_LIST_SUN = 0x81D7
-gl_SAMPLE_PATTERN_EXT :: GLenum
-gl_SAMPLE_PATTERN_EXT = 0x80AC
-gl_R16_SNORM_EXT :: GLenum
-gl_R16_SNORM_EXT = 0x8F98
-gl_GEOMETRY_OUTPUT_TYPE :: GLenum
-gl_GEOMETRY_OUTPUT_TYPE = 0x8918
-gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 0x8CD6
-gl_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB :: GLenum
-gl_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED
-gl_MATRIX20_ARB :: GLenum
-gl_MATRIX20_ARB = 0x88D4
-gl_ISOLINES_EXT :: GLenum
-gl_ISOLINES_EXT = 0x8E7A
-gl_SKIP_COMPONENTS1_NV :: GLenum
-gl_SKIP_COMPONENTS1_NV = -6
-gl_MODELVIEW_STACK_DEPTH :: GLenum
-gl_MODELVIEW_STACK_DEPTH = 0x0BA3
-gl_FULL_STIPPLE_HINT_PGI :: GLenum
-gl_FULL_STIPPLE_HINT_PGI = 0x1A219
-gl_RENDERBUFFER_COVERAGE_SAMPLES_NV :: GLenum
-gl_RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB
-gl_PIXEL_MAP_B_TO_B_SIZE :: GLenum
-gl_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8
-gl_DUAL_ALPHA4_SGIS :: GLenum
-gl_DUAL_ALPHA4_SGIS = 0x8110
-gl_VERTEX_ARRAY_OBJECT_AMD :: GLenum
-gl_VERTEX_ARRAY_OBJECT_AMD = 0x9154
-gl_EDGEFLAG_BIT_PGI :: GLenum
-gl_EDGEFLAG_BIT_PGI = 0x00040000
-gl_COMBINER4_NV :: GLenum
-gl_COMBINER4_NV = 0x8554
-gl_SEPARATE_ATTRIBS :: GLenum
-gl_SEPARATE_ATTRIBS = 0x8C8D
-gl_DEBUG_SOURCE_THIRD_PARTY_ARB :: GLenum
-gl_DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249
-gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG = 0x93F0
-gl_DEBUG_SEVERITY_MEDIUM_ARB :: GLenum
-gl_DEBUG_SEVERITY_MEDIUM_ARB = 0x9147
-gl_COMPRESSED_INTENSITY_ARB :: GLenum
-gl_COMPRESSED_INTENSITY_ARB = 0x84EC
-gl_MAX_DEBUG_MESSAGE_LENGTH_AMD :: GLenum
-gl_MAX_DEBUG_MESSAGE_LENGTH_AMD = 0x9143
-gl_PATH_ERROR_POSITION_NV :: GLenum
-gl_PATH_ERROR_POSITION_NV = 0x90AB
-gl_MULTISAMPLE_BIT_EXT :: GLenum
-gl_MULTISAMPLE_BIT_EXT = 0x20000000
-gl_CULL_FRAGMENT_NV :: GLenum
-gl_CULL_FRAGMENT_NV = 0x86E7
-gl_IMAGE_COMPATIBILITY_CLASS :: GLenum
-gl_IMAGE_COMPATIBILITY_CLASS = 0x82A8
-gl_TEXTURE_BINDING_BUFFER :: GLenum
-gl_TEXTURE_BINDING_BUFFER = 0x8C2C
-gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: GLenum
-gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3
-gl_MAX_PROGRAM_PATCH_ATTRIBS_NV :: GLenum
-gl_MAX_PROGRAM_PATCH_ATTRIBS_NV = 0x86D8
-gl_TANGENT_ARRAY_EXT :: GLenum
-gl_TANGENT_ARRAY_EXT = 0x8439
-gl_MATRIX25_ARB :: GLenum
-gl_MATRIX25_ARB = 0x88D9
-gl_PERTURB_EXT :: GLenum
-gl_PERTURB_EXT = 0x85AE
-gl_R11F_G11F_B10F_APPLE :: GLenum
-gl_R11F_G11F_B10F_APPLE = 0x8C3A
-gl_IMAGE_CLASS_2_X_8 :: GLenum
-gl_IMAGE_CLASS_2_X_8 = 0x82C0
-gl_UNSIGNED_INT64_NV :: GLenum
-gl_UNSIGNED_INT64_NV = 0x140F
-gl_REFLECTION_MAP_ARB :: GLenum
-gl_REFLECTION_MAP_ARB = 0x8512
-gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D
-gl_ACCUM_ALPHA_BITS :: GLenum
-gl_ACCUM_ALPHA_BITS = 0x0D5B
-gl_SPARE0_PLUS_SECONDARY_COLOR_NV :: GLenum
-gl_SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532
-gl_ETC1_RGB8_OES :: GLenum
-gl_ETC1_RGB8_OES = 0x8D64
-gl_ACTIVE_RESOURCES :: GLenum
-gl_ACTIVE_RESOURCES = 0x92F5
-gl_SAMPLE_MASK_VALUE_EXT :: GLenum
-gl_SAMPLE_MASK_VALUE_EXT = 0x80AA
-gl_OUTPUT_TEXTURE_COORD7_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD7_EXT = 0x87A4
-gl_SEPARABLE_2D_EXT :: GLenum
-gl_SEPARABLE_2D_EXT = 0x8012
-gl_DEBUG_LOGGED_MESSAGES_AMD :: GLenum
-gl_DEBUG_LOGGED_MESSAGES_AMD = 0x9145
-gl_COLOR_ARRAY_TYPE_EXT :: GLenum
-gl_COLOR_ARRAY_TYPE_EXT = 0x8082
-gl_COLOR_INDEX8_EXT :: GLenum
-gl_COLOR_INDEX8_EXT = 0x80E5
-gl_SIGNED_HILO_NV :: GLenum
-gl_SIGNED_HILO_NV = 0x86F9
-gl_R1UI_N3F_V3F_SUN :: GLenum
-gl_R1UI_N3F_V3F_SUN = 0x85C7
-gl_ALPHA :: GLenum
-gl_ALPHA = 0x1906
-gl_DEPTH32F_STENCIL8_NV :: GLenum
-gl_DEPTH32F_STENCIL8_NV = 0x8DAC
-gl_GPU_ADDRESS_NV :: GLenum
-gl_GPU_ADDRESS_NV = 0x8F34
-gl_MAP_TESSELLATION_NV :: GLenum
-gl_MAP_TESSELLATION_NV = 0x86C2
-gl_LUMINANCE_ALPHA_INTEGER_EXT :: GLenum
-gl_LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D
-gl_TEXTURE_BINDING_CUBE_MAP_OES :: GLenum
-gl_TEXTURE_BINDING_CUBE_MAP_OES = 0x8514
-gl_STRICT_DEPTHFUNC_HINT_PGI :: GLenum
-gl_STRICT_DEPTHFUNC_HINT_PGI = 0x1A216
-gl_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301
-gl_MODELVIEW6_ARB :: GLenum
-gl_MODELVIEW6_ARB = 0x8726
-gl_DEBUG_TYPE_ERROR_ARB :: GLenum
-gl_DEBUG_TYPE_ERROR_ARB = 0x824C
-gl_RG32F :: GLenum
-gl_RG32F = 0x8230
-gl_Q :: GLenum
-gl_Q = 0x2003
-gl_CON_21_ATI :: GLenum
-gl_CON_21_ATI = 0x8956
-gl_FOG_BIT :: GLenum
-gl_FOG_BIT = 0x00000080
-gl_COMPRESSED_RGB8_ETC2_OES :: GLenum
-gl_COMPRESSED_RGB8_ETC2_OES = 0x9274
-gl_TESS_GEN_MODE :: GLenum
-gl_TESS_GEN_MODE = 0x8E76
-gl_COLOR_TABLE_GREEN_SIZE :: GLenum
-gl_COLOR_TABLE_GREEN_SIZE = 0x80DB
-gl_MAX_PROGRAM_SUBROUTINE_NUM_NV :: GLenum
-gl_MAX_PROGRAM_SUBROUTINE_NUM_NV = 0x8F45
-gl_MIN_LOD_WARNING_AMD :: GLenum
-gl_MIN_LOD_WARNING_AMD = 0x919C
-gl_ADD_SIGNED_EXT :: GLenum
-gl_ADD_SIGNED_EXT = 0x8574
-gl_OP_INDEX_EXT :: GLenum
-gl_OP_INDEX_EXT = 0x8782
-gl_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX :: GLenum
-gl_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = 0x8311
-gl_TEXTURE31 :: GLenum
-gl_TEXTURE31 = 0x84DF
-gl_PLUS_DARKER_NV :: GLenum
-gl_PLUS_DARKER_NV = 0x9292
-gl_DOT_PRODUCT_NV :: GLenum
-gl_DOT_PRODUCT_NV = 0x86EC
-gl_READ_FRAMEBUFFER :: GLenum
-gl_READ_FRAMEBUFFER = 0x8CA8
-gl_CMYKA_EXT :: GLenum
-gl_CMYKA_EXT = 0x800D
-gl_2D :: GLenum
-gl_2D = 0x0600
-gl_SIGNED_RGB_UNSIGNED_ALPHA_NV :: GLenum
-gl_SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C
-gl_CONSTANT_COLOR1_NV :: GLenum
-gl_CONSTANT_COLOR1_NV = 0x852B
-gl_TEXTURE_TYPE_QCOM :: GLenum
-gl_TEXTURE_TYPE_QCOM = 0x8BD7
-gl_TEXTURE19 :: GLenum
-gl_TEXTURE19 = 0x84D3
-gl_WRITE_ONLY_OES :: GLenum
-gl_WRITE_ONLY_OES = 0x88B9
-gl_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A
-gl_DEPENDENT_AR_TEXTURE_2D_NV :: GLenum
-gl_DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9
-gl_POST_TEXTURE_FILTER_BIAS_SGIX :: GLenum
-gl_POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179
-gl_Z_EXT :: GLenum
-gl_Z_EXT = 0x87D7
-gl_MAX_SAMPLES_NV :: GLenum
-gl_MAX_SAMPLES_NV = 0x8D57
-gl_SRGB_EXT :: GLenum
-gl_SRGB_EXT = 0x8C40
-gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB :: GLenum
-gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A
-gl_ALPHA32F_ARB :: GLenum
-gl_ALPHA32F_ARB = 0x8816
-gl_VERTEX_ATTRIB_ARRAY1_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY1_NV = 0x8651
-gl_HILO8_NV :: GLenum
-gl_HILO8_NV = 0x885E
-gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
-gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D
-gl_MAP2_VERTEX_ATTRIB12_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C
-gl_VERTEX_STREAM4_ATI :: GLenum
-gl_VERTEX_STREAM4_ATI = 0x8770
-gl_UNSIGNED_INT_SAMPLER_3D_EXT :: GLenum
-gl_UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3
-gl_SECONDARY_COLOR_ARRAY_LENGTH_NV :: GLenum
-gl_SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31
-gl_GENERATE_MIPMAP_HINT :: GLenum
-gl_GENERATE_MIPMAP_HINT = 0x8192
-gl_COMPRESSED_RGBA_S3TC_DXT5_EXT :: GLenum
-gl_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3
-gl_FENCE_STATUS_NV :: GLenum
-gl_FENCE_STATUS_NV = 0x84F3
-gl_HINT_BIT :: GLenum
-gl_HINT_BIT = 0x00008000
-gl_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
-gl_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC
-gl_LUMINANCE32UI_EXT :: GLenum
-gl_LUMINANCE32UI_EXT = 0x8D74
-gl_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
-gl_INT_IMAGE_CUBE_MAP_ARRAY = 0x905F
-gl_MAX_VERTEX_ATTRIB_BINDINGS :: GLenum
-gl_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA
-gl_TEXTURE_SWIZZLE_RGBA :: GLenum
-gl_TEXTURE_SWIZZLE_RGBA = 0x8E46
-gl_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV :: GLenum
-gl_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = 0x8F44
-gl_VIEW_CLASS_S3TC_DXT5_RGBA :: GLenum
-gl_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF
-gl_FIELD_LOWER_NV :: GLenum
-gl_FIELD_LOWER_NV = 0x9023
-gl_INTERNALFORMAT_BLUE_SIZE :: GLenum
-gl_INTERNALFORMAT_BLUE_SIZE = 0x8273
-gl_PROGRAM_ERROR_STRING_ARB :: GLenum
-gl_PROGRAM_ERROR_STRING_ARB = 0x8874
-gl_COMBINE_ARB :: GLenum
-gl_COMBINE_ARB = 0x8570
-gl_GET_TEXTURE_IMAGE_TYPE :: GLenum
-gl_GET_TEXTURE_IMAGE_TYPE = 0x8292
-gl_FRAGMENT_LIGHT0_SGIX :: GLenum
-gl_FRAGMENT_LIGHT0_SGIX = 0x840C
-gl_EVAL_VERTEX_ATTRIB4_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB4_NV = 0x86CA
-gl_MAX_DRAW_BUFFERS_EXT :: GLenum
-gl_MAX_DRAW_BUFFERS_EXT = 0x8824
-gl_QUERY_KHR :: GLenum
-gl_QUERY_KHR = 0x82E3
-gl_IUI_N3F_V2F_EXT :: GLenum
-gl_IUI_N3F_V2F_EXT = 0x81AF
-gl_STORAGE_CACHED_APPLE :: GLenum
-gl_STORAGE_CACHED_APPLE = 0x85BE
-gl_LO_SCALE_NV :: GLenum
-gl_LO_SCALE_NV = 0x870F
-gl_VERTEX_ATTRIB_ARRAY2_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY2_NV = 0x8652
-gl_UNIFORM_TYPE :: GLenum
-gl_UNIFORM_TYPE = 0x8A37
-gl_MAX_GEOMETRY_VARYING_COMPONENTS_ARB :: GLenum
-gl_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD
-gl_LUMINANCE12_ALPHA12 :: GLenum
-gl_LUMINANCE12_ALPHA12 = 0x8047
-gl_NATIVE_GRAPHICS_BEGIN_HINT_PGI :: GLenum
-gl_NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203
-gl_TEXTURE11_ARB :: GLenum
-gl_TEXTURE11_ARB = 0x84CB
-gl_4PASS_1_EXT :: GLenum
-gl_4PASS_1_EXT = 0x80A5
-gl_MAX_ASYNC_HISTOGRAM_SGIX :: GLenum
-gl_MAX_ASYNC_HISTOGRAM_SGIX = 0x832D
-gl_TEXTURE8_ARB :: GLenum
-gl_TEXTURE8_ARB = 0x84C8
-gl_TEXTURE_COMPRESSED_BLOCK_WIDTH :: GLenum
-gl_TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1
-gl_VIRTUAL_PAGE_SIZE_Y_ARB :: GLenum
-gl_VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196
-gl_STENCIL_ATTACHMENT :: GLenum
-gl_STENCIL_ATTACHMENT = 0x8D20
-gl_DEPTH_COMPONENT32_OES :: GLenum
-gl_DEPTH_COMPONENT32_OES = 0x81A7
-gl_SRC2_RGB :: GLenum
-gl_SRC2_RGB = 0x8582
-gl_INDEX_MATERIAL_FACE_EXT :: GLenum
-gl_INDEX_MATERIAL_FACE_EXT = 0x81BA
-gl_MAJOR_VERSION :: GLenum
-gl_MAJOR_VERSION = 0x821B
-gl_COLOR_ATTACHMENT2_EXT :: GLenum
-gl_COLOR_ATTACHMENT2_EXT = 0x8CE2
-gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB :: GLenum
-gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D
-gl_PIXEL_BUFFER_BARRIER_BIT_EXT :: GLenum
-gl_PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080
-gl_OUTPUT_FOG_EXT :: GLenum
-gl_OUTPUT_FOG_EXT = 0x87BD
-gl_UNPACK_FLIP_Y_WEBGL :: GLenum
-gl_UNPACK_FLIP_Y_WEBGL = 0x9240
-gl_LUMINANCE6_ALPHA2_EXT :: GLenum
-gl_LUMINANCE6_ALPHA2_EXT = 0x8044
-gl_QUERY :: GLenum
-gl_QUERY = 0x82E3
-gl_MAP2_VERTEX_ATTRIB15_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F
-gl_UNPACK_ROW_LENGTH_EXT :: GLenum
-gl_UNPACK_ROW_LENGTH_EXT = 0x0CF2
-gl_VBO_FREE_MEMORY_ATI :: GLenum
-gl_VBO_FREE_MEMORY_ATI = 0x87FB
-gl_CON_16_ATI :: GLenum
-gl_CON_16_ATI = 0x8951
-gl_MAX_VERTEX_SHADER_VARIANTS_EXT :: GLenum
-gl_MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6
-gl_MAX_SAMPLES_ANGLE :: GLenum
-gl_MAX_SAMPLES_ANGLE = 0x8D57
-gl_MAX_PROGRAM_TEMPORARIES_ARB :: GLenum
-gl_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5
-gl_STATIC_DRAW :: GLenum
-gl_STATIC_DRAW = 0x88E4
-gl_RENDERBUFFER_BLUE_SIZE_OES :: GLenum
-gl_RENDERBUFFER_BLUE_SIZE_OES = 0x8D52
-gl_T2F_IUI_V3F_EXT :: GLenum
-gl_T2F_IUI_V3F_EXT = 0x81B2
-gl_MAX_CONVOLUTION_WIDTH_EXT :: GLenum
-gl_MAX_CONVOLUTION_WIDTH_EXT = 0x801A
-gl_FRAGMENT_LIGHT5_SGIX :: GLenum
-gl_FRAGMENT_LIGHT5_SGIX = 0x8411
-gl_FILE_NAME_NV :: GLenum
-gl_FILE_NAME_NV = 0x9074
-gl_PRIMARY_COLOR_ARB :: GLenum
-gl_PRIMARY_COLOR_ARB = 0x8577
-gl_MATRIX7_NV :: GLenum
-gl_MATRIX7_NV = 0x8637
-gl_GREEN_BIT_ATI :: GLenum
-gl_GREEN_BIT_ATI = 0x00000002
-gl_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
-gl_FOG_COORDINATE_ARRAY_STRIDE = 0x8455
-gl_OPERAND1_RGB :: GLenum
-gl_OPERAND1_RGB = 0x8591
-gl_PRIMITIVE_BOUNDING_BOX_EXT :: GLenum
-gl_PRIMITIVE_BOUNDING_BOX_EXT = 0x92BE
-gl_PIXEL_MAP_I_TO_G_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3
-gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46
-gl_ALPHA_TEST_FUNC :: GLenum
-gl_ALPHA_TEST_FUNC = 0x0BC1
-gl_PERFQUERY_COUNTER_EVENT_INTEL :: GLenum
-gl_PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0
-gl_DRAW_BUFFER1_ATI :: GLenum
-gl_DRAW_BUFFER1_ATI = 0x8826
-gl_REPLACE_MIDDLE_SUN :: GLenum
-gl_REPLACE_MIDDLE_SUN = 0x0002
-gl_NONE_OES :: GLenum
-gl_NONE_OES = 0
-gl_REPLACEMENT_CODE_ARRAY_SUN :: GLenum
-gl_REPLACEMENT_CODE_ARRAY_SUN = 0x85C0
-gl_TEXTURE15 :: GLenum
-gl_TEXTURE15 = 0x84CF
-gl_INT_SAMPLER_BUFFER_EXT :: GLenum
-gl_INT_SAMPLER_BUFFER_EXT = 0x8DD0
-gl_NATIVE_GRAPHICS_END_HINT_PGI :: GLenum
-gl_NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204
-gl_4PASS_0_SGIS :: GLenum
-gl_4PASS_0_SGIS = 0x80A4
-gl_VERTEX_ATTRIB_MAP1_APPLE :: GLenum
-gl_VERTEX_ATTRIB_MAP1_APPLE = 0x8A00
-gl_RG8UI :: GLenum
-gl_RG8UI = 0x8238
-gl_RED_SNORM :: GLenum
-gl_RED_SNORM = 0x8F90
-gl_COLOR_ATTACHMENT10_NV :: GLenum
-gl_COLOR_ATTACHMENT10_NV = 0x8CEA
-gl_TIMESTAMP :: GLenum
-gl_TIMESTAMP = 0x8E28
-gl_CONTEXT_RELEASE_BEHAVIOR_KHR :: GLenum
-gl_CONTEXT_RELEASE_BEHAVIOR_KHR = 0x82FB
-gl_FRACTIONAL_EVEN :: GLenum
-gl_FRACTIONAL_EVEN = 0x8E7C
-gl_BINNING_CONTROL_HINT_QCOM :: GLenum
-gl_BINNING_CONTROL_HINT_QCOM = 0x8FB0
-gl_OUTPUT_VERTEX_EXT :: GLenum
-gl_OUTPUT_VERTEX_EXT = 0x879A
-gl_IMAGE_1D_ARRAY_EXT :: GLenum
-gl_IMAGE_1D_ARRAY_EXT = 0x9052
-gl_PROXY_TEXTURE_RECTANGLE_ARB :: GLenum
-gl_PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7
-gl_PROGRAM_NATIVE_PARAMETERS_ARB :: GLenum
-gl_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA
-gl_STENCIL_PASS_DEPTH_PASS :: GLenum
-gl_STENCIL_PASS_DEPTH_PASS = 0x0B96
-gl_OUTPUT_TEXTURE_COORD1_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD1_EXT = 0x879E
-gl_QUERY_BY_REGION_NO_WAIT :: GLenum
-gl_QUERY_BY_REGION_NO_WAIT = 0x8E16
-gl_NUM_ACTIVE_VARIABLES :: GLenum
-gl_NUM_ACTIVE_VARIABLES = 0x9304
-gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC
-gl_OUT_OF_MEMORY :: GLenum
-gl_OUT_OF_MEMORY = 0x0505
-gl_VERTEX_ARRAY_BINDING :: GLenum
-gl_VERTEX_ARRAY_BINDING = 0x85B5
-gl_MAX_BINDABLE_UNIFORM_SIZE_EXT :: GLenum
-gl_MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED
-gl_LUMINANCE16I_EXT :: GLenum
-gl_LUMINANCE16I_EXT = 0x8D8C
-gl_INTENSITY4_EXT :: GLenum
-gl_INTENSITY4_EXT = 0x804A
-gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6
-gl_SINGLE_COLOR_EXT :: GLenum
-gl_SINGLE_COLOR_EXT = 0x81F9
-gl_FONT_GLYPHS_AVAILABLE_NV :: GLenum
-gl_FONT_GLYPHS_AVAILABLE_NV = 0x9368
-gl_W_EXT :: GLenum
-gl_W_EXT = 0x87D8
-gl_MIPMAP :: GLenum
-gl_MIPMAP = 0x8293
-gl_CURRENT_QUERY_ARB :: GLenum
-gl_CURRENT_QUERY_ARB = 0x8865
-gl_MAX_VERTEX_STREAMS_ATI :: GLenum
-gl_MAX_VERTEX_STREAMS_ATI = 0x876B
-gl_DRAW_FRAMEBUFFER_NV :: GLenum
-gl_DRAW_FRAMEBUFFER_NV = 0x8CA9
-gl_POST_CONVOLUTION_GREEN_SCALE :: GLenum
-gl_POST_CONVOLUTION_GREEN_SCALE = 0x801D
-gl_UNSIGNED_NORMALIZED_EXT :: GLenum
-gl_UNSIGNED_NORMALIZED_EXT = 0x8C17
-gl_READ_PIXEL_DATA_RANGE_LENGTH_NV :: GLenum
-gl_READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B
-gl_MATRIX_PALETTE_OES :: GLenum
-gl_MATRIX_PALETTE_OES = 0x8840
-gl_DOT_PRODUCT_TEXTURE_1D_NV :: GLenum
-gl_DOT_PRODUCT_TEXTURE_1D_NV = 0x885C
-gl_SYNC_CL_EVENT_ARB :: GLenum
-gl_SYNC_CL_EVENT_ARB = 0x8240
-gl_LOSE_CONTEXT_ON_RESET_EXT :: GLenum
-gl_LOSE_CONTEXT_ON_RESET_EXT = 0x8252
-gl_SRC_OUT_NV :: GLenum
-gl_SRC_OUT_NV = 0x928C
-gl_ALPHA_MAX_SGIX :: GLenum
-gl_ALPHA_MAX_SGIX = 0x8321
-gl_TEXTURE_UNSIGNED_REMAP_MODE_NV :: GLenum
-gl_TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F
-gl_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
-gl_PACK_COMPRESSED_BLOCK_DEPTH = 0x912D
-gl_VIRTUAL_PAGE_SIZE_X_ARB :: GLenum
-gl_VIRTUAL_PAGE_SIZE_X_ARB = 0x9195
-gl_DIFFUSE :: GLenum
-gl_DIFFUSE = 0x1201
-gl_RENDERER :: GLenum
-gl_RENDERER = 0x1F01
-gl_DEBUG_OUTPUT_SYNCHRONOUS_KHR :: GLenum
-gl_DEBUG_OUTPUT_SYNCHRONOUS_KHR = 0x8242
-gl_MAX_ELEMENT_INDEX :: GLenum
-gl_MAX_ELEMENT_INDEX = 0x8D6B
-gl_OP_CLAMP_EXT :: GLenum
-gl_OP_CLAMP_EXT = 0x878E
-gl_CURRENT_RASTER_DISTANCE :: GLenum
-gl_CURRENT_RASTER_DISTANCE = 0x0B09
-gl_COMBINER_MAPPING_NV :: GLenum
-gl_COMBINER_MAPPING_NV = 0x8543
-gl_MAX_VERTEX_HINT_PGI :: GLenum
-gl_MAX_VERTEX_HINT_PGI = 0x1A22D
-gl_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL :: GLenum
-gl_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500
-gl_TEXTURE6_ARB :: GLenum
-gl_TEXTURE6_ARB = 0x84C6
-gl_MAT_DIFFUSE_BIT_PGI :: GLenum
-gl_MAT_DIFFUSE_BIT_PGI = 0x00400000
-gl_BUMP_ENVMAP_ATI :: GLenum
-gl_BUMP_ENVMAP_ATI = 0x877B
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD
-gl_INT_VEC2 :: GLenum
-gl_INT_VEC2 = 0x8B53
-gl_TEXTURE_RECTANGLE :: GLenum
-gl_TEXTURE_RECTANGLE = 0x84F5
-gl_COLOR_INDEXES :: GLenum
-gl_COLOR_INDEXES = 0x1603
-gl_OR_INVERTED :: GLenum
-gl_OR_INVERTED = 0x150D
-gl_CONSTANT_ARB :: GLenum
-gl_CONSTANT_ARB = 0x8576
-gl_TESSELLATION_FACTOR_AMD :: GLenum
-gl_TESSELLATION_FACTOR_AMD = 0x9005
-gl_HALF_BIAS_NORMAL_NV :: GLenum
-gl_HALF_BIAS_NORMAL_NV = 0x853A
-gl_FOG_COORD_ARRAY_STRIDE :: GLenum
-gl_FOG_COORD_ARRAY_STRIDE = 0x8455
-gl_UNIFORM_BUFFER_EXT :: GLenum
-gl_UNIFORM_BUFFER_EXT = 0x8DEE
-gl_GREEN_SCALE :: GLenum
-gl_GREEN_SCALE = 0x0D18
-gl_LEQUAL :: GLenum
-gl_LEQUAL = 0x0203
-gl_TRIANGLES :: GLenum
-gl_TRIANGLES = 0x0004
-gl_ARRAY_ELEMENT_LOCK_COUNT_EXT :: GLenum
-gl_ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9
-gl_UNSIGNED_SHORT_5_6_5 :: GLenum
-gl_UNSIGNED_SHORT_5_6_5 = 0x8363
-gl_QUERY_BUFFER_BINDING :: GLenum
-gl_QUERY_BUFFER_BINDING = 0x9193
-gl_DRAW_BUFFER14 :: GLenum
-gl_DRAW_BUFFER14 = 0x8833
-gl_SATURATE_BIT_ATI :: GLenum
-gl_SATURATE_BIT_ATI = 0x00000040
-gl_RGB5_EXT :: GLenum
-gl_RGB5_EXT = 0x8050
-gl_RGB8I :: GLenum
-gl_RGB8I = 0x8D8F
-gl_PROXY_TEXTURE_CUBE_MAP_ARB :: GLenum
-gl_PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B
-gl_CONTRAST_NV :: GLenum
-gl_CONTRAST_NV = 0x92A1
-gl_R8 :: GLenum
-gl_R8 = 0x8229
-gl_PROGRAM_BINDING_ARB :: GLenum
-gl_PROGRAM_BINDING_ARB = 0x8677
-gl_COLOR_ATTACHMENT0 :: GLenum
-gl_COLOR_ATTACHMENT0 = 0x8CE0
-gl_DEPTH_BUFFER_BIT0_QCOM :: GLenum
-gl_DEPTH_BUFFER_BIT0_QCOM = 0x00000100
-gl_OUTPUT_TEXTURE_COORD25_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD25_EXT = 0x87B6
-gl_COMPRESSED_RGB_FXT1_3DFX :: GLenum
-gl_COMPRESSED_RGB_FXT1_3DFX = 0x86B0
-gl_TEXTURE4_ARB :: GLenum
-gl_TEXTURE4_ARB = 0x84C4
-gl_PASS_THROUGH_NV :: GLenum
-gl_PASS_THROUGH_NV = 0x86E6
-gl_SHADER_BINARY_DMP :: GLenum
-gl_SHADER_BINARY_DMP = 0x9250
-gl_RENDER_MODE :: GLenum
-gl_RENDER_MODE = 0x0C40
-gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT :: GLenum
-gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT = 0x8F67
-gl_ARRAY_BUFFER_BINDING_ARB :: GLenum
-gl_ARRAY_BUFFER_BINDING_ARB = 0x8894
-gl_MODELVIEW7_ARB :: GLenum
-gl_MODELVIEW7_ARB = 0x8727
-gl_LARGE_CCW_ARC_TO_NV :: GLenum
-gl_LARGE_CCW_ARC_TO_NV = 0x16
-gl_YCRCB_SGIX :: GLenum
-gl_YCRCB_SGIX = 0x8318
-gl_MAX_PROGRAM_TEXEL_OFFSET_EXT :: GLenum
-gl_MAX_PROGRAM_TEXEL_OFFSET_EXT = 0x8905
-gl_HISTOGRAM_GREEN_SIZE :: GLenum
-gl_HISTOGRAM_GREEN_SIZE = 0x8029
-gl_DRAW_BUFFER1_ARB :: GLenum
-gl_DRAW_BUFFER1_ARB = 0x8826
-gl_BLEND_DST_ALPHA_EXT :: GLenum
-gl_BLEND_DST_ALPHA_EXT = 0x80CA
-gl_FRAGMENT_DEPTH_EXT :: GLenum
-gl_FRAGMENT_DEPTH_EXT = 0x8452
-gl_DRAW_BUFFER3_ARB :: GLenum
-gl_DRAW_BUFFER3_ARB = 0x8828
-gl_LINEAR_CLIPMAP_NEAREST_SGIX :: GLenum
-gl_LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F
-gl_PRIMITIVES_SUBMITTED_ARB :: GLenum
-gl_PRIMITIVES_SUBMITTED_ARB = 0x82EF
-gl_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES = 0x8CD4
-gl_SYNC_X11_FENCE_EXT :: GLenum
-gl_SYNC_X11_FENCE_EXT = 0x90E1
-gl_WEIGHT_ARRAY_BUFFER_BINDING_ARB :: GLenum
-gl_WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E
-gl_MAX_TEXTURE_STACK_DEPTH :: GLenum
-gl_MAX_TEXTURE_STACK_DEPTH = 0x0D39
-gl_CON_1_ATI :: GLenum
-gl_CON_1_ATI = 0x8942
-gl_PIXEL_MAP_I_TO_I :: GLenum
-gl_PIXEL_MAP_I_TO_I = 0x0C70
-gl_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
-gl_MAX_DEBUG_LOGGED_MESSAGES = 0x9144
-gl_LINE_QUALITY_HINT_SGIX :: GLenum
-gl_LINE_QUALITY_HINT_SGIX = 0x835B
-gl_STACK_OVERFLOW_KHR :: GLenum
-gl_STACK_OVERFLOW_KHR = 0x0503
-gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4
-gl_INDEX_ARRAY_ADDRESS_NV :: GLenum
-gl_INDEX_ARRAY_ADDRESS_NV = 0x8F24
-gl_MAX_LABEL_LENGTH_KHR :: GLenum
-gl_MAX_LABEL_LENGTH_KHR = 0x82E8
-gl_STRICT_SCISSOR_HINT_PGI :: GLenum
-gl_STRICT_SCISSOR_HINT_PGI = 0x1A218
-gl_SHADER_OPERATION_NV :: GLenum
-gl_SHADER_OPERATION_NV = 0x86DF
-gl_BLUE_BIT_ATI :: GLenum
-gl_BLUE_BIT_ATI = 0x00000004
-gl_MIN_SAMPLE_SHADING_VALUE_OES :: GLenum
-gl_MIN_SAMPLE_SHADING_VALUE_OES = 0x8C37
-gl_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
-gl_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7
-gl_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI :: GLenum
-gl_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000
-gl_INT_SAMPLER_2D :: GLenum
-gl_INT_SAMPLER_2D = 0x8DCA
-gl_PROXY_TEXTURE_CUBE_MAP_EXT :: GLenum
-gl_PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B
-gl_TRANSFORM_FEEDBACK :: GLenum
-gl_TRANSFORM_FEEDBACK = 0x8E22
-gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT = 0x8A56
-gl_MODELVIEW1_ARB :: GLenum
-gl_MODELVIEW1_ARB = 0x850A
-gl_UNKNOWN_CONTEXT_RESET_KHR :: GLenum
-gl_UNKNOWN_CONTEXT_RESET_KHR = 0x8255
-gl_INT8_VEC3_NV :: GLenum
-gl_INT8_VEC3_NV = 0x8FE2
-gl_BUFFER_IMMUTABLE_STORAGE :: GLenum
-gl_BUFFER_IMMUTABLE_STORAGE = 0x821F
-gl_SHADER_STORAGE_BUFFER_SIZE :: GLenum
-gl_SHADER_STORAGE_BUFFER_SIZE = 0x90D5
-gl_STENCIL_COMPONENTS :: GLenum
-gl_STENCIL_COMPONENTS = 0x8285
-gl_VERTEX_STREAM5_ATI :: GLenum
-gl_VERTEX_STREAM5_ATI = 0x8771
-gl_4_BYTES_NV :: GLenum
-gl_4_BYTES_NV = 0x1409
-gl_R32UI :: GLenum
-gl_R32UI = 0x8236
-gl_IMAGE_CLASS_11_11_10 :: GLenum
-gl_IMAGE_CLASS_11_11_10 = 0x82C2
-gl_DOT_PRODUCT_TEXTURE_2D_NV :: GLenum
-gl_DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE
-gl_CLIPPING_OUTPUT_PRIMITIVES_ARB :: GLenum
-gl_CLIPPING_OUTPUT_PRIMITIVES_ARB = 0x82F7
-gl_SAMPLE_MASK_VALUE :: GLenum
-gl_SAMPLE_MASK_VALUE = 0x8E52
-gl_MAX_VERTEX_BINDABLE_UNIFORMS_EXT :: GLenum
-gl_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2
-gl_PROXY_HISTOGRAM_EXT :: GLenum
-gl_PROXY_HISTOGRAM_EXT = 0x8025
-gl_REG_26_ATI :: GLenum
-gl_REG_26_ATI = 0x893B
-gl_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA
-gl_TEXTURE_UPDATE_BARRIER_BIT_EXT :: GLenum
-gl_TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100
-gl_COLOR_WRITEMASK :: GLenum
-gl_COLOR_WRITEMASK = 0x0C23
-gl_LIGHT7 :: GLenum
-gl_LIGHT7 = 0x4007
-gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT :: GLenum
-gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT = 0x90CB
-gl_COLOR_ATTACHMENT6 :: GLenum
-gl_COLOR_ATTACHMENT6 = 0x8CE6
-gl_COMPUTE_SHADER_BIT :: GLenum
-gl_COMPUTE_SHADER_BIT = 0x00000020
-gl_TRIANGLE_STRIP_ADJACENCY :: GLenum
-gl_TRIANGLE_STRIP_ADJACENCY = 0x000D
-gl_PROGRAM_FORMAT_ASCII_ARB :: GLenum
-gl_PROGRAM_FORMAT_ASCII_ARB = 0x8875
-gl_FLOAT_RGB16_NV :: GLenum
-gl_FLOAT_RGB16_NV = 0x8888
-gl_DEPTH_RANGE :: GLenum
-gl_DEPTH_RANGE = 0x0B70
-gl_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
-gl_MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD
-gl_FLOAT_R16_NV :: GLenum
-gl_FLOAT_R16_NV = 0x8884
-gl_EYE_PLANE_ABSOLUTE_NV :: GLenum
-gl_EYE_PLANE_ABSOLUTE_NV = 0x855C
-gl_REPLACE_EXT :: GLenum
-gl_REPLACE_EXT = 0x8062
-gl_TRANSFORM_FEEDBACK_BUFFER_START_EXT :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84
-gl_DRAW_BUFFER4_EXT :: GLenum
-gl_DRAW_BUFFER4_EXT = 0x8829
-gl_PROGRAM_MATRIX_EXT :: GLenum
-gl_PROGRAM_MATRIX_EXT = 0x8E2D
-gl_VERTEX_ATTRIB_ARRAY5_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY5_NV = 0x8655
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2
-gl_UNSIGNED_BYTE_3_3_2 :: GLenum
-gl_UNSIGNED_BYTE_3_3_2 = 0x8032
-gl_LUMINANCE_FLOAT32_APPLE :: GLenum
-gl_LUMINANCE_FLOAT32_APPLE = 0x8818
-gl_BLEND_SRC_RGB_OES :: GLenum
-gl_BLEND_SRC_RGB_OES = 0x80C9
-gl_DEBUG_CALLBACK_FUNCTION_ARB :: GLenum
-gl_DEBUG_CALLBACK_FUNCTION_ARB = 0x8244
-gl_ADJACENT_PAIRS_NV :: GLenum
-gl_ADJACENT_PAIRS_NV = 0x90AE
-gl_QUERY_BY_REGION_NO_WAIT_INVERTED :: GLenum
-gl_QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A
-gl_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
-gl_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895
-gl_TEXTURE :: GLenum
-gl_TEXTURE = 0x1702
-gl_FLOAT_MAT2x4 :: GLenum
-gl_FLOAT_MAT2x4 = 0x8B66
-gl_PROGRAM_ATTRIB_COMPONENTS_NV :: GLenum
-gl_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906
-gl_MAX_SPARSE_3D_TEXTURE_SIZE_AMD :: GLenum
-gl_MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 0x9199
-gl_DRAW_BUFFER6 :: GLenum
-gl_DRAW_BUFFER6 = 0x882B
-gl_MODELVIEW1_EXT :: GLenum
-gl_MODELVIEW1_EXT = 0x850A
-gl_VERTEX_ARRAY_POINTER :: GLenum
-gl_VERTEX_ARRAY_POINTER = 0x808E
-gl_SCALE_BY_ONE_HALF_NV :: GLenum
-gl_SCALE_BY_ONE_HALF_NV = 0x8540
-gl_RIGHT :: GLenum
-gl_RIGHT = 0x0407
-gl_FRAMEZOOM_SGIX :: GLenum
-gl_FRAMEZOOM_SGIX = 0x818B
-gl_COLOR_ATTACHMENT10 :: GLenum
-gl_COLOR_ATTACHMENT10 = 0x8CEA
-gl_VERTEX_ARRAY_RANGE_NV :: GLenum
-gl_VERTEX_ARRAY_RANGE_NV = 0x851D
-gl_POST_CONVOLUTION_ALPHA_BIAS_EXT :: GLenum
-gl_POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023
-gl_SHADER_BINARY_FORMATS :: GLenum
-gl_SHADER_BINARY_FORMATS = 0x8DF8
-gl_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV :: GLenum
-gl_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80
-gl_QUERY_RESULT_AVAILABLE_EXT :: GLenum
-gl_QUERY_RESULT_AVAILABLE_EXT = 0x8867
-gl_MAP1_TEXTURE_COORD_3 :: GLenum
-gl_MAP1_TEXTURE_COORD_3 = 0x0D95
-gl_RGB :: GLenum
-gl_RGB = 0x1907
-gl_PATH_MODELVIEW_NV :: GLenum
-gl_PATH_MODELVIEW_NV = 0x1700
-gl_SRGB :: GLenum
-gl_SRGB = 0x8C40
-gl_PATH_JOIN_STYLE_NV :: GLenum
-gl_PATH_JOIN_STYLE_NV = 0x9079
-gl_DEPTH_BUFFER_BIT1_QCOM :: GLenum
-gl_DEPTH_BUFFER_BIT1_QCOM = 0x00000200
-gl_DARKEN_KHR :: GLenum
-gl_DARKEN_KHR = 0x9297
-gl_OBJECT_COMPILE_STATUS_ARB :: GLenum
-gl_OBJECT_COMPILE_STATUS_ARB = 0x8B81
-gl_UNSIGNED_INT_10F_11F_11F_REV_APPLE :: GLenum
-gl_UNSIGNED_INT_10F_11F_11F_REV_APPLE = 0x8C3B
-gl_QUAD_STRIP :: GLenum
-gl_QUAD_STRIP = 0x0008
-gl_RGBA_S3TC :: GLenum
-gl_RGBA_S3TC = 0x83A2
-gl_DEPTH_COMPONENT24_OES :: GLenum
-gl_DEPTH_COMPONENT24_OES = 0x81A6
-gl_CONDITION_SATISFIED :: GLenum
-gl_CONDITION_SATISFIED = 0x911C
-gl_DUAL_LUMINANCE_ALPHA8_SGIS :: GLenum
-gl_DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D
-gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB :: GLenum
-gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1
-gl_TESS_CONTROL_SHADER_BIT :: GLenum
-gl_TESS_CONTROL_SHADER_BIT = 0x00000008
-gl_COLOR_ATTACHMENT6_NV :: GLenum
-gl_COLOR_ATTACHMENT6_NV = 0x8CE6
-gl_STENCIL_INDEX4_EXT :: GLenum
-gl_STENCIL_INDEX4_EXT = 0x8D47
-gl_CLIENT_STORAGE_BIT :: GLenum
-gl_CLIENT_STORAGE_BIT = 0x0200
-gl_SHADE_MODEL :: GLenum
-gl_SHADE_MODEL = 0x0B54
-gl_COLOR_MATRIX_SGI :: GLenum
-gl_COLOR_MATRIX_SGI = 0x80B1
-gl_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
-gl_UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128
-gl_VIEWPORT_BOUNDS_RANGE_EXT :: GLenum
-gl_VIEWPORT_BOUNDS_RANGE_EXT = 0x825D
-gl_VERTEX_ARRAY_EXT :: GLenum
-gl_VERTEX_ARRAY_EXT = 0x8074
-gl_PRIMITIVE_ID_NV :: GLenum
-gl_PRIMITIVE_ID_NV = 0x8C7C
-gl_DOT3_RGB :: GLenum
-gl_DOT3_RGB = 0x86AE
-gl_TEXTURE_GATHER :: GLenum
-gl_TEXTURE_GATHER = 0x82A2
-gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV :: GLenum
-gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851
-gl_DEPTH_COMPONENT32_ARB :: GLenum
-gl_DEPTH_COMPONENT32_ARB = 0x81A7
-gl_RGBA :: GLenum
-gl_RGBA = 0x1908
-gl_TEXTURE28 :: GLenum
-gl_TEXTURE28 = 0x84DC
-gl_MAX_GEOMETRY_OUTPUT_VERTICES_ARB :: GLenum
-gl_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0
-gl_RED_INTEGER :: GLenum
-gl_RED_INTEGER = 0x8D94
-gl_REG_4_ATI :: GLenum
-gl_REG_4_ATI = 0x8925
-gl_DT_BIAS_NV :: GLenum
-gl_DT_BIAS_NV = 0x8717
-gl_MINOR_VERSION :: GLenum
-gl_MINOR_VERSION = 0x821C
-gl_FONT_UNDERLINE_THICKNESS_BIT_NV :: GLenum
-gl_FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000
-gl_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
-gl_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262
-gl_SWIZZLE_STQ_DQ_ATI :: GLenum
-gl_SWIZZLE_STQ_DQ_ATI = 0x8979
-gl_IS_PER_PATCH :: GLenum
-gl_IS_PER_PATCH = 0x92E7
-gl_DECR :: GLenum
-gl_DECR = 0x1E03
-gl_UNSIGNED_NORMALIZED_ARB :: GLenum
-gl_UNSIGNED_NORMALIZED_ARB = 0x8C17
-gl_PROGRAM_BINARY_LENGTH_OES :: GLenum
-gl_PROGRAM_BINARY_LENGTH_OES = 0x8741
-gl_ALREADY_SIGNALED_APPLE :: GLenum
-gl_ALREADY_SIGNALED_APPLE = 0x911A
-gl_MATRIX29_ARB :: GLenum
-gl_MATRIX29_ARB = 0x88DD
-gl_UNSIGNED_SHORT_5_6_5_EXT :: GLenum
-gl_UNSIGNED_SHORT_5_6_5_EXT = 0x8363
-gl_DEPTH_COMPONENT24_SGIX :: GLenum
-gl_DEPTH_COMPONENT24_SGIX = 0x81A6
-gl_INT_SAMPLER_1D_ARRAY_EXT :: GLenum
-gl_INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE
-gl_MAX_FRAMEZOOM_FACTOR_SGIX :: GLenum
-gl_MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D
-gl_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
-gl_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312
-gl_PRIMITIVE_RESTART :: GLenum
-gl_PRIMITIVE_RESTART = 0x8F9D
-gl_LINEARLIGHT_NV :: GLenum
-gl_LINEARLIGHT_NV = 0x92A7
-gl_AFFINE_3D_NV :: GLenum
-gl_AFFINE_3D_NV = 0x9094
-gl_SAMPLER_3D_OES :: GLenum
-gl_SAMPLER_3D_OES = 0x8B5F
-gl_REG_31_ATI :: GLenum
-gl_REG_31_ATI = 0x8940
-gl_SAMPLE_LOCATION_SUBPIXEL_BITS_NV :: GLenum
-gl_SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D
-gl_RELATIVE_HORIZONTAL_LINE_TO_NV :: GLenum
-gl_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07
-gl_TEXTURE_LO_SIZE_NV :: GLenum
-gl_TEXTURE_LO_SIZE_NV = 0x871C
-gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX :: GLenum
-gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B
-gl_DEPTH_BUFFER_BIT4_QCOM :: GLenum
-gl_DEPTH_BUFFER_BIT4_QCOM = 0x00001000
-gl_MAX_NAME_STACK_DEPTH :: GLenum
-gl_MAX_NAME_STACK_DEPTH = 0x0D37
-gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23
-gl_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX :: GLenum
-gl_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX = 0x8314
-gl_FRAGMENT_SHADER :: GLenum
-gl_FRAGMENT_SHADER = 0x8B30
-gl_CONDITION_SATISFIED_APPLE :: GLenum
-gl_CONDITION_SATISFIED_APPLE = 0x911C
-gl_AUX0 :: GLenum
-gl_AUX0 = 0x0409
-gl_NUM_COMPRESSED_TEXTURE_FORMATS_ARB :: GLenum
-gl_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2
-gl_DRAW_BUFFER6_EXT :: GLenum
-gl_DRAW_BUFFER6_EXT = 0x882B
-gl_COPY_READ_BUFFER_BINDING :: GLenum
-gl_COPY_READ_BUFFER_BINDING = 0x8F36
-gl_LOCAL_CONSTANT_EXT :: GLenum
-gl_LOCAL_CONSTANT_EXT = 0x87C3
-gl_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
-gl_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC
-gl_OCCLUSION_QUERY_EVENT_MASK_AMD :: GLenum
-gl_OCCLUSION_QUERY_EVENT_MASK_AMD = 0x874F
-gl_TEXTURE_BASE_LEVEL_SGIS :: GLenum
-gl_TEXTURE_BASE_LEVEL_SGIS = 0x813C
-gl_EDGE_FLAG_ARRAY_LIST_IBM :: GLenum
-gl_EDGE_FLAG_ARRAY_LIST_IBM = 103075
-gl_LUMINANCE16F_EXT :: GLenum
-gl_LUMINANCE16F_EXT = 0x881E
-gl_OPERAND0_RGB_ARB :: GLenum
-gl_OPERAND0_RGB_ARB = 0x8590
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F
-gl_DRAW_BUFFER7_ATI :: GLenum
-gl_DRAW_BUFFER7_ATI = 0x882C
-gl_COMPRESSED_R11_EAC :: GLenum
-gl_COMPRESSED_R11_EAC = 0x9270
-gl_DEBUG_TYPE_PORTABILITY_KHR :: GLenum
-gl_DEBUG_TYPE_PORTABILITY_KHR = 0x824F
-gl_SOURCE0_ALPHA_ARB :: GLenum
-gl_SOURCE0_ALPHA_ARB = 0x8588
-gl_UNIFORM_BARRIER_BIT :: GLenum
-gl_UNIFORM_BARRIER_BIT = 0x00000004
-gl_SCISSOR_BOX :: GLenum
-gl_SCISSOR_BOX = 0x0C10
-gl_ATTENUATION_EXT :: GLenum
-gl_ATTENUATION_EXT = 0x834D
-gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32
-gl_UNIFORM_BLOCK_BINDING :: GLenum
-gl_UNIFORM_BLOCK_BINDING = 0x8A3F
-gl_SOURCE2_RGB :: GLenum
-gl_SOURCE2_RGB = 0x8582
-gl_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
-gl_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E
-gl_ALPHA8UI_EXT :: GLenum
-gl_ALPHA8UI_EXT = 0x8D7E
-gl_VIEW_CLASS_S3TC_DXT3_RGBA :: GLenum
-gl_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE
-gl_COLOR_TABLE_RED_SIZE :: GLenum
-gl_COLOR_TABLE_RED_SIZE = 0x80DA
-gl_SHADER_STORAGE_BUFFER :: GLenum
-gl_SHADER_STORAGE_BUFFER = 0x90D2
-gl_ONE_MINUS_DST_ALPHA :: GLenum
-gl_ONE_MINUS_DST_ALPHA = 0x0305
-gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV :: GLenum
-gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88
-gl_BLEND_SRC :: GLenum
-gl_BLEND_SRC = 0x0BE1
-gl_COORD_REPLACE :: GLenum
-gl_COORD_REPLACE = 0x8862
-gl_INT_IMAGE_2D_EXT :: GLenum
-gl_INT_IMAGE_2D_EXT = 0x9058
-gl_TEXTURE_RANGE_LENGTH_APPLE :: GLenum
-gl_TEXTURE_RANGE_LENGTH_APPLE = 0x85B7
-gl_FRAMEZOOM_FACTOR_SGIX :: GLenum
-gl_FRAMEZOOM_FACTOR_SGIX = 0x818C
-gl_C3F_V3F :: GLenum
-gl_C3F_V3F = 0x2A24
-gl_MAX_RECTANGLE_TEXTURE_SIZE_ARB :: GLenum
-gl_MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8
-gl_MATRIX0_ARB :: GLenum
-gl_MATRIX0_ARB = 0x88C0
-gl_COLOR_ATTACHMENT14_NV :: GLenum
-gl_COLOR_ATTACHMENT14_NV = 0x8CEE
-gl_VIRTUAL_PAGE_SIZE_INDEX_ARB :: GLenum
-gl_VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7
-gl_DEBUG_TYPE_OTHER :: GLenum
-gl_DEBUG_TYPE_OTHER = 0x8251
-gl_MAP1_VERTEX_ATTRIB4_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664
-gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
-gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F
-gl_BLEND_EQUATION_ALPHA_EXT :: GLenum
-gl_BLEND_EQUATION_ALPHA_EXT = 0x883D
-gl_R1UI_T2F_V3F_SUN :: GLenum
-gl_R1UI_T2F_V3F_SUN = 0x85C9
-gl_POINT_FADE_THRESHOLD_SIZE_ARB :: GLenum
-gl_POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128
-gl_MIN_PROGRAM_TEXEL_OFFSET_EXT :: GLenum
-gl_MIN_PROGRAM_TEXEL_OFFSET_EXT = 0x8904
-gl_RENDERBUFFER_ALPHA_SIZE :: GLenum
-gl_RENDERBUFFER_ALPHA_SIZE = 0x8D53
-gl_UTF16_NV :: GLenum
-gl_UTF16_NV = 0x909B
-gl_STENCIL_BUFFER_BIT :: GLenum
-gl_STENCIL_BUFFER_BIT = 0x00000400
-gl_OUTPUT_TEXTURE_COORD17_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD17_EXT = 0x87AE
-gl_SLUMINANCE :: GLenum
-gl_SLUMINANCE = 0x8C46
-gl_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV :: GLenum
-gl_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348
-gl_TEXTURE13_ARB :: GLenum
-gl_TEXTURE13_ARB = 0x84CD
-gl_TEXTURE_SWIZZLE_A_EXT :: GLenum
-gl_TEXTURE_SWIZZLE_A_EXT = 0x8E45
-gl_RELATIVE_LINE_TO_NV :: GLenum
-gl_RELATIVE_LINE_TO_NV = 0x05
-gl_DSDT8_NV :: GLenum
-gl_DSDT8_NV = 0x8709
-gl_PROGRAM_ERROR_POSITION_NV :: GLenum
-gl_PROGRAM_ERROR_POSITION_NV = 0x864B
-gl_POINT_SIZE_MIN :: GLenum
-gl_POINT_SIZE_MIN = 0x8126
-gl_TRACE_ALL_BITS_MESA :: GLenum
-gl_TRACE_ALL_BITS_MESA = 0xFFFF
-gl_PROGRAM_STRING_NV :: GLenum
-gl_PROGRAM_STRING_NV = 0x8628
-gl_DETAIL_TEXTURE_FUNC_POINTS_SGIS :: GLenum
-gl_DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C
-gl_ACCUM_CLEAR_VALUE :: GLenum
-gl_ACCUM_CLEAR_VALUE = 0x0B80
-gl_MAP1_VERTEX_ATTRIB6_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666
-gl_TEXTURE_PRE_SPECULAR_HP :: GLenum
-gl_TEXTURE_PRE_SPECULAR_HP = 0x8169
-gl_READ_BUFFER_NV :: GLenum
-gl_READ_BUFFER_NV = 0x0C02
-gl_GLYPH_HAS_KERNING_BIT_NV :: GLenum
-gl_GLYPH_HAS_KERNING_BIT_NV = 0x100
-gl_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
-gl_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF
-gl_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
-gl_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD
-gl_POINT :: GLenum
-gl_POINT = 0x1B00
-gl_S :: GLenum
-gl_S = 0x2000
-gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB :: GLenum
-gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F
-gl_EVAL_VERTEX_ATTRIB2_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB2_NV = 0x86C8
-gl_LIGHT4 :: GLenum
-gl_LIGHT4 = 0x4004
-gl_PROGRAM_ALU_INSTRUCTIONS_ARB :: GLenum
-gl_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805
-gl_VERTEX_PROGRAM_POSITION_MESA :: GLenum
-gl_VERTEX_PROGRAM_POSITION_MESA = 0x8BB4
-gl_MINMAX_FORMAT :: GLenum
-gl_MINMAX_FORMAT = 0x802F
-gl_TEXTURE_INDEX_SIZE_EXT :: GLenum
-gl_TEXTURE_INDEX_SIZE_EXT = 0x80ED
-gl_POINT_SIZE_MAX_SGIS :: GLenum
-gl_POINT_SIZE_MAX_SGIS = 0x8127
-gl_ACCUM_BLUE_BITS :: GLenum
-gl_ACCUM_BLUE_BITS = 0x0D5A
-gl_TEXTURE_CUBE_MAP_NEGATIVE_X_OES :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_X_OES = 0x8516
-gl_REG_8_ATI :: GLenum
-gl_REG_8_ATI = 0x8929
-gl_TEXTURE_IMAGE_VALID_QCOM :: GLenum
-gl_TEXTURE_IMAGE_VALID_QCOM = 0x8BD8
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT :: GLenum
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CE
-gl_FRAMEBUFFER_OES :: GLenum
-gl_FRAMEBUFFER_OES = 0x8D40
-gl_VIEW_CLASS_RGTC1_RED :: GLenum
-gl_VIEW_CLASS_RGTC1_RED = 0x82D0
-gl_RENDERBUFFER_RED_SIZE :: GLenum
-gl_RENDERBUFFER_RED_SIZE = 0x8D50
-gl_PIXEL_BUFFER_BARRIER_BIT :: GLenum
-gl_PIXEL_BUFFER_BARRIER_BIT = 0x00000080
-gl_SECONDARY_COLOR_ARRAY_STRIDE_EXT :: GLenum
-gl_SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C
-gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E
-gl_DRAW_BUFFER4_ATI :: GLenum
-gl_DRAW_BUFFER4_ATI = 0x8829
-gl_UNSIGNED_INT_VEC3_EXT :: GLenum
-gl_UNSIGNED_INT_VEC3_EXT = 0x8DC7
-gl_YCBAYCR8A_4224_NV :: GLenum
-gl_YCBAYCR8A_4224_NV = 0x9032
-gl_MATRIX_EXT :: GLenum
-gl_MATRIX_EXT = 0x87C0
-gl_TANGENT_ARRAY_STRIDE_EXT :: GLenum
-gl_TANGENT_ARRAY_STRIDE_EXT = 0x843F
-gl_EYE_LINE_SGIS :: GLenum
-gl_EYE_LINE_SGIS = 0x81F6
-gl_IMAGE_CLASS_2_X_16 :: GLenum
-gl_IMAGE_CLASS_2_X_16 = 0x82BD
-gl_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI :: GLenum
-gl_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI = 0x8837
-gl_INDEX_ARRAY_STRIDE :: GLenum
-gl_INDEX_ARRAY_STRIDE = 0x8086
-gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
-gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5
-gl_MATRIX30_ARB :: GLenum
-gl_MATRIX30_ARB = 0x88DE
-gl_CON_19_ATI :: GLenum
-gl_CON_19_ATI = 0x8954
-gl_IMPLEMENTATION_COLOR_READ_TYPE_OES :: GLenum
-gl_IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A
-gl_GUILTY_CONTEXT_RESET_EXT :: GLenum
-gl_GUILTY_CONTEXT_RESET_EXT = 0x8253
-gl_COLOR_ARRAY_TYPE :: GLenum
-gl_COLOR_ARRAY_TYPE = 0x8082
-gl_MODELVIEW3_ARB :: GLenum
-gl_MODELVIEW3_ARB = 0x8723
-gl_RG32F_EXT :: GLenum
-gl_RG32F_EXT = 0x8230
-gl_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
-gl_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104
-gl_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
-gl_UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127
-gl_VERTEX_BINDING_OFFSET :: GLenum
-gl_VERTEX_BINDING_OFFSET = 0x82D7
-gl_VIDEO_COLOR_CONVERSION_MATRIX_NV :: GLenum
-gl_VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029
-gl_RGB32UI_EXT :: GLenum
-gl_RGB32UI_EXT = 0x8D71
-gl_COMBINER_MUX_SUM_NV :: GLenum
-gl_COMBINER_MUX_SUM_NV = 0x8547
-gl_VERSION :: GLenum
-gl_VERSION = 0x1F02
-gl_RGBA16F_ARB :: GLenum
-gl_RGBA16F_ARB = 0x881A
-gl_DEBUG_TYPE_PERFORMANCE_KHR :: GLenum
-gl_DEBUG_TYPE_PERFORMANCE_KHR = 0x8250
-gl_QUERY_RESULT_NO_WAIT_AMD :: GLenum
-gl_QUERY_RESULT_NO_WAIT_AMD = 0x9194
-gl_COPY_INVERTED :: GLenum
-gl_COPY_INVERTED = 0x150C
-gl_DOUBLEBUFFER :: GLenum
-gl_DOUBLEBUFFER = 0x0C32
-gl_DEBUG_GROUP_STACK_DEPTH_KHR :: GLenum
-gl_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826D
-gl_NORMAL_ARRAY_LENGTH_NV :: GLenum
-gl_NORMAL_ARRAY_LENGTH_NV = 0x8F2C
-gl_LIGHT_MODEL_COLOR_CONTROL :: GLenum
-gl_LIGHT_MODEL_COLOR_CONTROL = 0x81F8
-gl_DISCRETE_AMD :: GLenum
-gl_DISCRETE_AMD = 0x9006
-gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV :: GLenum
-gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28
-gl_TEXTURE_RENDERBUFFER_NV :: GLenum
-gl_TEXTURE_RENDERBUFFER_NV = 0x8E55
-gl_ADD_SIGNED_ARB :: GLenum
-gl_ADD_SIGNED_ARB = 0x8574
-gl_EYE_DISTANCE_TO_POINT_SGIS :: GLenum
-gl_EYE_DISTANCE_TO_POINT_SGIS = 0x81F0
-gl_ASYNC_TEX_IMAGE_SGIX :: GLenum
-gl_ASYNC_TEX_IMAGE_SGIX = 0x835C
-gl_TEXTURE9_ARB :: GLenum
-gl_TEXTURE9_ARB = 0x84C9
-gl_FRAMEBUFFER_COMPLETE_OES :: GLenum
-gl_FRAMEBUFFER_COMPLETE_OES = 0x8CD5
-gl_TEXTURE_2D_ARRAY :: GLenum
-gl_TEXTURE_2D_ARRAY = 0x8C1A
-gl_COVERAGE_COMPONENT4_NV :: GLenum
-gl_COVERAGE_COMPONENT4_NV = 0x8ED1
-gl_WEIGHT_ARRAY_SIZE_ARB :: GLenum
-gl_WEIGHT_ARRAY_SIZE_ARB = 0x86AB
-gl_LUMINANCE16_ALPHA16_EXT :: GLenum
-gl_LUMINANCE16_ALPHA16_EXT = 0x8048
-gl_FLOAT_R32_NV :: GLenum
-gl_FLOAT_R32_NV = 0x8885
-gl_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
-gl_SECONDARY_COLOR_ARRAY_SIZE = 0x845A
-gl_PHONG_HINT_WIN :: GLenum
-gl_PHONG_HINT_WIN = 0x80EB
-gl_SHADER_STORAGE_BLOCK :: GLenum
-gl_SHADER_STORAGE_BLOCK = 0x92E6
-gl_YCRCBA_SGIX :: GLenum
-gl_YCRCBA_SGIX = 0x8319
-gl_PRIMITIVE_RESTART_NV :: GLenum
-gl_PRIMITIVE_RESTART_NV = 0x8558
-gl_GEOMETRY_DEFORMATION_BIT_SGIX :: GLenum
-gl_GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002
-gl_MAP_COLOR :: GLenum
-gl_MAP_COLOR = 0x0D10
-gl_VERTEX_SHADER_ARB :: GLenum
-gl_VERTEX_SHADER_ARB = 0x8B31
-gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB :: GLenum
-gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E
-gl_RELATIVE_LARGE_CW_ARC_TO_NV :: GLenum
-gl_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19
-gl_COVERAGE_MODULATION_NV :: GLenum
-gl_COVERAGE_MODULATION_NV = 0x9332
-gl_RGB16I :: GLenum
-gl_RGB16I = 0x8D89
-gl_TRANSFORM_FEEDBACK_RECORD_NV :: GLenum
-gl_TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86
-gl_TEXTURE3 :: GLenum
-gl_TEXTURE3 = 0x84C3
-gl_VERTEX_TEXTURE :: GLenum
-gl_VERTEX_TEXTURE = 0x829B
-gl_COMPRESSED_RGBA_ASTC_6x6x6_OES :: GLenum
-gl_COMPRESSED_RGBA_ASTC_6x6x6_OES = 0x93C9
-gl_MAX_COMBINED_DIMENSIONS :: GLenum
-gl_MAX_COMBINED_DIMENSIONS = 0x8282
-gl_IMAGE_CLASS_1_X_32 :: GLenum
-gl_IMAGE_CLASS_1_X_32 = 0x82BB
-gl_SAMPLER_3D_ARB :: GLenum
-gl_SAMPLER_3D_ARB = 0x8B5F
-gl_TEXTURE_BINDING :: GLenum
-gl_TEXTURE_BINDING = 0x82EB
-gl_INT_IMAGE_1D :: GLenum
-gl_INT_IMAGE_1D = 0x9057
-gl_QUAD_INTENSITY8_SGIS :: GLenum
-gl_QUAD_INTENSITY8_SGIS = 0x8123
-gl_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT :: GLenum
-gl_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020
-gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT :: GLenum
-gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337
-gl_BUFFER_SIZE_ARB :: GLenum
-gl_BUFFER_SIZE_ARB = 0x8764
-gl_SAMPLE_PATTERN_SGIS :: GLenum
-gl_SAMPLE_PATTERN_SGIS = 0x80AC
-gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT :: GLenum
-gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CF
-gl_FIELD_UPPER_NV :: GLenum
-gl_FIELD_UPPER_NV = 0x9022
-gl_COLOR_MATRIX_STACK_DEPTH_SGI :: GLenum
-gl_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2
-gl_POST_CONVOLUTION_COLOR_TABLE_SGI :: GLenum
-gl_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1
-gl_BLEND_COLOR :: GLenum
-gl_BLEND_COLOR = 0x8005
-gl_NORMAL_MAP :: GLenum
-gl_NORMAL_MAP = 0x8511
-gl_MAP_STENCIL :: GLenum
-gl_MAP_STENCIL = 0x0D11
-gl_STENCIL_INDEX8 :: GLenum
-gl_STENCIL_INDEX8 = 0x8D48
-gl_8X_BIT_ATI :: GLenum
-gl_8X_BIT_ATI = 0x00000004
-gl_COLOR_TABLE_RED_SIZE_SGI :: GLenum
-gl_COLOR_TABLE_RED_SIZE_SGI = 0x80DA
-gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT :: GLenum
-gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT = 0x8E81
-gl_CAVEAT_SUPPORT :: GLenum
-gl_CAVEAT_SUPPORT = 0x82B8
-gl_TEXTURE_2D :: GLenum
-gl_TEXTURE_2D = 0x0DE1
-gl_MAX_TEXTURE_COORDS_NV :: GLenum
-gl_MAX_TEXTURE_COORDS_NV = 0x8871
-gl_TEXTURE4 :: GLenum
-gl_TEXTURE4 = 0x84C4
-gl_STORAGE_PRIVATE_APPLE :: GLenum
-gl_STORAGE_PRIVATE_APPLE = 0x85BD
-gl_DEBUG_OBJECT_MESA :: GLenum
-gl_DEBUG_OBJECT_MESA = 0x8759
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 0x8CD0
-gl_SGX_BINARY_IMG :: GLenum
-gl_SGX_BINARY_IMG = 0x8C0A
-gl_IR_INSTRUMENT1_SGIX :: GLenum
-gl_IR_INSTRUMENT1_SGIX = 0x817F
-gl_DEPTH_COMPONENTS :: GLenum
-gl_DEPTH_COMPONENTS = 0x8284
-gl_TEXTURE_BINDING_BUFFER_ARB :: GLenum
-gl_TEXTURE_BINDING_BUFFER_ARB = 0x8C2C
-gl_ALPHA_FLOAT16_ATI :: GLenum
-gl_ALPHA_FLOAT16_ATI = 0x881C
-gl_TEXTURE_MAX_LEVEL_APPLE :: GLenum
-gl_TEXTURE_MAX_LEVEL_APPLE = 0x813D
-gl_READ_FRAMEBUFFER_EXT :: GLenum
-gl_READ_FRAMEBUFFER_EXT = 0x8CA8
-gl_ATTRIB_ARRAY_POINTER_NV :: GLenum
-gl_ATTRIB_ARRAY_POINTER_NV = 0x8645
-gl_FRAMEBUFFER_RENDERABLE :: GLenum
-gl_FRAMEBUFFER_RENDERABLE = 0x8289
-gl_REG_29_ATI :: GLenum
-gl_REG_29_ATI = 0x893E
-gl_INDEX_ARRAY_BUFFER_BINDING :: GLenum
-gl_INDEX_ARRAY_BUFFER_BINDING = 0x8899
-gl_TEXTURE26 :: GLenum
-gl_TEXTURE26 = 0x84DA
-gl_SIGNED_LUMINANCE_ALPHA_NV :: GLenum
-gl_SIGNED_LUMINANCE_ALPHA_NV = 0x8703
-gl_DEPTH_STENCIL_TEXTURE_MODE :: GLenum
-gl_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA
-gl_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
-gl_CURRENT_RASTER_SECONDARY_COLOR = 0x845F
-gl_INVALID_INDEX :: GLenum
-gl_INVALID_INDEX = 0xFFFFFFFF
-gl_POINT_SMOOTH_HINT :: GLenum
-gl_POINT_SMOOTH_HINT = 0x0C51
-gl_PIXEL_MAP_I_TO_B :: GLenum
-gl_PIXEL_MAP_I_TO_B = 0x0C74
-gl_BLEND_EQUATION_RGB_EXT :: GLenum
-gl_BLEND_EQUATION_RGB_EXT = 0x8009
-gl_VERTEX_ATTRIB_ARRAY_SIZE_ARB :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623
-gl_INVALID_OPERATION :: GLenum
-gl_INVALID_OPERATION = 0x0502
-gl_QUERY_RESULT_AVAILABLE_ARB :: GLenum
-gl_QUERY_RESULT_AVAILABLE_ARB = 0x8867
-gl_LUMINANCE8_ALPHA8 :: GLenum
-gl_LUMINANCE8_ALPHA8 = 0x8045
-gl_QUERY_TARGET :: GLenum
-gl_QUERY_TARGET = 0x82EA
-gl_TEXTURE_WRAP_S :: GLenum
-gl_TEXTURE_WRAP_S = 0x2802
-gl_COLOR_TABLE_WIDTH_SGI :: GLenum
-gl_COLOR_TABLE_WIDTH_SGI = 0x80D9
-gl_RGB5 :: GLenum
-gl_RGB5 = 0x8050
-gl_VERTEX_PROGRAM_ARB :: GLenum
-gl_VERTEX_PROGRAM_ARB = 0x8620
-gl_HSL_HUE_KHR :: GLenum
-gl_HSL_HUE_KHR = 0x92AD
-gl_ELEMENT_ARRAY_LENGTH_NV :: GLenum
-gl_ELEMENT_ARRAY_LENGTH_NV = 0x8F33
-gl_BOOL_VEC2_ARB :: GLenum
-gl_BOOL_VEC2_ARB = 0x8B57
-gl_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB :: GLenum
-gl_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE
-gl_STREAM_COPY_ARB :: GLenum
-gl_STREAM_COPY_ARB = 0x88E2
-gl_LUMINANCE8_SNORM :: GLenum
-gl_LUMINANCE8_SNORM = 0x9015
-gl_TIME_ELAPSED_EXT :: GLenum
-gl_TIME_ELAPSED_EXT = 0x88BF
-gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: GLenum
-gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF
-gl_TEXTURE_BLUE_SIZE :: GLenum
-gl_TEXTURE_BLUE_SIZE = 0x805E
-gl_TRANSLATE_3D_NV :: GLenum
-gl_TRANSLATE_3D_NV = 0x9091
-gl_SHADOW_AMBIENT_SGIX :: GLenum
-gl_SHADOW_AMBIENT_SGIX = 0x80BF
-gl_UNSIGNED_INT_8_24_REV_MESA :: GLenum
-gl_UNSIGNED_INT_8_24_REV_MESA = 0x8752
-gl_GLYPH_VERTICAL_BEARING_X_BIT_NV :: GLenum
-gl_GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20
-gl_POLYGON_OFFSET_FACTOR_EXT :: GLenum
-gl_POLYGON_OFFSET_FACTOR_EXT = 0x8038
-gl_VERTEX_SUBROUTINE_UNIFORM :: GLenum
-gl_VERTEX_SUBROUTINE_UNIFORM = 0x92EE
-gl_SHADER_PIXEL_LOCAL_STORAGE_EXT :: GLenum
-gl_SHADER_PIXEL_LOCAL_STORAGE_EXT = 0x8F64
-gl_R1UI_C4F_N3F_V3F_SUN :: GLenum
-gl_R1UI_C4F_N3F_V3F_SUN = 0x85C8
-gl_POLYGON_OFFSET_CLAMP_EXT :: GLenum
-gl_POLYGON_OFFSET_CLAMP_EXT = 0x8E1B
-gl_PIXEL_COUNTER_BITS_NV :: GLenum
-gl_PIXEL_COUNTER_BITS_NV = 0x8864
-gl_PATH_STENCIL_FUNC_NV :: GLenum
-gl_PATH_STENCIL_FUNC_NV = 0x90B7
-gl_SUCCESS_NV :: GLenum
-gl_SUCCESS_NV = 0x902F
-gl_REG_5_ATI :: GLenum
-gl_REG_5_ATI = 0x8926
-gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6
-gl_AUX_DEPTH_STENCIL_APPLE :: GLenum
-gl_AUX_DEPTH_STENCIL_APPLE = 0x8A14
-gl_SPECULAR :: GLenum
-gl_SPECULAR = 0x1202
-gl_TEXTURE_CUBE_MAP_POSITIVE_X_OES :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_X_OES = 0x8515
-gl_TEXTURE_SPARSE_ARB :: GLenum
-gl_TEXTURE_SPARSE_ARB = 0x91A6
-gl_REG_17_ATI :: GLenum
-gl_REG_17_ATI = 0x8932
-gl_PROXY_TEXTURE_2D_EXT :: GLenum
-gl_PROXY_TEXTURE_2D_EXT = 0x8064
-gl_MUL_ATI :: GLenum
-gl_MUL_ATI = 0x8964
-gl_COVERAGE_SAMPLES_NV :: GLenum
-gl_COVERAGE_SAMPLES_NV = 0x8ED4
-gl_MAX_DEEP_3D_TEXTURE_DEPTH_NV :: GLenum
-gl_MAX_DEEP_3D_TEXTURE_DEPTH_NV = 0x90D1
-gl_POINT_SIZE_MIN_EXT :: GLenum
-gl_POINT_SIZE_MIN_EXT = 0x8126
-gl_COMPRESSED_RGBA_S3TC_DXT3_ANGLE :: GLenum
-gl_COMPRESSED_RGBA_S3TC_DXT3_ANGLE = 0x83F2
-gl_COLOR_ARRAY_LIST_IBM :: GLenum
-gl_COLOR_ARRAY_LIST_IBM = 103072
-gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
-gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3
-gl_DRAW_BUFFER :: GLenum
-gl_DRAW_BUFFER = 0x0C01
-gl_DEBUG_TYPE_POP_GROUP :: GLenum
-gl_DEBUG_TYPE_POP_GROUP = 0x826A
-gl_VIEW_CLASS_S3TC_DXT1_RGB :: GLenum
-gl_VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC
-gl_TEXTURE17 :: GLenum
-gl_TEXTURE17 = 0x84D1
-gl_BUFFER_OBJECT_EXT :: GLenum
-gl_BUFFER_OBJECT_EXT = 0x9151
-gl_DRAW_BUFFER1_EXT :: GLenum
-gl_DRAW_BUFFER1_EXT = 0x8826
-gl_MODELVIEW23_ARB :: GLenum
-gl_MODELVIEW23_ARB = 0x8737
-gl_TEXTURE_APPLICATION_MODE_EXT :: GLenum
-gl_TEXTURE_APPLICATION_MODE_EXT = 0x834F
-gl_RG16_EXT :: GLenum
-gl_RG16_EXT = 0x822C
-gl_SYNC_STATUS :: GLenum
-gl_SYNC_STATUS = 0x9114
-gl_CURRENT_NORMAL :: GLenum
-gl_CURRENT_NORMAL = 0x0B02
-gl_CLIP_PLANE0 :: GLenum
-gl_CLIP_PLANE0 = 0x3000
-gl_MAP1_VERTEX_3 :: GLenum
-gl_MAP1_VERTEX_3 = 0x0D97
-gl_MAP_READ_BIT_EXT :: GLenum
-gl_MAP_READ_BIT_EXT = 0x0001
-gl_VIEW_CLASS_S3TC_DXT1_RGBA :: GLenum
-gl_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD
-gl_TEXTURE_MAX_CLAMP_R_SGIX :: GLenum
-gl_TEXTURE_MAX_CLAMP_R_SGIX = 0x836B
-gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
-gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243
-gl_FEEDBACK_BUFFER_POINTER :: GLenum
-gl_FEEDBACK_BUFFER_POINTER = 0x0DF0
-gl_SURFACE_MAPPED_NV :: GLenum
-gl_SURFACE_MAPPED_NV = 0x8700
-gl_SELECTION_BUFFER_POINTER :: GLenum
-gl_SELECTION_BUFFER_POINTER = 0x0DF3
-gl_PROXY_TEXTURE_COLOR_TABLE_SGI :: GLenum
-gl_PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD
-gl_IMAGE_BUFFER :: GLenum
-gl_IMAGE_BUFFER = 0x9051
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV = 0x8C4D
-gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6
-gl_ATTRIB_ARRAY_TYPE_NV :: GLenum
-gl_ATTRIB_ARRAY_TYPE_NV = 0x8625
-gl_IMAGE_CLASS_4_X_16 :: GLenum
-gl_IMAGE_CLASS_4_X_16 = 0x82BC
-gl_READ_PIXELS_FORMAT :: GLenum
-gl_READ_PIXELS_FORMAT = 0x828D
-gl_TEXTURE_CUBE_MAP_ARB :: GLenum
-gl_TEXTURE_CUBE_MAP_ARB = 0x8513
-gl_NUM_PROGRAM_BINARY_FORMATS_OES :: GLenum
-gl_NUM_PROGRAM_BINARY_FORMATS_OES = 0x87FE
-gl_FOG_FUNC_POINTS_SGIS :: GLenum
-gl_FOG_FUNC_POINTS_SGIS = 0x812B
-gl_RGBA12_EXT :: GLenum
-gl_RGBA12_EXT = 0x805A
-gl_ALPHA8_EXT :: GLenum
-gl_ALPHA8_EXT = 0x803C
-gl_AMBIENT :: GLenum
-gl_AMBIENT = 0x1200
-gl_PALETTE8_RGBA8_OES :: GLenum
-gl_PALETTE8_RGBA8_OES = 0x8B96
-gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB :: GLenum
-gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C
-gl_DOUBLE_MAT4_EXT :: GLenum
-gl_DOUBLE_MAT4_EXT = 0x8F48
-gl_CONSTANT_COLOR :: GLenum
-gl_CONSTANT_COLOR = 0x8001
-gl_CURRENT_SECONDARY_COLOR_EXT :: GLenum
-gl_CURRENT_SECONDARY_COLOR_EXT = 0x8459
-gl_LUMINANCE12_ALPHA4 :: GLenum
-gl_LUMINANCE12_ALPHA4 = 0x8046
-gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC
-gl_STENCIL_BACK_FAIL_ATI :: GLenum
-gl_STENCIL_BACK_FAIL_ATI = 0x8801
-gl_TEXTURE_COMPARE_FUNC_EXT :: GLenum
-gl_TEXTURE_COMPARE_FUNC_EXT = 0x884D
-gl_OFFSET :: GLenum
-gl_OFFSET = 0x92FC
-gl_DARKEN_NV :: GLenum
-gl_DARKEN_NV = 0x9297
-gl_NUM_VIDEO_CAPTURE_STREAMS_NV :: GLenum
-gl_NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024
-gl_4PASS_3_EXT :: GLenum
-gl_4PASS_3_EXT = 0x80A7
-gl_DOUBLE_MAT2_EXT :: GLenum
-gl_DOUBLE_MAT2_EXT = 0x8F46
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80
-gl_TEXTURE_FETCH_BARRIER_BIT :: GLenum
-gl_TEXTURE_FETCH_BARRIER_BIT = 0x00000008
-gl_COLOR_ATTACHMENT13 :: GLenum
-gl_COLOR_ATTACHMENT13 = 0x8CED
-gl_DOT_PRODUCT_REFLECT_CUBE_MAP_NV :: GLenum
-gl_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2
-gl_CURRENT_QUERY_EXT :: GLenum
-gl_CURRENT_QUERY_EXT = 0x8865
-gl_TRANSFORM_FEEDBACK_BINDING_NV :: GLenum
-gl_TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25
-gl_LAYER_NV :: GLenum
-gl_LAYER_NV = 0x8DAA
-gl_RGB5_A1_OES :: GLenum
-gl_RGB5_A1_OES = 0x8057
-gl_BLEND_DST_ALPHA :: GLenum
-gl_BLEND_DST_ALPHA = 0x80CA
-gl_WRITE_ONLY :: GLenum
-gl_WRITE_ONLY = 0x88B9
-gl_PIXEL_MAP_I_TO_R :: GLenum
-gl_PIXEL_MAP_I_TO_R = 0x0C72
-gl_TESS_EVALUATION_TEXTURE :: GLenum
-gl_TESS_EVALUATION_TEXTURE = 0x829D
-gl_MALI_PROGRAM_BINARY_ARM :: GLenum
-gl_MALI_PROGRAM_BINARY_ARM = 0x8F61
-gl_FRONT :: GLenum
-gl_FRONT = 0x0404
-gl_UNSIGNED_SHORT_5_6_5_REV_EXT :: GLenum
-gl_UNSIGNED_SHORT_5_6_5_REV_EXT = 0x8364
-gl_CURRENT_TANGENT_EXT :: GLenum
-gl_CURRENT_TANGENT_EXT = 0x843B
-gl_DEPTH_TEXTURE_MODE :: GLenum
-gl_DEPTH_TEXTURE_MODE = 0x884B
-gl_IMAGE_BINDING_NAME :: GLenum
-gl_IMAGE_BINDING_NAME = 0x8F3A
-gl_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
-gl_UNSIGNED_INT_IMAGE_BUFFER = 0x9067
-gl_UNSIGNED_INT_24_8 :: GLenum
-gl_UNSIGNED_INT_24_8 = 0x84FA
-gl_2PASS_0_SGIS :: GLenum
-gl_2PASS_0_SGIS = 0x80A2
-gl_OPERAND2_RGB_ARB :: GLenum
-gl_OPERAND2_RGB_ARB = 0x8592
-gl_SRGB_ALPHA_EXT :: GLenum
-gl_SRGB_ALPHA_EXT = 0x8C42
-gl_INTENSITY16I_EXT :: GLenum
-gl_INTENSITY16I_EXT = 0x8D8B
-gl_COMPRESSED_RED_RGTC1 :: GLenum
-gl_COMPRESSED_RED_RGTC1 = 0x8DBB
-gl_FRAMEBUFFER_RENDERABLE_LAYERED :: GLenum
-gl_FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A
-gl_PACK_SKIP_PIXELS :: GLenum
-gl_PACK_SKIP_PIXELS = 0x0D04
-gl_SMALL_CW_ARC_TO_NV :: GLenum
-gl_SMALL_CW_ARC_TO_NV = 0x14
-gl_OUTPUT_TEXTURE_COORD27_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD27_EXT = 0x87B8
-gl_MODELVIEW8_ARB :: GLenum
-gl_MODELVIEW8_ARB = 0x8728
-gl_IS_PER_PATCH_EXT :: GLenum
-gl_IS_PER_PATCH_EXT = 0x92E7
-gl_INVERSE_NV :: GLenum
-gl_INVERSE_NV = 0x862B
-gl_FLOAT16_NV :: GLenum
-gl_FLOAT16_NV = 0x8FF8
-gl_MAP_FLUSH_EXPLICIT_BIT_EXT :: GLenum
-gl_MAP_FLUSH_EXPLICIT_BIT_EXT = 0x0010
-gl_RED_NV :: GLenum
-gl_RED_NV = 0x1903
-gl_LOW_FLOAT :: GLenum
-gl_LOW_FLOAT = 0x8DF0
-gl_NO_RESET_NOTIFICATION_ARB :: GLenum
-gl_NO_RESET_NOTIFICATION_ARB = 0x8261
-gl_DEBUG_PRINT_MESA :: GLenum
-gl_DEBUG_PRINT_MESA = 0x875A
-gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB
-gl_SAMPLES_PASSED_ARB :: GLenum
-gl_SAMPLES_PASSED_ARB = 0x8914
-gl_PATH_OBJECT_BOUNDING_BOX_NV :: GLenum
-gl_PATH_OBJECT_BOUNDING_BOX_NV = 0x908A
-gl_4PASS_0_EXT :: GLenum
-gl_4PASS_0_EXT = 0x80A4
-gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
-gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x906B
-gl_SHARED_TEXTURE_PALETTE_EXT :: GLenum
-gl_SHARED_TEXTURE_PALETTE_EXT = 0x81FB
-gl_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
-gl_MIN_PROGRAM_TEXEL_OFFSET = 0x8904
-gl_NORMAL_ARRAY_COUNT_EXT :: GLenum
-gl_NORMAL_ARRAY_COUNT_EXT = 0x8080
-gl_RELATIVE_ROUNDED_RECT8_NV :: GLenum
-gl_RELATIVE_ROUNDED_RECT8_NV = 0xEF
-gl_COMBINER_CD_DOT_PRODUCT_NV :: GLenum
-gl_COMBINER_CD_DOT_PRODUCT_NV = 0x8546
-gl_ACTIVE_STENCIL_FACE_EXT :: GLenum
-gl_ACTIVE_STENCIL_FACE_EXT = 0x8911
-gl_QUERY_NO_WAIT :: GLenum
-gl_QUERY_NO_WAIT = 0x8E14
-gl_DRAW_BUFFER11_NV :: GLenum
-gl_DRAW_BUFFER11_NV = 0x8830
-gl_VERTEX_ATTRIB_ARRAY9_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY9_NV = 0x8659
-gl_DYNAMIC_READ_ARB :: GLenum
-gl_DYNAMIC_READ_ARB = 0x88E9
-gl_LINE_WIDTH :: GLenum
-gl_LINE_WIDTH = 0x0B21
-gl_DEBUG_SEVERITY_HIGH_ARB :: GLenum
-gl_DEBUG_SEVERITY_HIGH_ARB = 0x9146
-gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: GLenum
-gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB
-gl_TEXTURE_CUBE_MAP_ARRAY_ARB :: GLenum
-gl_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009
-gl_TEXTURE9 :: GLenum
-gl_TEXTURE9 = 0x84C9
-gl_VERTEX_STREAM3_ATI :: GLenum
-gl_VERTEX_STREAM3_ATI = 0x876F
-gl_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
-gl_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF
-gl_MIRROR_CLAMP_TO_EDGE :: GLenum
-gl_MIRROR_CLAMP_TO_EDGE = 0x8743
-gl_TEXTURE_DEPTH_TYPE_ARB :: GLenum
-gl_TEXTURE_DEPTH_TYPE_ARB = 0x8C16
-gl_REG_22_ATI :: GLenum
-gl_REG_22_ATI = 0x8937
-gl_OP_NEGATE_EXT :: GLenum
-gl_OP_NEGATE_EXT = 0x8783
-gl_MATRIX8_ARB :: GLenum
-gl_MATRIX8_ARB = 0x88C8
-gl_COMBINER6_NV :: GLenum
-gl_COMBINER6_NV = 0x8556
-gl_ACTIVE_ATTRIBUTES :: GLenum
-gl_ACTIVE_ATTRIBUTES = 0x8B89
-gl_TEXTURE_1D_STACK_BINDING_MESAX :: GLenum
-gl_TEXTURE_1D_STACK_BINDING_MESAX = 0x875D
-gl_TRANSPOSE_CURRENT_MATRIX_ARB :: GLenum
-gl_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7
-gl_MAP1_VERTEX_ATTRIB8_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668
-gl_RG32I :: GLenum
-gl_RG32I = 0x823B
-gl_SAMPLE_ALPHA_TO_ONE :: GLenum
-gl_SAMPLE_ALPHA_TO_ONE = 0x809F
-gl_DSDT8_MAG8_INTENSITY8_NV :: GLenum
-gl_DSDT8_MAG8_INTENSITY8_NV = 0x870B
-gl_POINT_SIZE_RANGE :: GLenum
-gl_POINT_SIZE_RANGE = 0x0B12
-gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
-gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4
-gl_NEAREST_CLIPMAP_LINEAR_SGIX :: GLenum
-gl_NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E
-gl_MATERIAL_SIDE_HINT_PGI :: GLenum
-gl_MATERIAL_SIDE_HINT_PGI = 0x1A22C
-gl_DRAW_BUFFER11_ATI :: GLenum
-gl_DRAW_BUFFER11_ATI = 0x8830
-gl_SHADER_STORAGE_BARRIER_BIT :: GLenum
-gl_SHADER_STORAGE_BARRIER_BIT = 0x00002000
-gl_MAP_UNSYNCHRONIZED_BIT_EXT :: GLenum
-gl_MAP_UNSYNCHRONIZED_BIT_EXT = 0x0020
-gl_INTENSITY16F_ARB :: GLenum
-gl_INTENSITY16F_ARB = 0x881D
-gl_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
-gl_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307
-gl_PATH_DASH_OFFSET_NV :: GLenum
-gl_PATH_DASH_OFFSET_NV = 0x907E
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE
-gl_PATH_COVER_DEPTH_FUNC_NV :: GLenum
-gl_PATH_COVER_DEPTH_FUNC_NV = 0x90BF
-gl_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
-gl_TRANSFORM_FEEDBACK_ACTIVE = 0x8E24
-gl_FONT_HEIGHT_BIT_NV :: GLenum
-gl_FONT_HEIGHT_BIT_NV = 0x00800000
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518
-gl_UNDEFINED_VERTEX :: GLenum
-gl_UNDEFINED_VERTEX = 0x8260
-gl_DEBUG_SEVERITY_LOW_KHR :: GLenum
-gl_DEBUG_SEVERITY_LOW_KHR = 0x9148
-gl_HARDMIX_NV :: GLenum
-gl_HARDMIX_NV = 0x92A9
-gl_MULTISAMPLE_EXT :: GLenum
-gl_MULTISAMPLE_EXT = 0x809D
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0
-gl_COVERAGE_MODULATION_TABLE_SIZE_NV :: GLenum
-gl_COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333
-gl_GREEN :: GLenum
-gl_GREEN = 0x1904
-gl_COUNT_DOWN_NV :: GLenum
-gl_COUNT_DOWN_NV = 0x9089
-gl_CON_3_ATI :: GLenum
-gl_CON_3_ATI = 0x8944
-gl_CLIP_DISTANCE5_APPLE :: GLenum
-gl_CLIP_DISTANCE5_APPLE = 0x3005
-gl_DRAW_INDIRECT_BUFFER :: GLenum
-gl_DRAW_INDIRECT_BUFFER = 0x8F3F
-gl_CURRENT_VERTEX_ATTRIB :: GLenum
-gl_CURRENT_VERTEX_ATTRIB = 0x8626
-gl_SKIP_COMPONENTS3_NV :: GLenum
-gl_SKIP_COMPONENTS3_NV = -4
-gl_OPERAND0_ALPHA_EXT :: GLenum
-gl_OPERAND0_ALPHA_EXT = 0x8598
-gl_CON_17_ATI :: GLenum
-gl_CON_17_ATI = 0x8952
-gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT :: GLenum
-gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT = 0x8E86
-gl_INT_IMAGE_1D_EXT :: GLenum
-gl_INT_IMAGE_1D_EXT = 0x9057
-gl_MIN_SAMPLE_SHADING_VALUE_ARB :: GLenum
-gl_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37
-gl_OP_LOG_BASE_2_EXT :: GLenum
-gl_OP_LOG_BASE_2_EXT = 0x8792
-gl_RGB16UI :: GLenum
-gl_RGB16UI = 0x8D77
-gl_PIXEL_PACK_BUFFER_EXT :: GLenum
-gl_PIXEL_PACK_BUFFER_EXT = 0x88EB
-gl_MODELVIEW12_ARB :: GLenum
-gl_MODELVIEW12_ARB = 0x872C
-gl_STATIC_ATI :: GLenum
-gl_STATIC_ATI = 0x8760
-gl_OUTPUT_TEXTURE_COORD16_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD16_EXT = 0x87AD
-gl_SOURCE0_RGB_EXT :: GLenum
-gl_SOURCE0_RGB_EXT = 0x8580
-gl_LERP_ATI :: GLenum
-gl_LERP_ATI = 0x8969
-gl_INT_IMAGE_3D :: GLenum
-gl_INT_IMAGE_3D = 0x9059
-gl_COLOR_MATERIAL_PARAMETER :: GLenum
-gl_COLOR_MATERIAL_PARAMETER = 0x0B56
-gl_MOV_ATI :: GLenum
-gl_MOV_ATI = 0x8961
-gl_CIRCULAR_CCW_ARC_TO_NV :: GLenum
-gl_CIRCULAR_CCW_ARC_TO_NV = 0xF8
-gl_GEOMETRY_INPUT_TYPE_ARB :: GLenum
-gl_GEOMETRY_INPUT_TYPE_ARB = 0x8DDB
-gl_SIGNED_HILO8_NV :: GLenum
-gl_SIGNED_HILO8_NV = 0x885F
-gl_EMBOSS_CONSTANT_NV :: GLenum
-gl_EMBOSS_CONSTANT_NV = 0x855E
-gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264
-gl_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT :: GLenum
-gl_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT = 0x8D6A
-gl_ALPHA4_EXT :: GLenum
-gl_ALPHA4_EXT = 0x803B
-gl_RELATIVE_QUADRATIC_CURVE_TO_NV :: GLenum
-gl_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B
-gl_LIST_BIT :: GLenum
-gl_LIST_BIT = 0x00020000
-gl_CPU_OPTIMIZED_QCOM :: GLenum
-gl_CPU_OPTIMIZED_QCOM = 0x8FB1
-gl_MAX_PROGRAM_INSTRUCTIONS_ARB :: GLenum
-gl_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1
-gl_BUFFER_MAP_POINTER_OES :: GLenum
-gl_BUFFER_MAP_POINTER_OES = 0x88BD
-gl_TEXTURE_LUMINANCE_SIZE :: GLenum
-gl_TEXTURE_LUMINANCE_SIZE = 0x8060
-gl_FRAGMENT_COLOR_MATERIAL_FACE_SGIX :: GLenum
-gl_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402
-gl_SECONDARY_COLOR_ARRAY_ADDRESS_NV :: GLenum
-gl_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27
-gl_FOG_COORDINATE_ARRAY_TYPE :: GLenum
-gl_FOG_COORDINATE_ARRAY_TYPE = 0x8454
-gl_PROGRAM_RESIDENT_NV :: GLenum
-gl_PROGRAM_RESIDENT_NV = 0x8647
-gl_IMAGE_3D_EXT :: GLenum
-gl_IMAGE_3D_EXT = 0x904E
-gl_MAP2_VERTEX_ATTRIB14_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E
-gl_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
-gl_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5
-gl_DU8DV8_ATI :: GLenum
-gl_DU8DV8_ATI = 0x877A
-gl_STATIC_COPY_ARB :: GLenum
-gl_STATIC_COPY_ARB = 0x88E6
-gl_GREATER :: GLenum
-gl_GREATER = 0x0204
-gl_COLOR_TABLE_WIDTH :: GLenum
-gl_COLOR_TABLE_WIDTH = 0x80D9
-gl_COLOR_ATTACHMENT8_NV :: GLenum
-gl_COLOR_ATTACHMENT8_NV = 0x8CE8
-gl_PALETTE4_RGBA8_OES :: GLenum
-gl_PALETTE4_RGBA8_OES = 0x8B91
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B
-gl_PACK_RESAMPLE_OML :: GLenum
-gl_PACK_RESAMPLE_OML = 0x8984
-gl_UNSIGNED_SHORT_4_4_4_4_REV_IMG :: GLenum
-gl_UNSIGNED_SHORT_4_4_4_4_REV_IMG = 0x8365
-gl_T4F_C4F_N3F_V4F :: GLenum
-gl_T4F_C4F_N3F_V4F = 0x2A2D
-gl_CURRENT_FOG_COORDINATE :: GLenum
-gl_CURRENT_FOG_COORDINATE = 0x8453
-gl_UNSIGNED_INT_10_10_10_2 :: GLenum
-gl_UNSIGNED_INT_10_10_10_2 = 0x8036
-gl_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
-gl_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2
-gl_TEXTURE_INTENSITY_SIZE :: GLenum
-gl_TEXTURE_INTENSITY_SIZE = 0x8061
-gl_DRAW_FRAMEBUFFER_BINDING_NV :: GLenum
-gl_DRAW_FRAMEBUFFER_BINDING_NV = 0x8CA6
-gl_QUERY_STENCIL_FAIL_EVENT_BIT_AMD :: GLenum
-gl_QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004
-gl_NORMAL_MAP_EXT :: GLenum
-gl_NORMAL_MAP_EXT = 0x8511
-gl_PASS_THROUGH_TOKEN :: GLenum
-gl_PASS_THROUGH_TOKEN = 0x0700
-gl_COMPRESSED_RGBA_ASTC_8x5_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5
-gl_SPRITE_AXIS_SGIX :: GLenum
-gl_SPRITE_AXIS_SGIX = 0x814A
-gl_ALPHA_TEST :: GLenum
-gl_ALPHA_TEST = 0x0BC0
-gl_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT :: GLenum
-gl_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT = 0x8A55
-gl_SAMPLER_BUFFER_AMD :: GLenum
-gl_SAMPLER_BUFFER_AMD = 0x9001
-gl_MAX_PROGRAM_GENERIC_RESULTS_NV :: GLenum
-gl_MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6
-gl_DEBUG_CALLBACK_USER_PARAM_ARB :: GLenum
-gl_DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245
-gl_TEXCOORD2_BIT_PGI :: GLenum
-gl_TEXCOORD2_BIT_PGI = 0x20000000
-gl_SLIM8U_SGIX :: GLenum
-gl_SLIM8U_SGIX = 0x831D
-gl_DOT3_ATI :: GLenum
-gl_DOT3_ATI = 0x8966
-gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV :: GLenum
-gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5F
-gl_VERTEX_ATTRIB_MAP1_SIZE_APPLE :: GLenum
-gl_VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02
-gl_HALF_FLOAT_NV :: GLenum
-gl_HALF_FLOAT_NV = 0x140B
-gl_IMAGE_CLASS_1_X_16 :: GLenum
-gl_IMAGE_CLASS_1_X_16 = 0x82BE
-gl_CONSTANT_BORDER_HP :: GLenum
-gl_CONSTANT_BORDER_HP = 0x8151
-gl_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
-gl_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF
-gl_TEXTURE25_ARB :: GLenum
-gl_TEXTURE25_ARB = 0x84D9
-gl_FONT_TARGET_UNAVAILABLE_NV :: GLenum
-gl_FONT_TARGET_UNAVAILABLE_NV = 0x9369
-gl_COMPRESSED_RGBA_ASTC_6x6x5_OES :: GLenum
-gl_COMPRESSED_RGBA_ASTC_6x6x5_OES = 0x93C8
-gl_IMAGE_TRANSLATE_X_HP :: GLenum
-gl_IMAGE_TRANSLATE_X_HP = 0x8157
-gl_COLOR_MATRIX_STACK_DEPTH :: GLenum
-gl_COLOR_MATRIX_STACK_DEPTH = 0x80B2
-gl_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056
-gl_RESTART_SUN :: GLenum
-gl_RESTART_SUN = 0x0001
-gl_COLOR_ATTACHMENT14_EXT :: GLenum
-gl_COLOR_ATTACHMENT14_EXT = 0x8CEE
-gl_DRAW_BUFFER8 :: GLenum
-gl_DRAW_BUFFER8 = 0x882D
-gl_IMAGE_2D_MULTISAMPLE :: GLenum
-gl_IMAGE_2D_MULTISAMPLE = 0x9055
-gl_ALPHA_TEST_QCOM :: GLenum
-gl_ALPHA_TEST_QCOM = 0x0BC0
-gl_PACK_SKIP_ROWS :: GLenum
-gl_PACK_SKIP_ROWS = 0x0D03
-gl_INTERLEAVED_ATTRIBS :: GLenum
-gl_INTERLEAVED_ATTRIBS = 0x8C8C
-gl_OUTPUT_TEXTURE_COORD22_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD22_EXT = 0x87B3
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = 0x851A
-gl_MULTISAMPLE_BUFFER_BIT6_QCOM :: GLenum
-gl_MULTISAMPLE_BUFFER_BIT6_QCOM = 0x40000000
-gl_MODULATE_ADD_ATI :: GLenum
-gl_MODULATE_ADD_ATI = 0x8744
-gl_MAP1_GRID_DOMAIN :: GLenum
-gl_MAP1_GRID_DOMAIN = 0x0DD0
-gl_DRAW_BUFFER13_ATI :: GLenum
-gl_DRAW_BUFFER13_ATI = 0x8832
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B
-gl_MAX_PROGRAM_OUTPUT_VERTICES_NV :: GLenum
-gl_MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27
-gl_TEXTURE_DS_SIZE_NV :: GLenum
-gl_TEXTURE_DS_SIZE_NV = 0x871D
-gl_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES :: GLenum
-gl_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES = 0x8E5D
-gl_PREVIOUS_EXT :: GLenum
-gl_PREVIOUS_EXT = 0x8578
-gl_PN_TRIANGLES_POINT_MODE_ATI :: GLenum
-gl_PN_TRIANGLES_POINT_MODE_ATI = 0x87F2
-gl_NUM_FILL_STREAMS_NV :: GLenum
-gl_NUM_FILL_STREAMS_NV = 0x8E29
-gl_UNDEFINED_VERTEX_EXT :: GLenum
-gl_UNDEFINED_VERTEX_EXT = 0x8260
-gl_NORMAL_ARRAY_LIST_STRIDE_IBM :: GLenum
-gl_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081
-gl_STANDARD_FONT_NAME_NV :: GLenum
-gl_STANDARD_FONT_NAME_NV = 0x9072
-gl_EVAL_VERTEX_ATTRIB7_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB7_NV = 0x86CD
-gl_RENDERBUFFER_INTERNAL_FORMAT_OES :: GLenum
-gl_RENDERBUFFER_INTERNAL_FORMAT_OES = 0x8D44
-gl_BIAS_BIT_ATI :: GLenum
-gl_BIAS_BIT_ATI = 0x00000008
-gl_CONVOLUTION_WIDTH :: GLenum
-gl_CONVOLUTION_WIDTH = 0x8018
-gl_LUMINANCE6_ALPHA2 :: GLenum
-gl_LUMINANCE6_ALPHA2 = 0x8044
-gl_COMPRESSED_RGBA_S3TC_DXT1_EXT :: GLenum
-gl_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB
-gl_MAX_CUBE_MAP_TEXTURE_SIZE_OES :: GLenum
-gl_MAX_CUBE_MAP_TEXTURE_SIZE_OES = 0x851C
-gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 0x8CD7
-gl_RGB12 :: GLenum
-gl_RGB12 = 0x8053
-gl_COMPRESSED_RGBA_S3TC_DXT5_ANGLE :: GLenum
-gl_COMPRESSED_RGBA_S3TC_DXT5_ANGLE = 0x83F3
-gl_VIDEO_COLOR_CONVERSION_MAX_NV :: GLenum
-gl_VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A
-gl_MATRIX3_ARB :: GLenum
-gl_MATRIX3_ARB = 0x88C3
-gl_CLIP_DISTANCE_NV :: GLenum
-gl_CLIP_DISTANCE_NV = 0x8C7A
-gl_CLIP_PLANE1 :: GLenum
-gl_CLIP_PLANE1 = 0x3001
-gl_MAP2_VERTEX_ATTRIB5_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675
-gl_SOURCE3_ALPHA_NV :: GLenum
-gl_SOURCE3_ALPHA_NV = 0x858B
-gl_VOLATILE_APPLE :: GLenum
-gl_VOLATILE_APPLE = 0x8A1A
-gl_REFERENCED_BY_GEOMETRY_SHADER_EXT :: GLenum
-gl_REFERENCED_BY_GEOMETRY_SHADER_EXT = 0x9309
-gl_NORMAL_BIT_PGI :: GLenum
-gl_NORMAL_BIT_PGI = 0x08000000
-gl_UNSIGNED_INT64_VEC2_NV :: GLenum
-gl_UNSIGNED_INT64_VEC2_NV = 0x8FF5
-gl_MAP1_TANGENT_EXT :: GLenum
-gl_MAP1_TANGENT_EXT = 0x8444
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 0x8CD3
-gl_PRIMITIVES_GENERATED_EXT :: GLenum
-gl_PRIMITIVES_GENERATED_EXT = 0x8C87
-gl_GEOMETRY_SUBROUTINE_UNIFORM :: GLenum
-gl_GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1
-gl_MAX_UNIFORM_LOCATIONS :: GLenum
-gl_MAX_UNIFORM_LOCATIONS = 0x826E
-gl_COLOR_TABLE_FORMAT_SGI :: GLenum
-gl_COLOR_TABLE_FORMAT_SGI = 0x80D8
-gl_AMBIENT_AND_DIFFUSE :: GLenum
-gl_AMBIENT_AND_DIFFUSE = 0x1602
-gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213
-gl_UNPACK_SKIP_PIXELS_EXT :: GLenum
-gl_UNPACK_SKIP_PIXELS_EXT = 0x0CF4
-gl_COLOR_TABLE_ALPHA_SIZE_SGI :: GLenum
-gl_COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD
-gl_FACTOR_ALPHA_MODULATE_IMG :: GLenum
-gl_FACTOR_ALPHA_MODULATE_IMG = 0x8C07
-gl_MAP2_TEXTURE_COORD_1 :: GLenum
-gl_MAP2_TEXTURE_COORD_1 = 0x0DB3
-gl_QUADS :: GLenum
-gl_QUADS = 0x0007
-gl_ENABLE_BIT :: GLenum
-gl_ENABLE_BIT = 0x00002000
-gl_DOUBLE_MAT3x2 :: GLenum
-gl_DOUBLE_MAT3x2 = 0x8F4B
-gl_POLYGON_MODE :: GLenum
-gl_POLYGON_MODE = 0x0B40
-gl_TEXTURE_COORD_ARRAY_TYPE_EXT :: GLenum
-gl_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089
-gl_RG16UI :: GLenum
-gl_RG16UI = 0x823A
-gl_PREVIOUS_TEXTURE_INPUT_NV :: GLenum
-gl_PREVIOUS_TEXTURE_INPUT_NV = 0x86E4
-gl_COMPRESSED_LUMINANCE_ALPHA :: GLenum
-gl_COMPRESSED_LUMINANCE_ALPHA = 0x84EB
-gl_CONVOLUTION_HEIGHT :: GLenum
-gl_CONVOLUTION_HEIGHT = 0x8019
-gl_E_TIMES_F_NV :: GLenum
-gl_E_TIMES_F_NV = 0x8531
-gl_SET_AMD :: GLenum
-gl_SET_AMD = 0x874A
-gl_MAGNITUDE_SCALE_NV :: GLenum
-gl_MAGNITUDE_SCALE_NV = 0x8712
-gl_RED_MAX_CLAMP_INGR :: GLenum
-gl_RED_MAX_CLAMP_INGR = 0x8564
-gl_NEVER :: GLenum
-gl_NEVER = 0x0200
-gl_UNSIGNED_INT_8_8_S8_S8_REV_NV :: GLenum
-gl_UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB
-gl_COMPRESSED_RGBA_ASTC_4x4_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0
-gl_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT :: GLenum
-gl_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6
-gl_GEOMETRY_VERTICES_OUT_ARB :: GLenum
-gl_GEOMETRY_VERTICES_OUT_ARB = 0x8DDA
-gl_DYNAMIC_DRAW_ARB :: GLenum
-gl_DYNAMIC_DRAW_ARB = 0x88E8
-gl_IMAGE_BINDING_LAYER :: GLenum
-gl_IMAGE_BINDING_LAYER = 0x8F3D
-gl_UNSIGNED_INT_SAMPLER_2D_RECT_EXT :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5
-gl_VERTEX_ARRAY_RANGE_VALID_NV :: GLenum
-gl_VERTEX_ARRAY_RANGE_VALID_NV = 0x851F
-gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D
-gl_LINE_STRIP_ADJACENCY_EXT :: GLenum
-gl_LINE_STRIP_ADJACENCY_EXT = 0x000B
-gl_PATH_TRANSPOSE_PROJECTION_MATRIX_NV :: GLenum
-gl_PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4
-gl_LUMINANCE_ALPHA16UI_EXT :: GLenum
-gl_LUMINANCE_ALPHA16UI_EXT = 0x8D7B
-gl_POST_COLOR_MATRIX_ALPHA_SCALE :: GLenum
-gl_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7
-gl_FOG_COORDINATE_ARRAY_POINTER_EXT :: GLenum
-gl_FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456
-gl_TEXTURE_GEN_Q :: GLenum
-gl_TEXTURE_GEN_Q = 0x0C63
-gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
-gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39
-gl_FALSE :: GLenum
-gl_FALSE = 0
-gl_POINT_SIZE_ARRAY_OES :: GLenum
-gl_POINT_SIZE_ARRAY_OES = 0x8B9C
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9
-gl_HIGH_INT :: GLenum
-gl_HIGH_INT = 0x8DF5
-gl_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX :: GLenum
-gl_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = 0x8187
-gl_BUFFER_MAP_LENGTH :: GLenum
-gl_BUFFER_MAP_LENGTH = 0x9120
-gl_OUTPUT_TEXTURE_COORD5_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD5_EXT = 0x87A2
-gl_COMPUTE_WORK_GROUP_SIZE :: GLenum
-gl_COMPUTE_WORK_GROUP_SIZE = 0x8267
-gl_PROJECTION_STACK_DEPTH :: GLenum
-gl_PROJECTION_STACK_DEPTH = 0x0BA4
-gl_T2F_C3F_V3F :: GLenum
-gl_T2F_C3F_V3F = 0x2A2A
-gl_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT :: GLenum
-gl_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2
-gl_MAT_SPECULAR_BIT_PGI :: GLenum
-gl_MAT_SPECULAR_BIT_PGI = 0x04000000
-gl_COLOR_BUFFER_BIT :: GLenum
-gl_COLOR_BUFFER_BIT = 0x00004000
-gl_TEXTURE_MAX_LEVEL_SGIS :: GLenum
-gl_TEXTURE_MAX_LEVEL_SGIS = 0x813D
-gl_SOURCE1_ALPHA_EXT :: GLenum
-gl_SOURCE1_ALPHA_EXT = 0x8589
-gl_TEXCOORD1_BIT_PGI :: GLenum
-gl_TEXCOORD1_BIT_PGI = 0x10000000
-gl_VARIANT_EXT :: GLenum
-gl_VARIANT_EXT = 0x87C1
-gl_TEXTURE_DEPTH_TYPE :: GLenum
-gl_TEXTURE_DEPTH_TYPE = 0x8C16
-gl_STENCIL_INDEX_OES :: GLenum
-gl_STENCIL_INDEX_OES = 0x1901
-gl_PERCENTAGE_AMD :: GLenum
-gl_PERCENTAGE_AMD = 0x8BC3
-gl_MAP2_TANGENT_EXT :: GLenum
-gl_MAP2_TANGENT_EXT = 0x8445
-gl_CIRCULAR_TANGENT_ARC_TO_NV :: GLenum
-gl_CIRCULAR_TANGENT_ARC_TO_NV = 0xFC
-gl_PERFMON_RESULT_SIZE_AMD :: GLenum
-gl_PERFMON_RESULT_SIZE_AMD = 0x8BC5
-gl_SAMPLER_CUBE :: GLenum
-gl_SAMPLER_CUBE = 0x8B60
-gl_FOG_SPECULAR_TEXTURE_WIN :: GLenum
-gl_FOG_SPECULAR_TEXTURE_WIN = 0x80EC
-gl_UNSIGNED_INT64_AMD :: GLenum
-gl_UNSIGNED_INT64_AMD = 0x8BC2
-gl_FLOAT_MAT3_ARB :: GLenum
-gl_FLOAT_MAT3_ARB = 0x8B5B
-gl_COPY_WRITE_BUFFER_NV :: GLenum
-gl_COPY_WRITE_BUFFER_NV = 0x8F37
-gl_CONSTANT_ATTENUATION :: GLenum
-gl_CONSTANT_ATTENUATION = 0x1207
-gl_VERTEX_ATTRIB_ARRAY_ADDRESS_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20
-gl_MAX_PROGRAM_ATTRIBS_ARB :: GLenum
-gl_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD
-gl_UNSIGNED_SHORT_8_8_APPLE :: GLenum
-gl_UNSIGNED_SHORT_8_8_APPLE = 0x85BA
-gl_DETAIL_TEXTURE_2D_BINDING_SGIS :: GLenum
-gl_DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096
-gl_PRIMITIVE_RESTART_INDEX :: GLenum
-gl_PRIMITIVE_RESTART_INDEX = 0x8F9E
-gl_RECLAIM_MEMORY_HINT_PGI :: GLenum
-gl_RECLAIM_MEMORY_HINT_PGI = 0x1A1FE
-gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001
-gl_SRC_NV :: GLenum
-gl_SRC_NV = 0x9286
-gl_MAX_FRAMEBUFFER_LAYERS_EXT :: GLenum
-gl_MAX_FRAMEBUFFER_LAYERS_EXT = 0x9317
-gl_VIDEO_CAPTURE_SURFACE_ORIGIN_NV :: GLenum
-gl_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C
-gl_DEPTH_BUFFER_BIT :: GLenum
-gl_DEPTH_BUFFER_BIT = 0x00000100
-gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
-gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC
-gl_MATRIX1_ARB :: GLenum
-gl_MATRIX1_ARB = 0x88C1
-gl_FLOAT_VEC4 :: GLenum
-gl_FLOAT_VEC4 = 0x8B52
-gl_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV :: GLenum
-gl_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033
-gl_TEXTURE_GEN_STR_OES :: GLenum
-gl_TEXTURE_GEN_STR_OES = 0x8D60
-gl_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX :: GLenum
-gl_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX = 0x9049
-gl_SHADER_KHR :: GLenum
-gl_SHADER_KHR = 0x82E1
-gl_MAX_EVAL_ORDER :: GLenum
-gl_MAX_EVAL_ORDER = 0x0D30
-gl_CONJOINT_NV :: GLenum
-gl_CONJOINT_NV = 0x9284
-gl_PIXEL_PACK_BUFFER_ARB :: GLenum
-gl_PIXEL_PACK_BUFFER_ARB = 0x88EB
-gl_REG_25_ATI :: GLenum
-gl_REG_25_ATI = 0x893A
-gl_PATH_PROJECTION_NV :: GLenum
-gl_PATH_PROJECTION_NV = 0x1701
-gl_LUMINANCE4_EXT :: GLenum
-gl_LUMINANCE4_EXT = 0x803F
-gl_MAP2_VERTEX_ATTRIB11_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B
-gl_MAP2_INDEX :: GLenum
-gl_MAP2_INDEX = 0x0DB1
-gl_ASYNC_DRAW_PIXELS_SGIX :: GLenum
-gl_ASYNC_DRAW_PIXELS_SGIX = 0x835D
-gl_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517
-gl_DRAW_BUFFER11_ARB :: GLenum
-gl_DRAW_BUFFER11_ARB = 0x8830
-gl_SAMPLES_SGIS :: GLenum
-gl_SAMPLES_SGIS = 0x80A9
-gl_IMAGE_MIN_FILTER_HP :: GLenum
-gl_IMAGE_MIN_FILTER_HP = 0x815D
-gl_BUFFER :: GLenum
-gl_BUFFER = 0x82E0
-gl_OUTPUT_TEXTURE_COORD15_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD15_EXT = 0x87AC
-gl_DEBUG_SOURCE_WINDOW_SYSTEM_ARB :: GLenum
-gl_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247
-gl_MAX_FRAMEBUFFER_HEIGHT :: GLenum
-gl_MAX_FRAMEBUFFER_HEIGHT = 0x9316
-gl_LIST_INDEX :: GLenum
-gl_LIST_INDEX = 0x0B33
-gl_RGB4_EXT :: GLenum
-gl_RGB4_EXT = 0x804F
-gl_COLOR_BUFFER_BIT2_QCOM :: GLenum
-gl_COLOR_BUFFER_BIT2_QCOM = 0x00000004
-gl_BOOL_ARB :: GLenum
-gl_BOOL_ARB = 0x8B56
-gl_DEBUG_TYPE_PORTABILITY_ARB :: GLenum
-gl_DEBUG_TYPE_PORTABILITY_ARB = 0x824F
-gl_COMBINER_CD_OUTPUT_NV :: GLenum
-gl_COMBINER_CD_OUTPUT_NV = 0x854B
-gl_COLOR_ATTACHMENT6_EXT :: GLenum
-gl_COLOR_ATTACHMENT6_EXT = 0x8CE6
-gl_FOG_COORDINATE_ARRAY_STRIDE_EXT :: GLenum
-gl_FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455
-gl_COMMAND_BARRIER_BIT_EXT :: GLenum
-gl_COMMAND_BARRIER_BIT_EXT = 0x00000040
-gl_QUERY_WAIT_NV :: GLenum
-gl_QUERY_WAIT_NV = 0x8E13
-gl_FLOAT_VEC4_ARB :: GLenum
-gl_FLOAT_VEC4_ARB = 0x8B52
-gl_IMAGE_ROTATE_ORIGIN_Y_HP :: GLenum
-gl_IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B
-gl_COMPUTE_PROGRAM_NV :: GLenum
-gl_COMPUTE_PROGRAM_NV = 0x90FB
-gl_ONE_MINUS_DST_COLOR :: GLenum
-gl_ONE_MINUS_DST_COLOR = 0x0307
-gl_SPRITE_AXIAL_SGIX :: GLenum
-gl_SPRITE_AXIAL_SGIX = 0x814C
-gl_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F
-gl_DOUBLE_VEC4 :: GLenum
-gl_DOUBLE_VEC4 = 0x8FFE
-gl_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
-gl_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7
-gl_SYNC_CONDITION :: GLenum
-gl_SYNC_CONDITION = 0x9113
-gl_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
-gl_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F
-gl_DRAW_BUFFER8_NV :: GLenum
-gl_DRAW_BUFFER8_NV = 0x882D
-gl_DEBUG_SOURCE_APPLICATION_ARB :: GLenum
-gl_DEBUG_SOURCE_APPLICATION_ARB = 0x824A
-gl_NORMAL_ARRAY_TYPE :: GLenum
-gl_NORMAL_ARRAY_TYPE = 0x807E
-gl_SYNC_GPU_COMMANDS_COMPLETE_APPLE :: GLenum
-gl_SYNC_GPU_COMMANDS_COMPLETE_APPLE = 0x9117
-gl_DRAW_FRAMEBUFFER_ANGLE :: GLenum
-gl_DRAW_FRAMEBUFFER_ANGLE = 0x8CA9
-gl_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES :: GLenum
-gl_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898E
-gl_TESS_CONTROL_OUTPUT_VERTICES_EXT :: GLenum
-gl_TESS_CONTROL_OUTPUT_VERTICES_EXT = 0x8E75
-gl_T2F_C4F_N3F_V3F :: GLenum
-gl_T2F_C4F_N3F_V3F = 0x2A2C
-gl_FIRST_TO_REST_NV :: GLenum
-gl_FIRST_TO_REST_NV = 0x90AF
-gl_TEXTURE_STACK_DEPTH :: GLenum
-gl_TEXTURE_STACK_DEPTH = 0x0BA5
-gl_RGB32F_ARB :: GLenum
-gl_RGB32F_ARB = 0x8815
-gl_DEBUG_SEVERITY_HIGH_KHR :: GLenum
-gl_DEBUG_SEVERITY_HIGH_KHR = 0x9146
-gl_STENCIL_INDEX16 :: GLenum
-gl_STENCIL_INDEX16 = 0x8D49
-gl_CURRENT_RASTER_INDEX :: GLenum
-gl_CURRENT_RASTER_INDEX = 0x0B05
-gl_LINEARDODGE_NV :: GLenum
-gl_LINEARDODGE_NV = 0x92A4
-gl_ALPHA_TEST_REF_QCOM :: GLenum
-gl_ALPHA_TEST_REF_QCOM = 0x0BC2
-gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT :: GLenum
-gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT = 0x8E82
-gl_FORMAT_SUBSAMPLE_244_244_OML :: GLenum
-gl_FORMAT_SUBSAMPLE_244_244_OML = 0x8983
-gl_COMPRESSED_RG :: GLenum
-gl_COMPRESSED_RG = 0x8226
-gl_EYE_LINEAR :: GLenum
-gl_EYE_LINEAR = 0x2400
-gl_TEXTURE_CUBE_MAP_POSITIVE_Z_OES :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_Z_OES = 0x8519
-gl_UNSIGNED_SHORT_4_4_4_4 :: GLenum
-gl_UNSIGNED_SHORT_4_4_4_4 = 0x8033
-gl_EVAL_FRACTIONAL_TESSELLATION_NV :: GLenum
-gl_EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5
-gl_OBJECT_BUFFER_USAGE_ATI :: GLenum
-gl_OBJECT_BUFFER_USAGE_ATI = 0x8765
-gl_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV :: GLenum
-gl_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E
-gl_POINT_DISTANCE_ATTENUATION_ARB :: GLenum
-gl_POINT_DISTANCE_ATTENUATION_ARB = 0x8129
-gl_VERTEX_BINDING_STRIDE :: GLenum
-gl_VERTEX_BINDING_STRIDE = 0x82D8
-gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
-gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E
-gl_ALPHA_INTEGER_EXT :: GLenum
-gl_ALPHA_INTEGER_EXT = 0x8D97
-gl_CONSERVATIVE_RASTERIZATION_NV :: GLenum
-gl_CONSERVATIVE_RASTERIZATION_NV = 0x9346
-gl_QUERY_NO_WAIT_NV :: GLenum
-gl_QUERY_NO_WAIT_NV = 0x8E14
-gl_REG_9_ATI :: GLenum
-gl_REG_9_ATI = 0x892A
-gl_MAX_VERTEX_ATTRIB_STRIDE :: GLenum
-gl_MAX_VERTEX_ATTRIB_STRIDE = 0x82E5
-gl_QUERY_BY_REGION_WAIT_INVERTED :: GLenum
-gl_QUERY_BY_REGION_WAIT_INVERTED = 0x8E19
-gl_MAP1_VERTEX_ATTRIB5_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665
-gl_COLOR_TABLE_SGI :: GLenum
-gl_COLOR_TABLE_SGI = 0x80D0
-gl_PROGRAM_PIPELINE_BINDING_EXT :: GLenum
-gl_PROGRAM_PIPELINE_BINDING_EXT = 0x825A
-gl_PROGRAM_NATIVE_ATTRIBS_ARB :: GLenum
-gl_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE
-gl_DEBUG_CATEGORY_APPLICATION_AMD :: GLenum
-gl_DEBUG_CATEGORY_APPLICATION_AMD = 0x914F
-gl_MODELVIEW_PROJECTION_NV :: GLenum
-gl_MODELVIEW_PROJECTION_NV = 0x8629
-gl_ZOOM_X :: GLenum
-gl_ZOOM_X = 0x0D16
-gl_TEXTURE12 :: GLenum
-gl_TEXTURE12 = 0x84CC
-gl_NO_ERROR :: GLenum
-gl_NO_ERROR = 0
-gl_PIXEL_TEXTURE_SGIS :: GLenum
-gl_PIXEL_TEXTURE_SGIS = 0x8353
-gl_ONE_MINUS_SRC_ALPHA :: GLenum
-gl_ONE_MINUS_SRC_ALPHA = 0x0303
-gl_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7
-gl_WEIGHT_SUM_UNITY_ARB :: GLenum
-gl_WEIGHT_SUM_UNITY_ARB = 0x86A6
-gl_VIRTUAL_PAGE_SIZE_Y_AMD :: GLenum
-gl_VIRTUAL_PAGE_SIZE_Y_AMD = 0x9196
-gl_VERSION_ES_CL_1_0 :: GLenum
-gl_VERSION_ES_CL_1_0 = 1
-gl_QUADRATIC_ATTENUATION :: GLenum
-gl_QUADRATIC_ATTENUATION = 0x1209
-gl_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
-gl_PACK_COMPRESSED_BLOCK_SIZE = 0x912E
-gl_MAX_CLIP_PLANES_IMG :: GLenum
-gl_MAX_CLIP_PLANES_IMG = 0x0D32
-gl_SUBPIXEL_BITS :: GLenum
-gl_SUBPIXEL_BITS = 0x0D50
-gl_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
-gl_PATCH_DEFAULT_OUTER_LEVEL = 0x8E74
-gl_REDUCE :: GLenum
-gl_REDUCE = 0x8016
-gl_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122
-gl_DEPTH_BUFFER_BIT5_QCOM :: GLenum
-gl_DEPTH_BUFFER_BIT5_QCOM = 0x00002000
-gl_SHADER_IMAGE_LOAD :: GLenum
-gl_SHADER_IMAGE_LOAD = 0x82A4
-gl_POST_COLOR_MATRIX_BLUE_SCALE :: GLenum
-gl_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES = 0x93E0
-gl_RENDERBUFFER_ALPHA_SIZE_EXT :: GLenum
-gl_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53
-gl_FONT_Y_MIN_BOUNDS_BIT_NV :: GLenum
-gl_FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000
-gl_INTERNALFORMAT_RED_SIZE :: GLenum
-gl_INTERNALFORMAT_RED_SIZE = 0x8271
-gl_TEXTURE18 :: GLenum
-gl_TEXTURE18 = 0x84D2
-gl_VERTEX_ATTRIB_ARRAY12_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY12_NV = 0x865C
-gl_SAMPLE_MASK_INVERT_EXT :: GLenum
-gl_SAMPLE_MASK_INVERT_EXT = 0x80AB
-gl_PIXEL_TEX_GEN_ALPHA_MS_SGIX :: GLenum
-gl_PIXEL_TEX_GEN_ALPHA_MS_SGIX = 0x818A
-gl_DRAW_BUFFER11 :: GLenum
-gl_DRAW_BUFFER11 = 0x8830
-gl_HISTOGRAM_RED_SIZE_EXT :: GLenum
-gl_HISTOGRAM_RED_SIZE_EXT = 0x8028
-gl_DEPTH_ATTACHMENT_EXT :: GLenum
-gl_DEPTH_ATTACHMENT_EXT = 0x8D00
-gl_DISPLAY_LIST :: GLenum
-gl_DISPLAY_LIST = 0x82E7
-gl_OP_EXP_BASE_2_EXT :: GLenum
-gl_OP_EXP_BASE_2_EXT = 0x8791
-gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NV :: GLenum
-gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C
-gl_PROGRAM_BINARY_LENGTH :: GLenum
-gl_PROGRAM_BINARY_LENGTH = 0x8741
-gl_MAX_MULTIVIEW_BUFFERS_EXT :: GLenum
-gl_MAX_MULTIVIEW_BUFFERS_EXT = 0x90F2
-gl_SLIM12S_SGIX :: GLenum
-gl_SLIM12S_SGIX = 0x831F
-gl_LUMINANCE_FLOAT16_ATI :: GLenum
-gl_LUMINANCE_FLOAT16_ATI = 0x881E
-gl_TEXTURE_BUFFER :: GLenum
-gl_TEXTURE_BUFFER = 0x8C2A
-gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT :: GLenum
-gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004
-gl_DEPTH_TEXTURE_MODE_ARB :: GLenum
-gl_DEPTH_TEXTURE_MODE_ARB = 0x884B
-gl_WEIGHT_ARRAY_TYPE_ARB :: GLenum
-gl_WEIGHT_ARRAY_TYPE_ARB = 0x86A9
-gl_PROJECTION_MATRIX :: GLenum
-gl_PROJECTION_MATRIX = 0x0BA7
-gl_COMPRESSED_RGBA_FXT1_3DFX :: GLenum
-gl_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1
-gl_DS_BIAS_NV :: GLenum
-gl_DS_BIAS_NV = 0x8716
-gl_CON_31_ATI :: GLenum
-gl_CON_31_ATI = 0x8960
-gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB :: GLenum
-gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C
-gl_RGBA4 :: GLenum
-gl_RGBA4 = 0x8056
-gl_SAMPLE_BUFFERS_ARB :: GLenum
-gl_SAMPLE_BUFFERS_ARB = 0x80A8
-gl_RGB8I_EXT :: GLenum
-gl_RGB8I_EXT = 0x8D8F
-gl_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT :: GLenum
-gl_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 0x9069
-gl_QUERY_COUNTER_BITS_EXT :: GLenum
-gl_QUERY_COUNTER_BITS_EXT = 0x8864
-gl_ACTIVE_VARYING_MAX_LENGTH_NV :: GLenum
-gl_ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82
-gl_INDEX_MODE :: GLenum
-gl_INDEX_MODE = 0x0C30
-gl_VIDEO_BUFFER_INTERNAL_FORMAT_NV :: GLenum
-gl_VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D
-gl_UNSIGNED_SHORT_1_15_REV_MESA :: GLenum
-gl_UNSIGNED_SHORT_1_15_REV_MESA = 0x8754
-gl_R16_SNORM :: GLenum
-gl_R16_SNORM = 0x8F98
-gl_PACK_IMAGE_HEIGHT_EXT :: GLenum
-gl_PACK_IMAGE_HEIGHT_EXT = 0x806C
-gl_DRAW_PIXELS_APPLE :: GLenum
-gl_DRAW_PIXELS_APPLE = 0x8A0A
-gl_TEXTURE_COMPRESSED_BLOCK_SIZE :: GLenum
-gl_TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3
-gl_BUFFER_DATA_SIZE :: GLenum
-gl_BUFFER_DATA_SIZE = 0x9303
-gl_PROXY_TEXTURE_1D_EXT :: GLenum
-gl_PROXY_TEXTURE_1D_EXT = 0x8063
-gl_CONVOLUTION_1D_EXT :: GLenum
-gl_CONVOLUTION_1D_EXT = 0x8010
-gl_RG16I :: GLenum
-gl_RG16I = 0x8239
-gl_VERTEX_ATTRIB_ARRAY8_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY8_NV = 0x8658
-gl_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL :: GLenum
-gl_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB
-gl_OPERAND1_ALPHA_ARB :: GLenum
-gl_OPERAND1_ALPHA_ARB = 0x8599
-gl_INT_SAMPLER_2D_ARRAY :: GLenum
-gl_INT_SAMPLER_2D_ARRAY = 0x8DCF
-gl_ALPHA12 :: GLenum
-gl_ALPHA12 = 0x803D
-gl_MODELVIEW5_ARB :: GLenum
-gl_MODELVIEW5_ARB = 0x8725
-gl_MULTISAMPLE_BUFFER_BIT0_QCOM :: GLenum
-gl_MULTISAMPLE_BUFFER_BIT0_QCOM = 0x01000000
-gl_REGISTER_COMBINERS_NV :: GLenum
-gl_REGISTER_COMBINERS_NV = 0x8522
-gl_PIXEL_MAP_R_TO_R :: GLenum
-gl_PIXEL_MAP_R_TO_R = 0x0C76
-gl_BLEND_SRC_RGB :: GLenum
-gl_BLEND_SRC_RGB = 0x80C9
-gl_2_BYTES_NV :: GLenum
-gl_2_BYTES_NV = 0x1407
-gl_MAX_SAMPLES_EXT :: GLenum
-gl_MAX_SAMPLES_EXT = 0x8D57
-gl_VIEW_CLASS_24_BITS :: GLenum
-gl_VIEW_CLASS_24_BITS = 0x82C9
-gl_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
-gl_COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C
-gl_COLOR_ARRAY_POINTER :: GLenum
-gl_COLOR_ARRAY_POINTER = 0x8090
-gl_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B
-gl_ALPHA_BITS :: GLenum
-gl_ALPHA_BITS = 0x0D55
-gl_REG_28_ATI :: GLenum
-gl_REG_28_ATI = 0x893D
-gl_FETCH_PER_SAMPLE_ARM :: GLenum
-gl_FETCH_PER_SAMPLE_ARM = 0x8F65
-gl_R1UI_T2F_C4F_N3F_V3F_SUN :: GLenum
-gl_R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB
-gl_BITMAP :: GLenum
-gl_BITMAP = 0x1A00
-gl_POLYGON_OFFSET_POINT :: GLenum
-gl_POLYGON_OFFSET_POINT = 0x2A01
-gl_STEREO :: GLenum
-gl_STEREO = 0x0C33
-gl_MATRIX15_ARB :: GLenum
-gl_MATRIX15_ARB = 0x88CF
-gl_BLUE_INTEGER :: GLenum
-gl_BLUE_INTEGER = 0x8D96
-gl_DEPTH_BOUNDS_EXT :: GLenum
-gl_DEPTH_BOUNDS_EXT = 0x8891
-gl_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
-gl_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123
-gl_COLOR_ATTACHMENT10_EXT :: GLenum
-gl_COLOR_ATTACHMENT10_EXT = 0x8CEA
-gl_RESCALE_NORMAL :: GLenum
-gl_RESCALE_NORMAL = 0x803A
-gl_INT_SAMPLER_RENDERBUFFER_NV :: GLenum
-gl_INT_SAMPLER_RENDERBUFFER_NV = 0x8E57
-gl_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT :: GLenum
-gl_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52
-gl_INT_IMAGE_2D_MULTISAMPLE :: GLenum
-gl_INT_IMAGE_2D_MULTISAMPLE = 0x9060
-gl_MAP2_VERTEX_ATTRIB1_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671
-gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV :: GLenum
-gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5B
-gl_OUTPUT_COLOR1_EXT :: GLenum
-gl_OUTPUT_COLOR1_EXT = 0x879C
-gl_PACK_SKIP_IMAGES_EXT :: GLenum
-gl_PACK_SKIP_IMAGES_EXT = 0x806B
-gl_RENDERBUFFER_HEIGHT :: GLenum
-gl_RENDERBUFFER_HEIGHT = 0x8D43
-gl_FRAGMENT_PROGRAM_NV :: GLenum
-gl_FRAGMENT_PROGRAM_NV = 0x8870
-gl_RENDERBUFFER_EXT :: GLenum
-gl_RENDERBUFFER_EXT = 0x8D41
-gl_FRAGMENT_COVERAGE_COLOR_NV :: GLenum
-gl_FRAGMENT_COVERAGE_COLOR_NV = 0x92DE
-gl_DRAW_BUFFER10_NV :: GLenum
-gl_DRAW_BUFFER10_NV = 0x882F
-gl_LAYOUT_LINEAR_CPU_CACHED_INTEL :: GLenum
-gl_LAYOUT_LINEAR_CPU_CACHED_INTEL = 2
-gl_NOTEQUAL :: GLenum
-gl_NOTEQUAL = 0x0205
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8
-gl_SYNC_OBJECT_APPLE :: GLenum
-gl_SYNC_OBJECT_APPLE = 0x8A53
-gl_RELEASED_APPLE :: GLenum
-gl_RELEASED_APPLE = 0x8A19
-gl_COMPARE_R_TO_TEXTURE :: GLenum
-gl_COMPARE_R_TO_TEXTURE = 0x884E
-gl_INT :: GLenum
-gl_INT = 0x1404
-gl_HI_BIAS_NV :: GLenum
-gl_HI_BIAS_NV = 0x8714
-gl_INTERNALFORMAT_ALPHA_SIZE :: GLenum
-gl_INTERNALFORMAT_ALPHA_SIZE = 0x8274
-gl_STENCIL_TEST_TWO_SIDE_EXT :: GLenum
-gl_STENCIL_TEST_TWO_SIDE_EXT = 0x8910
-gl_GREEN_BIAS :: GLenum
-gl_GREEN_BIAS = 0x0D19
-gl_BLEND_ADVANCED_COHERENT_KHR :: GLenum
-gl_BLEND_ADVANCED_COHERENT_KHR = 0x9285
-gl_PERFQUERY_COUNTER_DURATION_NORM_INTEL :: GLenum
-gl_PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1
-gl_ATTRIB_ARRAY_STRIDE_NV :: GLenum
-gl_ATTRIB_ARRAY_STRIDE_NV = 0x8624
-gl_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
-gl_MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8
-gl_WRITE_PIXEL_DATA_RANGE_LENGTH_NV :: GLenum
-gl_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A
-gl_CURRENT_VERTEX_ATTRIB_ARB :: GLenum
-gl_CURRENT_VERTEX_ATTRIB_ARB = 0x8626
-gl_HSL_COLOR_NV :: GLenum
-gl_HSL_COLOR_NV = 0x92AF
-gl_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
-gl_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD
-gl_LUMINANCE8I_EXT :: GLenum
-gl_LUMINANCE8I_EXT = 0x8D92
-gl_OPERAND0_RGB :: GLenum
-gl_OPERAND0_RGB = 0x8590
-gl_INTENSITY_FLOAT32_APPLE :: GLenum
-gl_INTENSITY_FLOAT32_APPLE = 0x8817
-gl_HISTOGRAM :: GLenum
-gl_HISTOGRAM = 0x8024
-gl_EXCLUSION_NV :: GLenum
-gl_EXCLUSION_NV = 0x92A0
-gl_R1UI_V3F_SUN :: GLenum
-gl_R1UI_V3F_SUN = 0x85C4
-gl_REDUCE_EXT :: GLenum
-gl_REDUCE_EXT = 0x8016
-gl_OUTPUT_COLOR0_EXT :: GLenum
-gl_OUTPUT_COLOR0_EXT = 0x879B
-gl_ELEMENT_ARRAY_POINTER_APPLE :: GLenum
-gl_ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E
-gl_ELEMENT_ARRAY_POINTER_ATI :: GLenum
-gl_ELEMENT_ARRAY_POINTER_ATI = 0x876A
-gl_TEXTURE_COORD_ARRAY_LIST_IBM :: GLenum
-gl_TEXTURE_COORD_ARRAY_LIST_IBM = 103074
-gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT :: GLenum
-gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT = 0x8E8A
-gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
-gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8
-gl_SHADING_LANGUAGE_VERSION :: GLenum
-gl_SHADING_LANGUAGE_VERSION = 0x8B8C
-gl_FIXED :: GLenum
-gl_FIXED = 0x140C
-gl_QUAD_TEXTURE_SELECT_SGIS :: GLenum
-gl_QUAD_TEXTURE_SELECT_SGIS = 0x8125
-gl_FRAGMENT_COVERAGE_TO_COLOR_NV :: GLenum
-gl_FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD
-gl_LUMINANCE12 :: GLenum
-gl_LUMINANCE12 = 0x8041
-gl_ALPHA_SCALE :: GLenum
-gl_ALPHA_SCALE = 0x0D1C
-gl_VERTEX_PROGRAM_CALLBACK_FUNC_MESA :: GLenum
-gl_VERTEX_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB6
-gl_SWIZZLE_STRQ_ATI :: GLenum
-gl_SWIZZLE_STRQ_ATI = 0x897A
-gl_ROUND_NV :: GLenum
-gl_ROUND_NV = 0x90A4
-gl_POST_COLOR_MATRIX_RED_BIAS_SGI :: GLenum
-gl_POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8
-gl_PROXY_TEXTURE_2D_STACK_MESAX :: GLenum
-gl_PROXY_TEXTURE_2D_STACK_MESAX = 0x875C
-gl_LIGHT_ENV_MODE_SGIX :: GLenum
-gl_LIGHT_ENV_MODE_SGIX = 0x8407
-gl_INTENSITY16 :: GLenum
-gl_INTENSITY16 = 0x804D
-gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24
-gl_NO_RESET_NOTIFICATION :: GLenum
-gl_NO_RESET_NOTIFICATION = 0x8261
-gl_MAX_PROGRAM_LOOP_COUNT_NV :: GLenum
-gl_MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8
-gl_MAX_RASTER_SAMPLES_EXT :: GLenum
-gl_MAX_RASTER_SAMPLES_EXT = 0x9329
-gl_MAT_AMBIENT_BIT_PGI :: GLenum
-gl_MAT_AMBIENT_BIT_PGI = 0x00100000
-gl_COMPRESSED_RED_GREEN_RGTC2_EXT :: GLenum
-gl_COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD
-gl_FRAMEBUFFER_BINDING_OES :: GLenum
-gl_FRAMEBUFFER_BINDING_OES = 0x8CA6
-gl_SRC_ALPHA :: GLenum
-gl_SRC_ALPHA = 0x0302
-gl_DOT_PRODUCT_DEPTH_REPLACE_NV :: GLenum
-gl_DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED
-gl_PLUS_CLAMPED_NV :: GLenum
-gl_PLUS_CLAMPED_NV = 0x92B1
-gl_UNSIGNED_INT_IMAGE_2D_EXT :: GLenum
-gl_UNSIGNED_INT_IMAGE_2D_EXT = 0x9063
-gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
-gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A
-gl_BACK :: GLenum
-gl_BACK = 0x0405
-gl_DEBUG_SOURCE_WINDOW_SYSTEM_KHR :: GLenum
-gl_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = 0x8247
-gl_COMBINER1_NV :: GLenum
-gl_COMBINER1_NV = 0x8551
-gl_POINT_TOKEN :: GLenum
-gl_POINT_TOKEN = 0x0701
-gl_VERTEX_ATTRIB_ARRAY4_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY4_NV = 0x8654
-gl_YCBCR_MESA :: GLenum
-gl_YCBCR_MESA = 0x8757
-gl_4D_COLOR_TEXTURE :: GLenum
-gl_4D_COLOR_TEXTURE = 0x0604
-gl_RGB_RAW_422_APPLE :: GLenum
-gl_RGB_RAW_422_APPLE = 0x8A51
-gl_TEXCOORD3_BIT_PGI :: GLenum
-gl_TEXCOORD3_BIT_PGI = 0x40000000
-gl_FOG_COORDINATE_ARRAY_TYPE_EXT :: GLenum
-gl_FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454
-gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT :: GLenum
-gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT = 0x900D
-gl_MIRRORED_REPEAT_OES :: GLenum
-gl_MIRRORED_REPEAT_OES = 0x8370
-gl_DYNAMIC_DRAW :: GLenum
-gl_DYNAMIC_DRAW = 0x88E8
-gl_DRAW_BUFFER12_ARB :: GLenum
-gl_DRAW_BUFFER12_ARB = 0x8831
-gl_CLAMP_FRAGMENT_COLOR_ARB :: GLenum
-gl_CLAMP_FRAGMENT_COLOR_ARB = 0x891B
-gl_TEXTURE_WRAP_R :: GLenum
-gl_TEXTURE_WRAP_R = 0x8072
-gl_LUMINANCE :: GLenum
-gl_LUMINANCE = 0x1909
-gl_FRONT_AND_BACK :: GLenum
-gl_FRONT_AND_BACK = 0x0408
-gl_COMPUTE_SUBROUTINE :: GLenum
-gl_COMPUTE_SUBROUTINE = 0x92ED
-gl_COMPRESSED_RGBA_ASTC_3x3x3_OES :: GLenum
-gl_COMPRESSED_RGBA_ASTC_3x3x3_OES = 0x93C0
-gl_TEXTURE_RED_TYPE_ARB :: GLenum
-gl_TEXTURE_RED_TYPE_ARB = 0x8C10
-gl_SPARSE_BUFFER_PAGE_SIZE_ARB :: GLenum
-gl_SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8
-gl_PERFQUERY_WAIT_INTEL :: GLenum
-gl_PERFQUERY_WAIT_INTEL = 0x83FB
-gl_SHADER_IMAGE_STORE :: GLenum
-gl_SHADER_IMAGE_STORE = 0x82A5
-gl_GPU_OPTIMIZED_QCOM :: GLenum
-gl_GPU_OPTIMIZED_QCOM = 0x8FB2
-gl_MULTISAMPLE_BUFFER_BIT2_QCOM :: GLenum
-gl_MULTISAMPLE_BUFFER_BIT2_QCOM = 0x04000000
-gl_MAX_LABEL_LENGTH :: GLenum
-gl_MAX_LABEL_LENGTH = 0x82E8
-gl_NONE :: GLenum
-gl_NONE = 0
-gl_COORD_REPLACE_ARB :: GLenum
-gl_COORD_REPLACE_ARB = 0x8862
-gl_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516
-gl_TEXTURE_CLIPMAP_OFFSET_SGIX :: GLenum
-gl_TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173
-gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES :: GLenum
-gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES = 0x9276
-gl_POLYGON_OFFSET_EXT :: GLenum
-gl_POLYGON_OFFSET_EXT = 0x8037
-gl_SAMPLE_SHADING :: GLenum
-gl_SAMPLE_SHADING = 0x8C36
-gl_INCR_WRAP_OES :: GLenum
-gl_INCR_WRAP_OES = 0x8507
-gl_LUMINANCE32F_ARB :: GLenum
-gl_LUMINANCE32F_ARB = 0x8818
-gl_MAX_COLOR_ATTACHMENTS_NV :: GLenum
-gl_MAX_COLOR_ATTACHMENTS_NV = 0x8CDF
-gl_CLIP_PLANE0_IMG :: GLenum
-gl_CLIP_PLANE0_IMG = 0x3000
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT = 0x8D6C
-gl_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
-gl_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06
-gl_COLOR_EXT :: GLenum
-gl_COLOR_EXT = 0x1800
-gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F
-gl_VIVIDLIGHT_NV :: GLenum
-gl_VIVIDLIGHT_NV = 0x92A6
-gl_MIN_PROGRAM_TEXEL_OFFSET_NV :: GLenum
-gl_MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904
-gl_SLUMINANCE_ALPHA :: GLenum
-gl_SLUMINANCE_ALPHA = 0x8C44
-gl_TEXTURE_LIGHTING_MODE_HP :: GLenum
-gl_TEXTURE_LIGHTING_MODE_HP = 0x8167
-gl_TEXTURE_RECTANGLE_ARB :: GLenum
-gl_TEXTURE_RECTANGLE_ARB = 0x84F5
-gl_MAX_ASYNC_DRAW_PIXELS_SGIX :: GLenum
-gl_MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360
-gl_INT_SAMPLER_2D_ARRAY_EXT :: GLenum
-gl_INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF
-gl_INDEX_ARRAY_LENGTH_NV :: GLenum
-gl_INDEX_ARRAY_LENGTH_NV = 0x8F2E
-gl_CONVOLUTION_1D :: GLenum
-gl_CONVOLUTION_1D = 0x8010
-gl_RENDERBUFFER_SAMPLES_NV :: GLenum
-gl_RENDERBUFFER_SAMPLES_NV = 0x8CAB
-gl_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
-gl_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125
-gl_COMBINER_BIAS_NV :: GLenum
-gl_COMBINER_BIAS_NV = 0x8549
-gl_TESS_GEN_POINT_MODE :: GLenum
-gl_TESS_GEN_POINT_MODE = 0x8E79
-gl_TEXTURE_CLIPMAP_FRAME_SGIX :: GLenum
-gl_TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172
-gl_COMPRESSED_RGBA_ASTC_10x10_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB
-gl_LUMINANCE_ALPHA32I_EXT :: GLenum
-gl_LUMINANCE_ALPHA32I_EXT = 0x8D87
-gl_RGB5_A1_EXT :: GLenum
-gl_RGB5_A1_EXT = 0x8057
-gl_CLAMP_TO_BORDER_ARB :: GLenum
-gl_CLAMP_TO_BORDER_ARB = 0x812D
-gl_MATRIX31_ARB :: GLenum
-gl_MATRIX31_ARB = 0x88DF
-gl_COLOR_ATTACHMENT2_NV :: GLenum
-gl_COLOR_ATTACHMENT2_NV = 0x8CE2
-gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F
-gl_TESS_CONTROL_SUBROUTINE :: GLenum
-gl_TESS_CONTROL_SUBROUTINE = 0x92E9
-gl_INT_2_10_10_10_REV :: GLenum
-gl_INT_2_10_10_10_REV = 0x8D9F
-gl_OUTPUT_TEXTURE_COORD26_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD26_EXT = 0x87B7
-gl_MAX_ATTRIB_STACK_DEPTH :: GLenum
-gl_MAX_ATTRIB_STACK_DEPTH = 0x0D35
-gl_POLYGON_SMOOTH_HINT :: GLenum
-gl_POLYGON_SMOOTH_HINT = 0x0C53
-gl_VERTEX_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
-gl_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2
-gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
-gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D
-gl_MAP1_TEXTURE_COORD_1 :: GLenum
-gl_MAP1_TEXTURE_COORD_1 = 0x0D93
-gl_RESAMPLE_DECIMATE_SGIX :: GLenum
-gl_RESAMPLE_DECIMATE_SGIX = 0x8430
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3
-gl_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
-gl_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C
-gl_DRAW_BUFFER9 :: GLenum
-gl_DRAW_BUFFER9 = 0x882E
-gl_TEXTURE_SWIZZLE_G_EXT :: GLenum
-gl_TEXTURE_SWIZZLE_G_EXT = 0x8E43
-gl_UNSIGNED_INT_10_10_10_2_EXT :: GLenum
-gl_UNSIGNED_INT_10_10_10_2_EXT = 0x8036
-gl_TEXTURE14_ARB :: GLenum
-gl_TEXTURE14_ARB = 0x84CE
-gl_CURRENT_MATRIX_ARB :: GLenum
-gl_CURRENT_MATRIX_ARB = 0x8641
-gl_FOG_COORD_ARRAY_POINTER :: GLenum
-gl_FOG_COORD_ARRAY_POINTER = 0x8456
-gl_IMAGE_CLASS_10_10_10_2 :: GLenum
-gl_IMAGE_CLASS_10_10_10_2 = 0x82C3
-gl_LINE_STRIP_ADJACENCY_ARB :: GLenum
-gl_LINE_STRIP_ADJACENCY_ARB = 0x000B
-gl_POST_CONVOLUTION_ALPHA_SCALE :: GLenum
-gl_POST_CONVOLUTION_ALPHA_SCALE = 0x801F
-gl_LAST_VIDEO_CAPTURE_STATUS_NV :: GLenum
-gl_LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027
-gl_TEXTURE_BINDING_2D :: GLenum
-gl_TEXTURE_BINDING_2D = 0x8069
-gl_UNIFORM_BUFFER_ADDRESS_NV :: GLenum
-gl_UNIFORM_BUFFER_ADDRESS_NV = 0x936F
-gl_OUTPUT_TEXTURE_COORD13_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD13_EXT = 0x87AA
-gl_UNPACK_ALIGNMENT :: GLenum
-gl_UNPACK_ALIGNMENT = 0x0CF5
-gl_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE :: GLenum
-gl_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05
-gl_COMPRESSED_RG11_EAC_OES :: GLenum
-gl_COMPRESSED_RG11_EAC_OES = 0x9272
-gl_CON_6_ATI :: GLenum
-gl_CON_6_ATI = 0x8947
-gl_LINES_ADJACENCY :: GLenum
-gl_LINES_ADJACENCY = 0x000A
-gl_CLIP_DISTANCE4_APPLE :: GLenum
-gl_CLIP_DISTANCE4_APPLE = 0x3004
-gl_SAMPLER_CUBE_ARB :: GLenum
-gl_SAMPLER_CUBE_ARB = 0x8B60
-gl_FLOAT_MAT3x4_NV :: GLenum
-gl_FLOAT_MAT3x4_NV = 0x8B68
-gl_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
-gl_IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054
-gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0
-gl_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
-gl_SECONDARY_COLOR_ARRAY_POINTER = 0x845D
-gl_TEXTURE_BINDING_1D :: GLenum
-gl_TEXTURE_BINDING_1D = 0x8068
-gl_LOCATION :: GLenum
-gl_LOCATION = 0x930E
-gl_FRAGMENT_SHADER_INVOCATIONS_ARB :: GLenum
-gl_FRAGMENT_SHADER_INVOCATIONS_ARB = 0x82F4
-gl_INT_IMAGE_2D :: GLenum
-gl_INT_IMAGE_2D = 0x9058
-gl_RGB10_A2_EXT :: GLenum
-gl_RGB10_A2_EXT = 0x8059
-gl_REG_27_ATI :: GLenum
-gl_REG_27_ATI = 0x893C
-gl_ALLOW_DRAW_MEM_HINT_PGI :: GLenum
-gl_ALLOW_DRAW_MEM_HINT_PGI = 0x1A211
-gl_WARPS_PER_SM_NV :: GLenum
-gl_WARPS_PER_SM_NV = 0x933A
-gl_RGB16F_EXT :: GLenum
-gl_RGB16F_EXT = 0x881B
-gl_RG8I :: GLenum
-gl_RG8I = 0x8237
-gl_EVAL_TRIANGULAR_2D_NV :: GLenum
-gl_EVAL_TRIANGULAR_2D_NV = 0x86C1
-gl_COMPRESSED_RGB8_ETC2 :: GLenum
-gl_COMPRESSED_RGB8_ETC2 = 0x9274
-gl_POST_CONVOLUTION_BLUE_BIAS :: GLenum
-gl_POST_CONVOLUTION_BLUE_BIAS = 0x8022
-gl_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB :: GLenum
-gl_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B
-gl_INTENSITY12_EXT :: GLenum
-gl_INTENSITY12_EXT = 0x804C
-gl_FILTER4_SGIS :: GLenum
-gl_FILTER4_SGIS = 0x8146
-gl_ALPHA_FLOAT32_APPLE :: GLenum
-gl_ALPHA_FLOAT32_APPLE = 0x8816
-gl_LUMINANCE4 :: GLenum
-gl_LUMINANCE4 = 0x803F
-gl_DEBUG_SOURCE_OTHER_KHR :: GLenum
-gl_DEBUG_SOURCE_OTHER_KHR = 0x824B
-gl_R11F_G11F_B10F_EXT :: GLenum
-gl_R11F_G11F_B10F_EXT = 0x8C3A
-gl_ATTACHED_SHADERS :: GLenum
-gl_ATTACHED_SHADERS = 0x8B85
-gl_BUFFER_MAPPED_OES :: GLenum
-gl_BUFFER_MAPPED_OES = 0x88BC
-gl_PROGRAM_UNDER_NATIVE_LIMITS_ARB :: GLenum
-gl_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6
-gl_FLOAT_CLEAR_COLOR_VALUE_NV :: GLenum
-gl_FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D
-gl_DOUBLE_MAT4x2_EXT :: GLenum
-gl_DOUBLE_MAT4x2_EXT = 0x8F4D
-gl_INT8_NV :: GLenum
-gl_INT8_NV = 0x8FE0
-gl_TEXTURE_COLOR_SAMPLES_NV :: GLenum
-gl_TEXTURE_COLOR_SAMPLES_NV = 0x9046
-gl_3D :: GLenum
-gl_3D = 0x0601
-gl_TRANSFORM_FEEDBACK_VARYINGS_EXT :: GLenum
-gl_TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83
-gl_T2F_C4UB_V3F :: GLenum
-gl_T2F_C4UB_V3F = 0x2A29
-gl_BGRA :: GLenum
-gl_BGRA = 0x80E1
-gl_REG_21_ATI :: GLenum
-gl_REG_21_ATI = 0x8936
-gl_MAP_COHERENT_BIT :: GLenum
-gl_MAP_COHERENT_BIT = 0x0080
-gl_TEXTURE_BASE_LEVEL :: GLenum
-gl_TEXTURE_BASE_LEVEL = 0x813C
-gl_UNSIGNED_INT_IMAGE_CUBE :: GLenum
-gl_UNSIGNED_INT_IMAGE_CUBE = 0x9066
-gl_DRAW_FRAMEBUFFER_BINDING_APPLE :: GLenum
-gl_DRAW_FRAMEBUFFER_BINDING_APPLE = 0x8CA6
-gl_TEXTURE_BINDING_2D_ARRAY_EXT :: GLenum
-gl_TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D
-gl_PROXY_TEXTURE_2D :: GLenum
-gl_PROXY_TEXTURE_2D = 0x8064
-gl_NEAREST_CLIPMAP_NEAREST_SGIX :: GLenum
-gl_NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D
-gl_DEBUG_TYPE_OTHER_ARB :: GLenum
-gl_DEBUG_TYPE_OTHER_ARB = 0x8251
-gl_STENCIL_BUFFER_BIT0_QCOM :: GLenum
-gl_STENCIL_BUFFER_BIT0_QCOM = 0x00010000
-gl_DEBUG_SOURCE_OTHER_ARB :: GLenum
-gl_DEBUG_SOURCE_OTHER_ARB = 0x824B
-gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
-gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276
-gl_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM :: GLenum
-gl_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM = 0x8F66
-gl_MATRIX_INDEX_ARRAY_STRIDE_OES :: GLenum
-gl_MATRIX_INDEX_ARRAY_STRIDE_OES = 0x8848
-gl_RELATIVE_SMALL_CW_ARC_TO_NV :: GLenum
-gl_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15
-gl_MINMAX_SINK_EXT :: GLenum
-gl_MINMAX_SINK_EXT = 0x8030
-gl_COMPRESSED_RGBA_ASTC_6x5_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3
-gl_MAP_INVALIDATE_RANGE_BIT_EXT :: GLenum
-gl_MAP_INVALIDATE_RANGE_BIT_EXT = 0x0004
-gl_DEPTH_STENCIL_OES :: GLenum
-gl_DEPTH_STENCIL_OES = 0x84F9
-gl_DISPATCH_INDIRECT_BUFFER :: GLenum
-gl_DISPATCH_INDIRECT_BUFFER = 0x90EE
-gl_CONVOLUTION_FORMAT :: GLenum
-gl_CONVOLUTION_FORMAT = 0x8017
-gl_TEXTURE_SRGB_DECODE_EXT :: GLenum
-gl_TEXTURE_SRGB_DECODE_EXT = 0x8A48
-gl_CLAMP_VERTEX_COLOR :: GLenum
-gl_CLAMP_VERTEX_COLOR = 0x891A
-gl_INNOCENT_CONTEXT_RESET_ARB :: GLenum
-gl_INNOCENT_CONTEXT_RESET_ARB = 0x8254
-gl_R8_SNORM :: GLenum
-gl_R8_SNORM = 0x8F94
-gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT :: GLenum
-gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E7F
-gl_DEBUG_GROUP_STACK_DEPTH :: GLenum
-gl_DEBUG_GROUP_STACK_DEPTH = 0x826D
-gl_MULTISAMPLES_NV :: GLenum
-gl_MULTISAMPLES_NV = 0x9371
-gl_SAMPLER_1D_SHADOW :: GLenum
-gl_SAMPLER_1D_SHADOW = 0x8B61
-gl_TEXTURE_INTERNAL_FORMAT_QCOM :: GLenum
-gl_TEXTURE_INTERNAL_FORMAT_QCOM = 0x8BD5
-gl_IMAGE_ROTATE_ORIGIN_X_HP :: GLenum
-gl_IMAGE_ROTATE_ORIGIN_X_HP = 0x815A
-gl_COMPRESSED_RGBA_ASTC_12x12_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD
-gl_TRANSFORM_FEEDBACK_BUFFER_NV :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E
-gl_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
-gl_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE
-gl_XOR :: GLenum
-gl_XOR = 0x1506
-gl_HISTOGRAM_FORMAT :: GLenum
-gl_HISTOGRAM_FORMAT = 0x8027
-gl_GREEN_NV :: GLenum
-gl_GREEN_NV = 0x1904
-gl_VERTEX_PROGRAM_CALLBACK_DATA_MESA :: GLenum
-gl_VERTEX_PROGRAM_CALLBACK_DATA_MESA = 0x8BB7
-gl_UPPER_LEFT :: GLenum
-gl_UPPER_LEFT = 0x8CA2
-gl_SUPERSAMPLE_SCALE_X_NV :: GLenum
-gl_SUPERSAMPLE_SCALE_X_NV = 0x9372
-gl_INT16_VEC4_NV :: GLenum
-gl_INT16_VEC4_NV = 0x8FE7
-gl_FRACTIONAL_EVEN_EXT :: GLenum
-gl_FRACTIONAL_EVEN_EXT = 0x8E7C
-gl_NOR :: GLenum
-gl_NOR = 0x1508
-gl_SAMPLER_2D_ARRAY :: GLenum
-gl_SAMPLER_2D_ARRAY = 0x8DC1
-gl_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB :: GLenum
-gl_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7
-gl_RGB10 :: GLenum
-gl_RGB10 = 0x8052
-gl_RGB8 :: GLenum
-gl_RGB8 = 0x8051
-gl_TEXTURE_GEN_R :: GLenum
-gl_TEXTURE_GEN_R = 0x0C62
-gl_PACK_SKIP_IMAGES :: GLenum
-gl_PACK_SKIP_IMAGES = 0x806B
-gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT :: GLenum
-gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39
-gl_RENDERBUFFER_DEPTH_SIZE :: GLenum
-gl_RENDERBUFFER_DEPTH_SIZE = 0x8D54
-gl_TEXTURE_STORAGE_SPARSE_BIT_AMD :: GLenum
-gl_TEXTURE_STORAGE_SPARSE_BIT_AMD = 0x00000001
-gl_CLOSE_PATH_NV :: GLenum
-gl_CLOSE_PATH_NV = 0x00
-gl_SRC1_RGB :: GLenum
-gl_SRC1_RGB = 0x8581
-gl_GEOMETRY_SHADER_EXT :: GLenum
-gl_GEOMETRY_SHADER_EXT = 0x8DD9
-gl_TEXTURE27_ARB :: GLenum
-gl_TEXTURE27_ARB = 0x84DB
-gl_VERTEX4_BIT_PGI :: GLenum
-gl_VERTEX4_BIT_PGI = 0x00000008
-gl_BOOL_VEC4_ARB :: GLenum
-gl_BOOL_VEC4_ARB = 0x8B59
-gl_AND_REVERSE :: GLenum
-gl_AND_REVERSE = 0x1502
-gl_SAMPLE_COVERAGE :: GLenum
-gl_SAMPLE_COVERAGE = 0x80A0
-gl_RASTER_SAMPLES_EXT :: GLenum
-gl_RASTER_SAMPLES_EXT = 0x9328
-gl_FOG_COORD_ARRAY :: GLenum
-gl_FOG_COORD_ARRAY = 0x8457
-gl_NAME_LENGTH :: GLenum
-gl_NAME_LENGTH = 0x92F9
-gl_ATOMIC_COUNTER_BARRIER_BIT_EXT :: GLenum
-gl_ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000
-gl_NORMAL_ARRAY_STRIDE :: GLenum
-gl_NORMAL_ARRAY_STRIDE = 0x807F
-gl_CON_11_ATI :: GLenum
-gl_CON_11_ATI = 0x894C
-gl_RENDERBUFFER_WIDTH :: GLenum
-gl_RENDERBUFFER_WIDTH = 0x8D42
-gl_TESS_GEN_VERTEX_ORDER_EXT :: GLenum
-gl_TESS_GEN_VERTEX_ORDER_EXT = 0x8E78
-gl_NICEST :: GLenum
-gl_NICEST = 0x1102
-gl_R16UI :: GLenum
-gl_R16UI = 0x8234
-gl_MAP1_VERTEX_ATTRIB12_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C
-gl_TESS_GEN_SPACING :: GLenum
-gl_TESS_GEN_SPACING = 0x8E77
-gl_CURRENT_INDEX :: GLenum
-gl_CURRENT_INDEX = 0x0B01
-gl_PIXEL_TEX_GEN_ALPHA_LS_SGIX :: GLenum
-gl_PIXEL_TEX_GEN_ALPHA_LS_SGIX = 0x8189
-gl_COMPRESSED_R11_EAC_OES :: GLenum
-gl_COMPRESSED_R11_EAC_OES = 0x9270
-gl_TRANSPOSE_TEXTURE_MATRIX :: GLenum
-gl_TRANSPOSE_TEXTURE_MATRIX = 0x84E5
-gl_PURGEABLE_APPLE :: GLenum
-gl_PURGEABLE_APPLE = 0x8A1D
-gl_FLOAT_RG16_NV :: GLenum
-gl_FLOAT_RG16_NV = 0x8886
-gl_TEXTURE_SWIZZLE_RGBA_EXT :: GLenum
-gl_TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46
-gl_MIRRORED_REPEAT_IBM :: GLenum
-gl_MIRRORED_REPEAT_IBM = 0x8370
-gl_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL :: GLenum
-gl_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF
-gl_TEXTURE_MIN_LOD :: GLenum
-gl_TEXTURE_MIN_LOD = 0x813A
-gl_MAX_PROGRAM_RESULT_COMPONENTS_NV :: GLenum
-gl_MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909
-gl_BGRA_IMG :: GLenum
-gl_BGRA_IMG = 0x80E1
-gl_MAX_PROGRAM_TEX_INDIRECTIONS_ARB :: GLenum
-gl_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D
-gl_RG8 :: GLenum
-gl_RG8 = 0x822B
-gl_FRAGMENT_SUBROUTINE_UNIFORM :: GLenum
-gl_FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2
-gl_422_AVERAGE_EXT :: GLenum
-gl_422_AVERAGE_EXT = 0x80CE
-gl_VERTEX_ATTRIB_ARRAY_INTEGER_EXT :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD
-gl_DEBUG_SEVERITY_NOTIFICATION :: GLenum
-gl_DEBUG_SEVERITY_NOTIFICATION = 0x826B
-gl_COLOR_ATTACHMENT12_EXT :: GLenum
-gl_COLOR_ATTACHMENT12_EXT = 0x8CEC
-gl_READ_WRITE :: GLenum
-gl_READ_WRITE = 0x88BA
-gl_COVERAGE_MODULATION_TABLE_NV :: GLenum
-gl_COVERAGE_MODULATION_TABLE_NV = 0x9331
-gl_POLYGON_OFFSET_BIAS_EXT :: GLenum
-gl_POLYGON_OFFSET_BIAS_EXT = 0x8039
-gl_FLOAT_RGB_NV :: GLenum
-gl_FLOAT_RGB_NV = 0x8882
-gl_TRANSPOSE_PROJECTION_MATRIX :: GLenum
-gl_TRANSPOSE_PROJECTION_MATRIX = 0x84E4
-gl_UNDEFINED_APPLE :: GLenum
-gl_UNDEFINED_APPLE = 0x8A1C
-gl_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4
-gl_DEPTH_CLAMP :: GLenum
-gl_DEPTH_CLAMP = 0x864F
-gl_OFFSET_TEXTURE_RECTANGLE_NV :: GLenum
-gl_OFFSET_TEXTURE_RECTANGLE_NV = 0x864C
-gl_OUTPUT_TEXTURE_COORD18_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD18_EXT = 0x87AF
-gl_VERTEX_SHADER :: GLenum
-gl_VERTEX_SHADER = 0x8B31
-gl_VARIABLE_B_NV :: GLenum
-gl_VARIABLE_B_NV = 0x8524
-gl_UNPACK_ROW_BYTES_APPLE :: GLenum
-gl_UNPACK_ROW_BYTES_APPLE = 0x8A16
-gl_PROXY_TEXTURE_2D_ARRAY :: GLenum
-gl_PROXY_TEXTURE_2D_ARRAY = 0x8C1B
-gl_COLOR_ATTACHMENT12 :: GLenum
-gl_COLOR_ATTACHMENT12 = 0x8CEC
-gl_BUFFER_USAGE_ARB :: GLenum
-gl_BUFFER_USAGE_ARB = 0x8765
-gl_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
-gl_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF
-gl_SAMPLER_1D :: GLenum
-gl_SAMPLER_1D = 0x8B5D
-gl_PROGRAM_OBJECT_EXT :: GLenum
-gl_PROGRAM_OBJECT_EXT = 0x8B40
-gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217
-gl_TEXTURE_BORDER :: GLenum
-gl_TEXTURE_BORDER = 0x1005
-gl_PERSPECTIVE_CORRECTION_HINT :: GLenum
-gl_PERSPECTIVE_CORRECTION_HINT = 0x0C50
-gl_GREEN_INTEGER :: GLenum
-gl_GREEN_INTEGER = 0x8D95
-gl_COVERAGE_AUTOMATIC_NV :: GLenum
-gl_COVERAGE_AUTOMATIC_NV = 0x8ED7
-gl_TEXTURE22_ARB :: GLenum
-gl_TEXTURE22_ARB = 0x84D6
-gl_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI :: GLenum
-gl_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7
-gl_COLOR_ATTACHMENT3_NV :: GLenum
-gl_COLOR_ATTACHMENT3_NV = 0x8CE3
-gl_PATH_FILL_BOUNDING_BOX_NV :: GLenum
-gl_PATH_FILL_BOUNDING_BOX_NV = 0x90A1
-gl_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
-gl_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5
-gl_TOP_LEVEL_ARRAY_SIZE :: GLenum
-gl_TOP_LEVEL_ARRAY_SIZE = 0x930C
-gl_TRANSPOSE_AFFINE_3D_NV :: GLenum
-gl_TRANSPOSE_AFFINE_3D_NV = 0x9098
-gl_SAMPLER :: GLenum
-gl_SAMPLER = 0x82E6
-gl_RG8_EXT :: GLenum
-gl_RG8_EXT = 0x822B
-gl_TEXTURE_FILTER_CONTROL :: GLenum
-gl_TEXTURE_FILTER_CONTROL = 0x8500
-gl_COLOR_ARRAY :: GLenum
-gl_COLOR_ARRAY = 0x8076
-gl_DUAL_LUMINANCE16_SGIS :: GLenum
-gl_DUAL_LUMINANCE16_SGIS = 0x8117
-gl_PIXEL_MODE_BIT :: GLenum
-gl_PIXEL_MODE_BIT = 0x00000020
-gl_COMPRESSED_SIGNED_R11_EAC_OES :: GLenum
-gl_COMPRESSED_SIGNED_R11_EAC_OES = 0x9271
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518
-gl_COMPRESSED_SRGB_ALPHA :: GLenum
-gl_COMPRESSED_SRGB_ALPHA = 0x8C49
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B
-gl_POST_CONVOLUTION_RED_BIAS_EXT :: GLenum
-gl_POST_CONVOLUTION_RED_BIAS_EXT = 0x8020
-gl_EVAL_VERTEX_ATTRIB3_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB3_NV = 0x86C9
-gl_YCBYCR8_422_NV :: GLenum
-gl_YCBYCR8_422_NV = 0x9031
-gl_CONTEXT_LOST_WEBGL :: GLenum
-gl_CONTEXT_LOST_WEBGL = 0x9242
-gl_PROGRAM_BINARY_ANGLE :: GLenum
-gl_PROGRAM_BINARY_ANGLE = 0x93A6
-gl_REQUIRED_TEXTURE_IMAGE_UNITS_OES :: GLenum
-gl_REQUIRED_TEXTURE_IMAGE_UNITS_OES = 0x8D68
-gl_CALLIGRAPHIC_FRAGMENT_SGIX :: GLenum
-gl_CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183
-gl_NORMAL_MAP_NV :: GLenum
-gl_NORMAL_MAP_NV = 0x8511
-gl_LINE_RESET_TOKEN :: GLenum
-gl_LINE_RESET_TOKEN = 0x0707
-gl_PROXY_TEXTURE_RECTANGLE_NV :: GLenum
-gl_PROXY_TEXTURE_RECTANGLE_NV = 0x84F7
-gl_MODELVIEW0_MATRIX_EXT :: GLenum
-gl_MODELVIEW0_MATRIX_EXT = 0x0BA6
-gl_MAX_FRAMEBUFFER_SAMPLES :: GLenum
-gl_MAX_FRAMEBUFFER_SAMPLES = 0x9318
-gl_LUMINANCE8UI_EXT :: GLenum
-gl_LUMINANCE8UI_EXT = 0x8D80
-gl_PROXY_COLOR_TABLE :: GLenum
-gl_PROXY_COLOR_TABLE = 0x80D3
-gl_RENDERBUFFER_BLUE_SIZE :: GLenum
-gl_RENDERBUFFER_BLUE_SIZE = 0x8D52
-gl_UNSIGNED_INT_5_9_9_9_REV :: GLenum
-gl_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E
-gl_COMBINE_ALPHA_ARB :: GLenum
-gl_COMBINE_ALPHA_ARB = 0x8572
-gl_MAX_SPOT_EXPONENT_NV :: GLenum
-gl_MAX_SPOT_EXPONENT_NV = 0x8505
-gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT :: GLenum
-gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1
-gl_MAP2_VERTEX_ATTRIB8_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678
-gl_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
-gl_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B
-gl_REPLACE_VALUE_AMD :: GLenum
-gl_REPLACE_VALUE_AMD = 0x874B
-gl_OPERAND0_RGB_EXT :: GLenum
-gl_OPERAND0_RGB_EXT = 0x8590
-gl_TEXTURE_COORD_ARRAY_POINTER :: GLenum
-gl_TEXTURE_COORD_ARRAY_POINTER = 0x8092
-gl_DEPTH_BUFFER_BIT2_QCOM :: GLenum
-gl_DEPTH_BUFFER_BIT2_QCOM = 0x00000400
-gl_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
-gl_UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129
-gl_BLEND_EQUATION_OES :: GLenum
-gl_BLEND_EQUATION_OES = 0x8009
-gl_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515
-gl_MAX_SPARSE_3D_TEXTURE_SIZE_ARB :: GLenum
-gl_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199
-gl_TEXTURE_1D_STACK_MESAX :: GLenum
-gl_TEXTURE_1D_STACK_MESAX = 0x8759
-gl_FRAMEBUFFER_ATTACHMENT_ANGLE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_ANGLE = 0x93A3
-gl_MAX_DEFORMATION_ORDER_SGIX :: GLenum
-gl_MAX_DEFORMATION_ORDER_SGIX = 0x8197
-gl_SECONDARY_COLOR_ARRAY_EXT :: GLenum
-gl_SECONDARY_COLOR_ARRAY_EXT = 0x845E
-gl_REG_14_ATI :: GLenum
-gl_REG_14_ATI = 0x892F
-gl_FULL_RANGE_EXT :: GLenum
-gl_FULL_RANGE_EXT = 0x87E1
-gl_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT :: GLenum
-gl_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT = 0x825F
-gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1
-gl_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB :: GLenum
-gl_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2
-gl_MAX_MAP_TESSELLATION_NV :: GLenum
-gl_MAX_MAP_TESSELLATION_NV = 0x86D6
-gl_VERTEX_ID_NV :: GLenum
-gl_VERTEX_ID_NV = 0x8C7B
-gl_MODELVIEW0_STACK_DEPTH_EXT :: GLenum
-gl_MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3
-gl_COLOR_ARRAY_POINTER_EXT :: GLenum
-gl_COLOR_ARRAY_POINTER_EXT = 0x8090
-gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT :: GLenum
-gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT = 0x90D9
-gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT :: GLenum
-gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E1F
-gl_DEPTH_COMPONENT16_ARB :: GLenum
-gl_DEPTH_COMPONENT16_ARB = 0x81A5
-gl_DEBUG_TYPE_PERFORMANCE_ARB :: GLenum
-gl_DEBUG_TYPE_PERFORMANCE_ARB = 0x8250
-gl_PACK_ROW_LENGTH :: GLenum
-gl_PACK_ROW_LENGTH = 0x0D02
-gl_MULTISAMPLE_COVERAGE_MODES_NV :: GLenum
-gl_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12
-gl_COLOR_ATTACHMENT1_NV :: GLenum
-gl_COLOR_ATTACHMENT1_NV = 0x8CE1
-gl_COMPRESSED_SIGNED_RG11_EAC_OES :: GLenum
-gl_COMPRESSED_SIGNED_RG11_EAC_OES = 0x9273
-gl_DEBUG_TYPE_ERROR :: GLenum
-gl_DEBUG_TYPE_ERROR = 0x824C
-gl_MAX_DEBUG_MESSAGE_LENGTH_ARB :: GLenum
-gl_MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143
-gl_ACTIVE_UNIFORM_BLOCKS :: GLenum
-gl_ACTIVE_UNIFORM_BLOCKS = 0x8A36
-gl_MODELVIEW24_ARB :: GLenum
-gl_MODELVIEW24_ARB = 0x8738
-gl_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV :: GLenum
-gl_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010
-gl_DEBUG_LOGGED_MESSAGES_KHR :: GLenum
-gl_DEBUG_LOGGED_MESSAGES_KHR = 0x9145
-gl_INTERNALFORMAT_GREEN_TYPE :: GLenum
-gl_INTERNALFORMAT_GREEN_TYPE = 0x8279
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910D
-gl_UNIFORM_BLOCK_INDEX :: GLenum
-gl_UNIFORM_BLOCK_INDEX = 0x8A3A
-gl_DRAW_BUFFER15_NV :: GLenum
-gl_DRAW_BUFFER15_NV = 0x8834
-gl_EXCLUSION_KHR :: GLenum
-gl_EXCLUSION_KHR = 0x92A0
-gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: GLenum
-gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910C
-gl_TESS_EVALUATION_SHADER_EXT :: GLenum
-gl_TESS_EVALUATION_SHADER_EXT = 0x8E87
-gl_VERTICAL_LINE_TO_NV :: GLenum
-gl_VERTICAL_LINE_TO_NV = 0x08
-gl_LUMINANCE4_ALPHA4_OES :: GLenum
-gl_LUMINANCE4_ALPHA4_OES = 0x8043
-gl_BOUNDING_BOX_NV :: GLenum
-gl_BOUNDING_BOX_NV = 0x908D
-gl_PROGRAM_POINT_SIZE_ARB :: GLenum
-gl_PROGRAM_POINT_SIZE_ARB = 0x8642
-gl_LUMINANCE_ALPHA16F_EXT :: GLenum
-gl_LUMINANCE_ALPHA16F_EXT = 0x881F
-gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES = 0x9279
-gl_CONVOLUTION_2D :: GLenum
-gl_CONVOLUTION_2D = 0x8011
-gl_SAMPLE_COVERAGE_ARB :: GLenum
-gl_SAMPLE_COVERAGE_ARB = 0x80A0
-gl_POINT_SIZE :: GLenum
-gl_POINT_SIZE = 0x0B11
-gl_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI :: GLenum
-gl_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8
-gl_QUERY_BY_REGION_NO_WAIT_NV :: GLenum
-gl_QUERY_BY_REGION_NO_WAIT_NV = 0x8E16
-gl_MAP1_VERTEX_ATTRIB3_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663
-gl_PATH_STROKE_BOUNDING_BOX_NV :: GLenum
-gl_PATH_STROKE_BOUNDING_BOX_NV = 0x90A2
-gl_SAMPLER_2D_SHADOW_ARB :: GLenum
-gl_SAMPLER_2D_SHADOW_ARB = 0x8B62
-gl_COLOR_ATTACHMENT11_EXT :: GLenum
-gl_COLOR_ATTACHMENT11_EXT = 0x8CEB
-gl_SYNC_FLUSH_COMMANDS_BIT :: GLenum
-gl_SYNC_FLUSH_COMMANDS_BIT = 0x00000001
-gl_STENCIL :: GLenum
-gl_STENCIL = 0x1802
-gl_INVALID_VALUE :: GLenum
-gl_INVALID_VALUE = 0x0501
-gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT :: GLenum
-gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8A32
-gl_COMPATIBLE_SUBROUTINES :: GLenum
-gl_COMPATIBLE_SUBROUTINES = 0x8E4B
-gl_UNSIGNED_INT8_VEC2_NV :: GLenum
-gl_UNSIGNED_INT8_VEC2_NV = 0x8FED
-gl_BLUE_NV :: GLenum
-gl_BLUE_NV = 0x1905
-gl_INVALID_ENUM :: GLenum
-gl_INVALID_ENUM = 0x0500
-gl_DEPTH24_STENCIL8_OES :: GLenum
-gl_DEPTH24_STENCIL8_OES = 0x88F0
-gl_TEXTURE_2D_MULTISAMPLE_ARRAY_OES :: GLenum
-gl_TEXTURE_2D_MULTISAMPLE_ARRAY_OES = 0x9102
-gl_INCR_WRAP :: GLenum
-gl_INCR_WRAP = 0x8507
-gl_BLUE_SCALE :: GLenum
-gl_BLUE_SCALE = 0x0D1A
-gl_PRIMARY_COLOR_EXT :: GLenum
-gl_PRIMARY_COLOR_EXT = 0x8577
-gl_IUI_V2F_EXT :: GLenum
-gl_IUI_V2F_EXT = 0x81AD
-gl_FLOAT16_VEC3_NV :: GLenum
-gl_FLOAT16_VEC3_NV = 0x8FFA
-gl_PERFQUERY_COUNTER_DATA_FLOAT_INTEL :: GLenum
-gl_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA
-gl_GEOMETRY_SHADER_ARB :: GLenum
-gl_GEOMETRY_SHADER_ARB = 0x8DD9
-gl_COLOR :: GLenum
-gl_COLOR = 0x1800
-gl_COLOR_INDEX2_EXT :: GLenum
-gl_COLOR_INDEX2_EXT = 0x80E3
-gl_VIDEO_BUFFER_PITCH_NV :: GLenum
-gl_VIDEO_BUFFER_PITCH_NV = 0x9028
-gl_OBJECT_DISTANCE_TO_LINE_SGIS :: GLenum
-gl_OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3
-gl_PIXEL_UNPACK_BUFFER_BINDING_ARB :: GLenum
-gl_PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF
-gl_SAMPLER_BUFFER_EXT :: GLenum
-gl_SAMPLER_BUFFER_EXT = 0x8DC2
-gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV :: GLenum
-gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520
-gl_COLORBURN_NV :: GLenum
-gl_COLORBURN_NV = 0x929A
-gl_NEGATIVE_Z_EXT :: GLenum
-gl_NEGATIVE_Z_EXT = 0x87DB
-gl_MATRIX26_ARB :: GLenum
-gl_MATRIX26_ARB = 0x88DA
-gl_COLOR_MATRIX :: GLenum
-gl_COLOR_MATRIX = 0x80B1
-gl_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623
-gl_LUMINANCE8 :: GLenum
-gl_LUMINANCE8 = 0x8040
-gl_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
-gl_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE
-gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT :: GLenum
-gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT = 0x8E89
-gl_BLEND_OVERLAP_NV :: GLenum
-gl_BLEND_OVERLAP_NV = 0x9281
-gl_COMPRESSED_SRGB8_ETC2 :: GLenum
-gl_COMPRESSED_SRGB8_ETC2 = 0x9275
-gl_LIGHT6 :: GLenum
-gl_LIGHT6 = 0x4006
-gl_COEFF :: GLenum
-gl_COEFF = 0x0A00
-gl_DRAW_INDIRECT_LENGTH_NV :: GLenum
-gl_DRAW_INDIRECT_LENGTH_NV = 0x8F42
-gl_INDEX_ARRAY_LIST_IBM :: GLenum
-gl_INDEX_ARRAY_LIST_IBM = 103073
-gl_DRAW_BUFFER8_ARB :: GLenum
-gl_DRAW_BUFFER8_ARB = 0x882D
-gl_TEXTURE_COMPARE_FAIL_VALUE_ARB :: GLenum
-gl_TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF
-gl_SLUMINANCE8_ALPHA8 :: GLenum
-gl_SLUMINANCE8_ALPHA8 = 0x8C45
-gl_MAX_TEXTURE_IMAGE_UNITS_NV :: GLenum
-gl_MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872
-gl_FOG_COORDINATE_ARRAY :: GLenum
-gl_FOG_COORDINATE_ARRAY = 0x8457
-gl_OPERAND2_ALPHA_ARB :: GLenum
-gl_OPERAND2_ALPHA_ARB = 0x859A
-gl_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
-gl_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD
-gl_RESAMPLE_REPLICATE_OML :: GLenum
-gl_RESAMPLE_REPLICATE_OML = 0x8986
-gl_UNPACK_SKIP_ROWS :: GLenum
-gl_UNPACK_SKIP_ROWS = 0x0CF3
-gl_STENCIL_VALUE_MASK :: GLenum
-gl_STENCIL_VALUE_MASK = 0x0B93
-gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D
-gl_COLOR_ATTACHMENT5_NV :: GLenum
-gl_COLOR_ATTACHMENT5_NV = 0x8CE5
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE = 0x8D56
-gl_PROXY_TEXTURE_4D_SGIS :: GLenum
-gl_PROXY_TEXTURE_4D_SGIS = 0x8135
-gl_COLOR_ATTACHMENT0_EXT :: GLenum
-gl_COLOR_ATTACHMENT0_EXT = 0x8CE0
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1
-gl_CONFORMANT_NV :: GLenum
-gl_CONFORMANT_NV = 0x9374
-gl_TEXTURE_BINDING_1D_ARRAY_EXT :: GLenum
-gl_TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C
-gl_QUAD_LUMINANCE4_SGIS :: GLenum
-gl_QUAD_LUMINANCE4_SGIS = 0x8120
-gl_MATRIX_INDEX_ARRAY_TYPE_ARB :: GLenum
-gl_MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847
-gl_LUMINANCE16_ALPHA16 :: GLenum
-gl_LUMINANCE16_ALPHA16 = 0x8048
-gl_TESSELLATION_MODE_AMD :: GLenum
-gl_TESSELLATION_MODE_AMD = 0x9004
-gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV :: GLenum
-gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857
-gl_BUFFER_MAP_POINTER_ARB :: GLenum
-gl_BUFFER_MAP_POINTER_ARB = 0x88BD
-gl_CON_12_ATI :: GLenum
-gl_CON_12_ATI = 0x894D
-gl_HALF_BIAS_NEGATE_NV :: GLenum
-gl_HALF_BIAS_NEGATE_NV = 0x853B
-gl_TEXTURE_BUFFER_ARB :: GLenum
-gl_TEXTURE_BUFFER_ARB = 0x8C2A
-gl_CON_26_ATI :: GLenum
-gl_CON_26_ATI = 0x895B
-gl_MOVE_TO_RESETS_NV :: GLenum
-gl_MOVE_TO_RESETS_NV = 0x90B5
-gl_OFFSET_TEXTURE_MATRIX_NV :: GLenum
-gl_OFFSET_TEXTURE_MATRIX_NV = 0x86E1
-gl_COMPRESSED_SIGNED_R11_EAC :: GLenum
-gl_COMPRESSED_SIGNED_R11_EAC = 0x9271
-gl_POST_COLOR_MATRIX_BLUE_BIAS_SGI :: GLenum
-gl_POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA
-gl_MAX_DRAW_BUFFERS_ATI :: GLenum
-gl_MAX_DRAW_BUFFERS_ATI = 0x8824
-gl_UNSIGNED_INT_VEC4_EXT :: GLenum
-gl_UNSIGNED_INT_VEC4_EXT = 0x8DC8
-gl_PATH_PROJECTION_MATRIX_NV :: GLenum
-gl_PATH_PROJECTION_MATRIX_NV = 0x0BA7
-gl_REFERENCED_BY_TESS_CONTROL_SHADER_EXT :: GLenum
-gl_REFERENCED_BY_TESS_CONTROL_SHADER_EXT = 0x9307
-gl_VARIABLE_F_NV :: GLenum
-gl_VARIABLE_F_NV = 0x8528
-gl_DEBUG_CATEGORY_DEPRECATION_AMD :: GLenum
-gl_DEBUG_CATEGORY_DEPRECATION_AMD = 0x914B
-gl_TRANSPOSE_TEXTURE_MATRIX_ARB :: GLenum
-gl_TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5
-gl_DRAW_BUFFER12_NV :: GLenum
-gl_DRAW_BUFFER12_NV = 0x8831
-gl_OPERAND1_ALPHA_EXT :: GLenum
-gl_OPERAND1_ALPHA_EXT = 0x8599
-gl_SECONDARY_COLOR_ARRAY_SIZE_EXT :: GLenum
-gl_SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A
-gl_MAP2_VERTEX_ATTRIB13_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D
-gl_PROXY_TEXTURE_1D :: GLenum
-gl_PROXY_TEXTURE_1D = 0x8063
-gl_SPRITE_EYE_ALIGNED_SGIX :: GLenum
-gl_SPRITE_EYE_ALIGNED_SGIX = 0x814E
-gl_TEXTURE_MAX_CLAMP_S_SGIX :: GLenum
-gl_TEXTURE_MAX_CLAMP_S_SGIX = 0x8369
-gl_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT :: GLenum
-gl_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72
-gl_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
-gl_NORMAL_ARRAY_BUFFER_BINDING = 0x8897
-gl_TEXTURE_CUBE_MAP_ARRAY_EXT :: GLenum
-gl_TEXTURE_CUBE_MAP_ARRAY_EXT = 0x9009
-gl_T2F_IUI_N3F_V2F_EXT :: GLenum
-gl_T2F_IUI_N3F_V2F_EXT = 0x81B3
-gl_MAX_3D_TEXTURE_SIZE_OES :: GLenum
-gl_MAX_3D_TEXTURE_SIZE_OES = 0x8073
-gl_TESS_EVALUATION_SHADER_BIT_EXT :: GLenum
-gl_TESS_EVALUATION_SHADER_BIT_EXT = 0x00000010
-gl_FOG_START :: GLenum
-gl_FOG_START = 0x0B63
-gl_VERTEX_ARRAY_TYPE_EXT :: GLenum
-gl_VERTEX_ARRAY_TYPE_EXT = 0x807B
-gl_SAMPLER_2D_MULTISAMPLE :: GLenum
-gl_SAMPLER_2D_MULTISAMPLE = 0x9108
-gl_UNSIGNED_INT_VEC2 :: GLenum
-gl_UNSIGNED_INT_VEC2 = 0x8DC6
-gl_MAP2_VERTEX_ATTRIB2_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672
-gl_STACK_OVERFLOW :: GLenum
-gl_STACK_OVERFLOW = 0x0503
-gl_UNSIGNED_INT_S8_S8_8_8_NV :: GLenum
-gl_UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA
-gl_RASTERIZER_DISCARD_EXT :: GLenum
-gl_RASTERIZER_DISCARD_EXT = 0x8C89
-gl_SHADER_CONSISTENT_NV :: GLenum
-gl_SHADER_CONSISTENT_NV = 0x86DD
-gl_READ_FRAMEBUFFER_APPLE :: GLenum
-gl_READ_FRAMEBUFFER_APPLE = 0x8CA8
-gl_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
-gl_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69
-gl_PIXEL_MAP_A_TO_A :: GLenum
-gl_PIXEL_MAP_A_TO_A = 0x0C79
-gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1
-gl_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622
-gl_CLIP_FAR_HINT_PGI :: GLenum
-gl_CLIP_FAR_HINT_PGI = 0x1A221
-gl_MULTISAMPLE_BIT :: GLenum
-gl_MULTISAMPLE_BIT = 0x20000000
-gl_DRAW_BUFFER6_NV :: GLenum
-gl_DRAW_BUFFER6_NV = 0x882B
-gl_REG_20_ATI :: GLenum
-gl_REG_20_ATI = 0x8935
-gl_TEXTURE_CONSTANT_DATA_SUNX :: GLenum
-gl_TEXTURE_CONSTANT_DATA_SUNX = 0x81D6
-gl_UNIFORM :: GLenum
-gl_UNIFORM = 0x92E1
-gl_UNIFORM_BLOCK :: GLenum
-gl_UNIFORM_BLOCK = 0x92E2
-gl_COLOR_TABLE_LUMINANCE_SIZE_SGI :: GLenum
-gl_COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE
-gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR :: GLenum
-gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = 0x8243
-gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT = 0x8A57
-gl_HISTOGRAM_FORMAT_EXT :: GLenum
-gl_HISTOGRAM_FORMAT_EXT = 0x8027
-gl_PATCHES_EXT :: GLenum
-gl_PATCHES_EXT = 0x000E
-gl_OR_REVERSE :: GLenum
-gl_OR_REVERSE = 0x150B
-gl_OUTPUT_TEXTURE_COORD0_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD0_EXT = 0x879D
-gl_BUFFER_FLUSHING_UNMAP_APPLE :: GLenum
-gl_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13
-gl_VERTEX_ARRAY_RANGE_POINTER_NV :: GLenum
-gl_VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521
-gl_TEXTURE_1D_ARRAY_EXT :: GLenum
-gl_TEXTURE_1D_ARRAY_EXT = 0x8C18
-gl_MODELVIEW25_ARB :: GLenum
-gl_MODELVIEW25_ARB = 0x8739
-gl_COMBINE_RGB :: GLenum
-gl_COMBINE_RGB = 0x8571
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9
-gl_DOUBLE_MAT4 :: GLenum
-gl_DOUBLE_MAT4 = 0x8F48
-gl_PRESERVE_ATI :: GLenum
-gl_PRESERVE_ATI = 0x8762
-gl_MAP1_VERTEX_ATTRIB15_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F
-gl_QUADRATIC_CURVE_TO_NV :: GLenum
-gl_QUADRATIC_CURVE_TO_NV = 0x0A
-gl_PN_TRIANGLES_POINT_MODE_CUBIC_ATI :: GLenum
-gl_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6
-gl_GREEN_MIN_CLAMP_INGR :: GLenum
-gl_GREEN_MIN_CLAMP_INGR = 0x8561
-gl_CLIP_DISTANCE6_APPLE :: GLenum
-gl_CLIP_DISTANCE6_APPLE = 0x3006
-gl_DATA_BUFFER_AMD :: GLenum
-gl_DATA_BUFFER_AMD = 0x9151
-gl_ANY_SAMPLES_PASSED :: GLenum
-gl_ANY_SAMPLES_PASSED = 0x8C2F
-gl_OBJECT_TYPE_APPLE :: GLenum
-gl_OBJECT_TYPE_APPLE = 0x9112
-gl_RENDERBUFFER_BINDING :: GLenum
-gl_RENDERBUFFER_BINDING = 0x8CA7
-gl_COMPRESSED_SRGB_S3TC_DXT1_EXT :: GLenum
-gl_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C
-gl_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
-gl_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2
-gl_TEXTURE_ALPHA_SIZE :: GLenum
-gl_TEXTURE_ALPHA_SIZE = 0x805F
-gl_CLIP_DISTANCE3 :: GLenum
-gl_CLIP_DISTANCE3 = 0x3003
-gl_MALI_SHADER_BINARY_ARM :: GLenum
-gl_MALI_SHADER_BINARY_ARM = 0x8F60
-gl_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
-gl_PACK_COMPRESSED_BLOCK_WIDTH = 0x912B
-gl_VERTEX_ARRAY_STRIDE :: GLenum
-gl_VERTEX_ARRAY_STRIDE = 0x807C
-gl_GEOMETRY_SHADER_BIT_EXT :: GLenum
-gl_GEOMETRY_SHADER_BIT_EXT = 0x00000004
-gl_OUTPUT_TEXTURE_COORD4_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD4_EXT = 0x87A1
-gl_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7
-gl_BLUE_MIN_CLAMP_INGR :: GLenum
-gl_BLUE_MIN_CLAMP_INGR = 0x8562
-gl_DEBUG_SOURCE_SHADER_COMPILER_KHR :: GLenum
-gl_DEBUG_SOURCE_SHADER_COMPILER_KHR = 0x8248
-gl_NORMAL_ARRAY_EXT :: GLenum
-gl_NORMAL_ARRAY_EXT = 0x8075
-gl_RGB8_EXT :: GLenum
-gl_RGB8_EXT = 0x8051
-gl_TEXTURE_DEPTH_QCOM :: GLenum
-gl_TEXTURE_DEPTH_QCOM = 0x8BD4
-gl_DEPTH_BUFFER_FLOAT_MODE_NV :: GLenum
-gl_DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF
-gl_SOURCE1_ALPHA :: GLenum
-gl_SOURCE1_ALPHA = 0x8589
-gl_IMAGE_BINDING_ACCESS :: GLenum
-gl_IMAGE_BINDING_ACCESS = 0x8F3E
-gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7
-gl_QUERY_BUFFER :: GLenum
-gl_QUERY_BUFFER = 0x9192
-gl_PATH_FILL_COVER_MODE_NV :: GLenum
-gl_PATH_FILL_COVER_MODE_NV = 0x9082
-gl_REFERENCED_BY_COMPUTE_SHADER :: GLenum
-gl_REFERENCED_BY_COMPUTE_SHADER = 0x930B
-gl_STENCIL_BACK_REF :: GLenum
-gl_STENCIL_BACK_REF = 0x8CA3
-gl_SYNC_FLAGS :: GLenum
-gl_SYNC_FLAGS = 0x9115
-gl_PATH_GEN_COMPONENTS_NV :: GLenum
-gl_PATH_GEN_COMPONENTS_NV = 0x90B3
-gl_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
-gl_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A
-gl_UNSIGNED_BYTE_3_3_2_EXT :: GLenum
-gl_UNSIGNED_BYTE_3_3_2_EXT = 0x8032
-gl_AVERAGE_HP :: GLenum
-gl_AVERAGE_HP = 0x8160
-gl_SAMPLE_SHADING_OES :: GLenum
-gl_SAMPLE_SHADING_OES = 0x8C36
-gl_CURRENT_ATTRIB_NV :: GLenum
-gl_CURRENT_ATTRIB_NV = 0x8626
-gl_DITHER :: GLenum
-gl_DITHER = 0x0BD0
-gl_PIXEL_MAG_FILTER_EXT :: GLenum
-gl_PIXEL_MAG_FILTER_EXT = 0x8331
-gl_PATH_TERMINAL_DASH_CAP_NV :: GLenum
-gl_PATH_TERMINAL_DASH_CAP_NV = 0x907D
-gl_POINT_FADE_THRESHOLD_SIZE_EXT :: GLenum
-gl_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128
-gl_PIXEL_MAP_I_TO_G :: GLenum
-gl_PIXEL_MAP_I_TO_G = 0x0C73
-gl_BLEND :: GLenum
-gl_BLEND = 0x0BE2
-gl_RESTART_PATH_NV :: GLenum
-gl_RESTART_PATH_NV = 0xF0
-gl_DRAW_BUFFER13_EXT :: GLenum
-gl_DRAW_BUFFER13_EXT = 0x8832
-gl_SCALED_RESOLVE_NICEST_EXT :: GLenum
-gl_SCALED_RESOLVE_NICEST_EXT = 0x90BB
-gl_COLOR_CLEAR_UNCLAMPED_VALUE_ATI :: GLenum
-gl_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835
-gl_EVAL_BIT :: GLenum
-gl_EVAL_BIT = 0x00010000
-gl_INT_VEC3_ARB :: GLenum
-gl_INT_VEC3_ARB = 0x8B54
-gl_COLOR_ATTACHMENT8 :: GLenum
-gl_COLOR_ATTACHMENT8 = 0x8CE8
-gl_DRAW_BUFFER7_ARB :: GLenum
-gl_DRAW_BUFFER7_ARB = 0x882C
-gl_VERSION_ES_CM_1_1 :: GLenum
-gl_VERSION_ES_CM_1_1 = 1
-gl_VIEW_CLASS_64_BITS :: GLenum
-gl_VIEW_CLASS_64_BITS = 0x82C6
-gl_FUNC_REVERSE_SUBTRACT_OES :: GLenum
-gl_FUNC_REVERSE_SUBTRACT_OES = 0x800B
-gl_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
-gl_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3
-gl_LUMINANCE_ALPHA_FLOAT16_ATI :: GLenum
-gl_LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F
-gl_RGBA12 :: GLenum
-gl_RGBA12 = 0x805A
-gl_MAP1_VERTEX_ATTRIB1_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661
-gl_CCW :: GLenum
-gl_CCW = 0x0901
-gl_STENCIL_BUFFER_BIT4_QCOM :: GLenum
-gl_STENCIL_BUFFER_BIT4_QCOM = 0x00100000
-gl_RENDERBUFFER_GREEN_SIZE :: GLenum
-gl_RENDERBUFFER_GREEN_SIZE = 0x8D51
-gl_DOUBLE_MAT4x2 :: GLenum
-gl_DOUBLE_MAT4x2 = 0x8F4D
-gl_PIXEL_TILE_WIDTH_SGIX :: GLenum
-gl_PIXEL_TILE_WIDTH_SGIX = 0x8140
-gl_STENCIL_BUFFER_BIT1_QCOM :: GLenum
-gl_STENCIL_BUFFER_BIT1_QCOM = 0x00020000
-gl_TEXTURE_BINDING_CUBE_MAP :: GLenum
-gl_TEXTURE_BINDING_CUBE_MAP = 0x8514
-gl_R32I :: GLenum
-gl_R32I = 0x8235
-gl_COMPRESSED_RGBA_BPTC_UNORM_ARB :: GLenum
-gl_COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C
-gl_VARIANT_VALUE_EXT :: GLenum
-gl_VARIANT_VALUE_EXT = 0x87E4
-gl_CURRENT_SECONDARY_COLOR :: GLenum
-gl_CURRENT_SECONDARY_COLOR = 0x8459
-gl_TRANSFORM_FEEDBACK_NV :: GLenum
-gl_TRANSFORM_FEEDBACK_NV = 0x8E22
-gl_MAX_PROJECTION_STACK_DEPTH :: GLenum
-gl_MAX_PROJECTION_STACK_DEPTH = 0x0D38
-gl_PARTIAL_SUCCESS_NV :: GLenum
-gl_PARTIAL_SUCCESS_NV = 0x902E
-gl_PATH_DASH_CAPS_NV :: GLenum
-gl_PATH_DASH_CAPS_NV = 0x907B
-gl_FRAGMENTS_INSTRUMENT_MAX_SGIX :: GLenum
-gl_FRAGMENTS_INSTRUMENT_MAX_SGIX = 0x8315
-gl_FONT_HAS_KERNING_BIT_NV :: GLenum
-gl_FONT_HAS_KERNING_BIT_NV = 0x10000000
-gl_UNSIGNED_INT_VEC4 :: GLenum
-gl_UNSIGNED_INT_VEC4 = 0x8DC8
-gl_FLOAT :: GLenum
-gl_FLOAT = 0x1406
-gl_MAX_VERTEX_ATTRIBS :: GLenum
-gl_MAX_VERTEX_ATTRIBS = 0x8869
-gl_QUERY_BY_REGION_WAIT_NV :: GLenum
-gl_QUERY_BY_REGION_WAIT_NV = 0x8E15
-gl_VERTEX_PROGRAM_TWO_SIDE :: GLenum
-gl_VERTEX_PROGRAM_TWO_SIDE = 0x8643
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES = 0x93E2
-gl_IMAGE_BINDING_LAYERED :: GLenum
-gl_IMAGE_BINDING_LAYERED = 0x8F3C
-gl_FOG_COORDINATE_SOURCE :: GLenum
-gl_FOG_COORDINATE_SOURCE = 0x8450
-gl_FRAMEBUFFER_UNSUPPORTED_OES :: GLenum
-gl_FRAMEBUFFER_UNSUPPORTED_OES = 0x8CDD
-gl_STENCIL_BUFFER_BIT2_QCOM :: GLenum
-gl_STENCIL_BUFFER_BIT2_QCOM = 0x00040000
-gl_STENCIL_BACK_OP_VALUE_AMD :: GLenum
-gl_STENCIL_BACK_OP_VALUE_AMD = 0x874D
-gl_DUAL_LUMINANCE4_SGIS :: GLenum
-gl_DUAL_LUMINANCE4_SGIS = 0x8114
-gl_SYNC_STATUS_APPLE :: GLenum
-gl_SYNC_STATUS_APPLE = 0x9114
-gl_CONVEX_HULL_NV :: GLenum
-gl_CONVEX_HULL_NV = 0x908B
-gl_TRANSPOSE_COLOR_MATRIX_ARB :: GLenum
-gl_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6
-gl_R8_EXT :: GLenum
-gl_R8_EXT = 0x8229
-gl_DOUBLE_MAT2x4 :: GLenum
-gl_DOUBLE_MAT2x4 = 0x8F4A
-gl_DOT2_ADD_ATI :: GLenum
-gl_DOT2_ADD_ATI = 0x896C
-gl_COLOR_ATTACHMENT1_EXT :: GLenum
-gl_COLOR_ATTACHMENT1_EXT = 0x8CE1
-gl_TEXTURE_DEPTH_EXT :: GLenum
-gl_TEXTURE_DEPTH_EXT = 0x8071
-gl_FACTOR_MAX_AMD :: GLenum
-gl_FACTOR_MAX_AMD = 0x901D
-gl_BGR_EXT :: GLenum
-gl_BGR_EXT = 0x80E0
-gl_STENCIL_SAMPLES_NV :: GLenum
-gl_STENCIL_SAMPLES_NV = 0x932E
-gl_GEOMETRY_SHADER_BIT :: GLenum
-gl_GEOMETRY_SHADER_BIT = 0x00000004
-gl_DRAW_BUFFER6_ARB :: GLenum
-gl_DRAW_BUFFER6_ARB = 0x882B
-gl_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
-gl_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51
-gl_FOG_COLOR :: GLenum
-gl_FOG_COLOR = 0x0B66
-gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT :: GLenum
-gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT = 0x90CC
-gl_MATRIX5_NV :: GLenum
-gl_MATRIX5_NV = 0x8635
-gl_PATCH_DEFAULT_INNER_LEVEL_EXT :: GLenum
-gl_PATCH_DEFAULT_INNER_LEVEL_EXT = 0x8E73
-gl_COLOR_ATTACHMENT3 :: GLenum
-gl_COLOR_ATTACHMENT3 = 0x8CE3
-gl_BACK_SECONDARY_COLOR_NV :: GLenum
-gl_BACK_SECONDARY_COLOR_NV = 0x8C78
-gl_BROWSER_DEFAULT_WEBGL :: GLenum
-gl_BROWSER_DEFAULT_WEBGL = 0x9244
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A
-gl_SYNC_FLAGS_APPLE :: GLenum
-gl_SYNC_FLAGS_APPLE = 0x9115
-gl_SPRITE_OBJECT_ALIGNED_SGIX :: GLenum
-gl_SPRITE_OBJECT_ALIGNED_SGIX = 0x814D
-gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB :: GLenum
-gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808
-gl_RENDERBUFFER_RED_SIZE_OES :: GLenum
-gl_RENDERBUFFER_RED_SIZE_OES = 0x8D50
-gl_TEXTURE_4DSIZE_SGIS :: GLenum
-gl_TEXTURE_4DSIZE_SGIS = 0x8136
-gl_SIGNED_INTENSITY_NV :: GLenum
-gl_SIGNED_INTENSITY_NV = 0x8707
-gl_MIRRORED_REPEAT_ARB :: GLenum
-gl_MIRRORED_REPEAT_ARB = 0x8370
-gl_VERTEX_ARRAY_STORAGE_HINT_APPLE :: GLenum
-gl_VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F
-gl_TEXTURE_BINDING_3D :: GLenum
-gl_TEXTURE_BINDING_3D = 0x806A
-gl_RESAMPLE_ZERO_FILL_OML :: GLenum
-gl_RESAMPLE_ZERO_FILL_OML = 0x8987
-gl_POLYGON_OFFSET_UNITS :: GLenum
-gl_POLYGON_OFFSET_UNITS = 0x2A00
-gl_TEXTURE_BLUE_TYPE_ARB :: GLenum
-gl_TEXTURE_BLUE_TYPE_ARB = 0x8C12
-gl_SOURCE2_RGB_ARB :: GLenum
-gl_SOURCE2_RGB_ARB = 0x8582
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8
-gl_RGB9_E5_EXT :: GLenum
-gl_RGB9_E5_EXT = 0x8C3D
-gl_DMP_PROGRAM_BINARY_DMP :: GLenum
-gl_DMP_PROGRAM_BINARY_DMP = 0x9253
-gl_OBJECT_LINE_SGIS :: GLenum
-gl_OBJECT_LINE_SGIS = 0x81F7
-gl_TEXTURE_IMMUTABLE_FORMAT :: GLenum
-gl_TEXTURE_IMMUTABLE_FORMAT = 0x912F
-gl_HSL_LUMINOSITY_KHR :: GLenum
-gl_HSL_LUMINOSITY_KHR = 0x92B0
-gl_FLOAT_MAT2 :: GLenum
-gl_FLOAT_MAT2 = 0x8B5A
-gl_TEXTURE_MAX_LOD_SGIS :: GLenum
-gl_TEXTURE_MAX_LOD_SGIS = 0x813B
-gl_TRANSLATE_X_NV :: GLenum
-gl_TRANSLATE_X_NV = 0x908E
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4
-gl_DEPTH :: GLenum
-gl_DEPTH = 0x1801
-gl_DISTANCE_ATTENUATION_SGIS :: GLenum
-gl_DISTANCE_ATTENUATION_SGIS = 0x8129
-gl_STENCIL_FAIL :: GLenum
-gl_STENCIL_FAIL = 0x0B94
-gl_DEBUG_SEVERITY_LOW :: GLenum
-gl_DEBUG_SEVERITY_LOW = 0x9148
-gl_LINEAR_DETAIL_COLOR_SGIS :: GLenum
-gl_LINEAR_DETAIL_COLOR_SGIS = 0x8099
-gl_LUMINANCE_ALPHA8UI_EXT :: GLenum
-gl_LUMINANCE_ALPHA8UI_EXT = 0x8D81
-gl_NAMED_STRING_TYPE_ARB :: GLenum
-gl_NAMED_STRING_TYPE_ARB = 0x8DEA
-gl_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
-gl_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B
-gl_COMPRESSED_RGBA_ASTC_6x5x5_OES :: GLenum
-gl_COMPRESSED_RGBA_ASTC_6x5x5_OES = 0x93C7
-gl_STORAGE_CLIENT_APPLE :: GLenum
-gl_STORAGE_CLIENT_APPLE = 0x85B4
-gl_LUMINANCE_ALPHA8I_EXT :: GLenum
-gl_LUMINANCE_ALPHA8I_EXT = 0x8D93
-gl_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
-gl_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE
-gl_TEXTURE_BLUE_SIZE_EXT :: GLenum
-gl_TEXTURE_BLUE_SIZE_EXT = 0x805E
-gl_RGB_422_APPLE :: GLenum
-gl_RGB_422_APPLE = 0x8A1F
-gl_MAX_GENERAL_COMBINERS_NV :: GLenum
-gl_MAX_GENERAL_COMBINERS_NV = 0x854D
-gl_TRACE_ERRORS_BIT_MESA :: GLenum
-gl_TRACE_ERRORS_BIT_MESA = 0x0020
-gl_UNSIGNED_INT_8_8_8_8_REV_EXT :: GLenum
-gl_UNSIGNED_INT_8_8_8_8_REV_EXT = 0x8367
-gl_INT_SAMPLER_BUFFER_AMD :: GLenum
-gl_INT_SAMPLER_BUFFER_AMD = 0x9002
-gl_FRAMEBUFFER_DEFAULT :: GLenum
-gl_FRAMEBUFFER_DEFAULT = 0x8218
-gl_DEPTH_STENCIL_NV :: GLenum
-gl_DEPTH_STENCIL_NV = 0x84F9
-gl_CLIP_PLANE2 :: GLenum
-gl_CLIP_PLANE2 = 0x3002
-gl_MODULATE :: GLenum
-gl_MODULATE = 0x2100
-gl_IMAGE_PIXEL_TYPE :: GLenum
-gl_IMAGE_PIXEL_TYPE = 0x82AA
-gl_MAX_TEXTURE_IMAGE_UNITS_ARB :: GLenum
-gl_MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872
-gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC
-gl_ADD_SIGNED :: GLenum
-gl_ADD_SIGNED = 0x8574
-gl_SMOOTH_LINE_WIDTH_RANGE :: GLenum
-gl_SMOOTH_LINE_WIDTH_RANGE = 0x0B22
-gl_SRGB_DECODE_ARB :: GLenum
-gl_SRGB_DECODE_ARB = 0x8299
-gl_MAX_TRACK_MATRIX_STACK_DEPTH_NV :: GLenum
-gl_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E
-gl_RESET_NOTIFICATION_STRATEGY :: GLenum
-gl_RESET_NOTIFICATION_STRATEGY = 0x8256
-gl_INVERT_OVG_NV :: GLenum
-gl_INVERT_OVG_NV = 0x92B4
-gl_PRIMITIVES_GENERATED :: GLenum
-gl_PRIMITIVES_GENERATED = 0x8C87
-gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT :: GLenum
-gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT = 0x8E83
-gl_UNPACK_SKIP_IMAGES_EXT :: GLenum
-gl_UNPACK_SKIP_IMAGES_EXT = 0x806D
-gl_COLOR_ARRAY_COUNT_EXT :: GLenum
-gl_COLOR_ARRAY_COUNT_EXT = 0x8084
-gl_TEXTURE_COORD_ARRAY_POINTER_EXT :: GLenum
-gl_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092
-gl_NUM_FRAGMENT_CONSTANTS_ATI :: GLenum
-gl_NUM_FRAGMENT_CONSTANTS_ATI = 0x896F
-gl_LIGHTEN_KHR :: GLenum
-gl_LIGHTEN_KHR = 0x9298
-gl_DRAW_BUFFER2_EXT :: GLenum
-gl_DRAW_BUFFER2_EXT = 0x8827
-gl_DISJOINT_NV :: GLenum
-gl_DISJOINT_NV = 0x9283
-gl_TRIANGLE_FAN :: GLenum
-gl_TRIANGLE_FAN = 0x0006
-gl_CLIP_DISTANCE1_APPLE :: GLenum
-gl_CLIP_DISTANCE1_APPLE = 0x3001
-gl_SEPARABLE_2D :: GLenum
-gl_SEPARABLE_2D = 0x8012
-gl_RED_SCALE :: GLenum
-gl_RED_SCALE = 0x0D14
-gl_TEXTURE_COMPARE_MODE_EXT :: GLenum
-gl_TEXTURE_COMPARE_MODE_EXT = 0x884C
-gl_FOG_COORD_ARRAY_ADDRESS_NV :: GLenum
-gl_FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28
-gl_INT_SAMPLER_CUBE_MAP_ARRAY_EXT :: GLenum
-gl_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900E
-gl_SYSTEM_FONT_NAME_NV :: GLenum
-gl_SYSTEM_FONT_NAME_NV = 0x9073
-gl_INT_VEC3 :: GLenum
-gl_INT_VEC3 = 0x8B54
-gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR :: GLenum
-gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR = 0x82FC
-gl_INDEX_BIT_PGI :: GLenum
-gl_INDEX_BIT_PGI = 0x00080000
-gl_CURRENT_FOG_COORDINATE_EXT :: GLenum
-gl_CURRENT_FOG_COORDINATE_EXT = 0x8453
-gl_RGB16 :: GLenum
-gl_RGB16 = 0x8054
-gl_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE :: GLenum
-gl_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09
-gl_PARAMETER_BUFFER_BINDING_ARB :: GLenum
-gl_PARAMETER_BUFFER_BINDING_ARB = 0x80EF
-gl_SAMPLER_1D_ARRAY_SHADOW :: GLenum
-gl_SAMPLER_1D_ARRAY_SHADOW = 0x8DC3
-gl_PROXY_TEXTURE_1D_ARRAY :: GLenum
-gl_PROXY_TEXTURE_1D_ARRAY = 0x8C19
-gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 0x8211
-gl_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A
-gl_TRANSFORM_FEEDBACK_BUFFER_EXT :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E
-gl_PACK_INVERT_MESA :: GLenum
-gl_PACK_INVERT_MESA = 0x8758
-gl_COLOR_ATTACHMENT3_EXT :: GLenum
-gl_COLOR_ATTACHMENT3_EXT = 0x8CE3
-gl_RGBA_SNORM :: GLenum
-gl_RGBA_SNORM = 0x8F93
-gl_READ_BUFFER :: GLenum
-gl_READ_BUFFER = 0x0C02
-gl_DOT3_RGBA_EXT :: GLenum
-gl_DOT3_RGBA_EXT = 0x8741
-gl_RGBA8UI :: GLenum
-gl_RGBA8UI = 0x8D7C
-gl_ALL_BARRIER_BITS :: GLenum
-gl_ALL_BARRIER_BITS = 0xFFFFFFFF
-gl_DRAW_FRAMEBUFFER_APPLE :: GLenum
-gl_DRAW_FRAMEBUFFER_APPLE = 0x8CA9
-gl_SLUMINANCE_NV :: GLenum
-gl_SLUMINANCE_NV = 0x8C46
-gl_CONTEXT_CORE_PROFILE_BIT :: GLenum
-gl_CONTEXT_CORE_PROFILE_BIT = 0x00000001
-gl_LINE_STIPPLE :: GLenum
-gl_LINE_STIPPLE = 0x0B24
-gl_OP_CROSS_PRODUCT_EXT :: GLenum
-gl_OP_CROSS_PRODUCT_EXT = 0x8797
-gl_DOT3_RGBA_ARB :: GLenum
-gl_DOT3_RGBA_ARB = 0x86AF
-gl_UNSIGNED_INVERT_NV :: GLenum
-gl_UNSIGNED_INVERT_NV = 0x8537
-gl_VERTEX_ATTRIB_ARRAY_LENGTH_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A
-gl_INNOCENT_CONTEXT_RESET_KHR :: GLenum
-gl_INNOCENT_CONTEXT_RESET_KHR = 0x8254
-gl_MAP_INVALIDATE_RANGE_BIT :: GLenum
-gl_MAP_INVALIDATE_RANGE_BIT = 0x0004
-gl_FRACTIONAL_ODD_EXT :: GLenum
-gl_FRACTIONAL_ODD_EXT = 0x8E7B
-gl_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
-gl_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069
-gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT :: GLenum
-gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88
-gl_LUMINANCE12_ALPHA4_EXT :: GLenum
-gl_LUMINANCE12_ALPHA4_EXT = 0x8046
-gl_LUMINANCE_SNORM :: GLenum
-gl_LUMINANCE_SNORM = 0x9011
-gl_STENCIL_BUFFER_BIT7_QCOM :: GLenum
-gl_STENCIL_BUFFER_BIT7_QCOM = 0x00800000
-gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7
-gl_TEXTURE_COMPARE_MODE_ARB :: GLenum
-gl_TEXTURE_COMPARE_MODE_ARB = 0x884C
-gl_AND :: GLenum
-gl_AND = 0x1501
-gl_TEXTURE3_ARB :: GLenum
-gl_TEXTURE3_ARB = 0x84C3
-gl_SAMPLE_MASK_VALUE_NV :: GLenum
-gl_SAMPLE_MASK_VALUE_NV = 0x8E52
-gl_DEBUG_ASSERT_MESA :: GLenum
-gl_DEBUG_ASSERT_MESA = 0x875B
-gl_TESS_EVALUATION_SHADER_INVOCATIONS_ARB :: GLenum
-gl_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82F2
-gl_INTERNALFORMAT_STENCIL_TYPE :: GLenum
-gl_INTERNALFORMAT_STENCIL_TYPE = 0x827D
-gl_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
-gl_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107
-gl_DEPTH_STENCIL_TO_RGBA_NV :: GLenum
-gl_DEPTH_STENCIL_TO_RGBA_NV = 0x886E
-gl_SAMPLE_MASK_NV :: GLenum
-gl_SAMPLE_MASK_NV = 0x8E51
-gl_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB :: GLenum
-gl_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B
-gl_SRGB8_ALPHA8_EXT :: GLenum
-gl_SRGB8_ALPHA8_EXT = 0x8C43
-gl_OBJECT_SHADER_SOURCE_LENGTH_ARB :: GLenum
-gl_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88
-gl_REG_15_ATI :: GLenum
-gl_REG_15_ATI = 0x8930
-gl_ALPHA8 :: GLenum
-gl_ALPHA8 = 0x803C
-gl_FRAGMENT_SHADER_BIT_EXT :: GLenum
-gl_FRAGMENT_SHADER_BIT_EXT = 0x00000002
-gl_CND0_ATI :: GLenum
-gl_CND0_ATI = 0x896B
-gl_PACK_SUBSAMPLE_RATE_SGIX :: GLenum
-gl_PACK_SUBSAMPLE_RATE_SGIX = 0x85A0
-gl_CW :: GLenum
-gl_CW = 0x0900
-gl_FLOAT_MAT4x3 :: GLenum
-gl_FLOAT_MAT4x3 = 0x8B6A
-gl_WAIT_FAILED :: GLenum
-gl_WAIT_FAILED = 0x911D
-gl_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX :: GLenum
-gl_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A
-gl_SAMPLER_RENDERBUFFER_NV :: GLenum
-gl_SAMPLER_RENDERBUFFER_NV = 0x8E56
-gl_VIEW_CLASS_16_BITS :: GLenum
-gl_VIEW_CLASS_16_BITS = 0x82CA
-gl_MAGNITUDE_BIAS_NV :: GLenum
-gl_MAGNITUDE_BIAS_NV = 0x8718
-gl_SWIZZLE_STRQ_DQ_ATI :: GLenum
-gl_SWIZZLE_STRQ_DQ_ATI = 0x897B
-gl_SOURCE1_RGB_ARB :: GLenum
-gl_SOURCE1_RGB_ARB = 0x8581
-gl_PIXEL_TILE_CACHE_INCREMENT_SGIX :: GLenum
-gl_PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F
-gl_TANGENT_ARRAY_POINTER_EXT :: GLenum
-gl_TANGENT_ARRAY_POINTER_EXT = 0x8442
-gl_COLOR_MATERIAL :: GLenum
-gl_COLOR_MATERIAL = 0x0B57
-gl_MAX_RENDERBUFFER_SIZE_EXT :: GLenum
-gl_MAX_RENDERBUFFER_SIZE_EXT = 0x84E8
-gl_ARRAY_SIZE :: GLenum
-gl_ARRAY_SIZE = 0x92FB
-gl_COPY :: GLenum
-gl_COPY = 0x1503
-gl_REG_19_ATI :: GLenum
-gl_REG_19_ATI = 0x8934
-gl_EDGE_FLAG_ARRAY_STRIDE_EXT :: GLenum
-gl_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C
-gl_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED :: GLenum
-gl_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221
-gl_OUTPUT_TEXTURE_COORD31_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD31_EXT = 0x87BC
-gl_TRIANGLE_MESH_SUN :: GLenum
-gl_TRIANGLE_MESH_SUN = 0x8615
-gl_R16_EXT :: GLenum
-gl_R16_EXT = 0x822A
-gl_ELEMENT_ARRAY_BUFFER_ARB :: GLenum
-gl_ELEMENT_ARRAY_BUFFER_ARB = 0x8893
-gl_MAP2_VERTEX_ATTRIB6_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676
-gl_ONE_MINUS_CONSTANT_COLOR :: GLenum
-gl_ONE_MINUS_CONSTANT_COLOR = 0x8002
-gl_T2F_V3F :: GLenum
-gl_T2F_V3F = 0x2A27
-gl_COLOR_ATTACHMENT14 :: GLenum
-gl_COLOR_ATTACHMENT14 = 0x8CEE
-gl_HSL_SATURATION_KHR :: GLenum
-gl_HSL_SATURATION_KHR = 0x92AE
-gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT :: GLenum
-gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76
-gl_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
-gl_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41
-gl_OPERAND2_ALPHA_EXT :: GLenum
-gl_OPERAND2_ALPHA_EXT = 0x859A
-gl_HISTOGRAM_LUMINANCE_SIZE :: GLenum
-gl_HISTOGRAM_LUMINANCE_SIZE = 0x802C
-gl_POINT_SIZE_MAX_ARB :: GLenum
-gl_POINT_SIZE_MAX_ARB = 0x8127
-gl_RGB16_SNORM_EXT :: GLenum
-gl_RGB16_SNORM_EXT = 0x8F9A
-gl_REG_6_ATI :: GLenum
-gl_REG_6_ATI = 0x8927
-gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: GLenum
-gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD
-gl_MAP1_INDEX :: GLenum
-gl_MAP1_INDEX = 0x0D91
-gl_FLOAT_RGBA_NV :: GLenum
-gl_FLOAT_RGBA_NV = 0x8883
-gl_COMPUTE_SUBROUTINE_UNIFORM :: GLenum
-gl_COMPUTE_SUBROUTINE_UNIFORM = 0x92F3
-gl_UNSIGNED_INT8_VEC3_NV :: GLenum
-gl_UNSIGNED_INT8_VEC3_NV = 0x8FEE
-gl_TEXTURE_GREEN_TYPE_ARB :: GLenum
-gl_TEXTURE_GREEN_TYPE_ARB = 0x8C11
-gl_GEOMETRY_SHADER_INVOCATIONS_EXT :: GLenum
-gl_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x887F
-gl_MAX_TEXTURE_MAX_ANISOTROPY_EXT :: GLenum
-gl_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF
-gl_SRC0_ALPHA :: GLenum
-gl_SRC0_ALPHA = 0x8588
-gl_IMAGE_TRANSLATE_Y_HP :: GLenum
-gl_IMAGE_TRANSLATE_Y_HP = 0x8158
-gl_UNSIGNED_INT8_VEC4_NV :: GLenum
-gl_UNSIGNED_INT8_VEC4_NV = 0x8FEF
-gl_VARIANT_ARRAY_POINTER_EXT :: GLenum
-gl_VARIANT_ARRAY_POINTER_EXT = 0x87E9
-gl_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517
-gl_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
-gl_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803
-gl_TRACE_OPERATIONS_BIT_MESA :: GLenum
-gl_TRACE_OPERATIONS_BIT_MESA = 0x0001
-gl_FLOAT_RG_NV :: GLenum
-gl_FLOAT_RG_NV = 0x8881
-gl_POINT_FADE_THRESHOLD_SIZE_SGIS :: GLenum
-gl_POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128
-gl_TEXTURE_MAX_LEVEL :: GLenum
-gl_TEXTURE_MAX_LEVEL = 0x813D
-gl_COMPRESSED_RGBA_ASTC_4x3x3_OES :: GLenum
-gl_COMPRESSED_RGBA_ASTC_4x3x3_OES = 0x93C1
-gl_TEXTURE_BORDER_COLOR_NV :: GLenum
-gl_TEXTURE_BORDER_COLOR_NV = 0x1004
-gl_VERTEX_STREAM2_ATI :: GLenum
-gl_VERTEX_STREAM2_ATI = 0x876E
-gl_BGR_INTEGER_EXT :: GLenum
-gl_BGR_INTEGER_EXT = 0x8D9A
-gl_OP_SET_GE_EXT :: GLenum
-gl_OP_SET_GE_EXT = 0x878C
-gl_CLIP_ORIGIN :: GLenum
-gl_CLIP_ORIGIN = 0x935C
-gl_ASYNC_READ_PIXELS_SGIX :: GLenum
-gl_ASYNC_READ_PIXELS_SGIX = 0x835E
-gl_HALF_APPLE :: GLenum
-gl_HALF_APPLE = 0x140B
-gl_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE :: GLenum
-gl_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE = 0x93A0
-gl_ARRAY_OBJECT_BUFFER_ATI :: GLenum
-gl_ARRAY_OBJECT_BUFFER_ATI = 0x8766
-gl_OP_DOT4_EXT :: GLenum
-gl_OP_DOT4_EXT = 0x8785
-gl_MAX_PROGRAM_CALL_DEPTH_NV :: GLenum
-gl_MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5
-gl_VERTEX_PRECLIP_SGIX :: GLenum
-gl_VERTEX_PRECLIP_SGIX = 0x83EE
-gl_COLOR_TABLE_FORMAT :: GLenum
-gl_COLOR_TABLE_FORMAT = 0x80D8
-gl_MODELVIEW22_ARB :: GLenum
-gl_MODELVIEW22_ARB = 0x8736
-gl_FOG_COORD :: GLenum
-gl_FOG_COORD = 0x8451
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1
-gl_TEXTURE_WRAP_R_EXT :: GLenum
-gl_TEXTURE_WRAP_R_EXT = 0x8072
-gl_CURRENT_VERTEX_EXT :: GLenum
-gl_CURRENT_VERTEX_EXT = 0x87E2
-gl_BUMP_NUM_TEX_UNITS_ATI :: GLenum
-gl_BUMP_NUM_TEX_UNITS_ATI = 0x8777
-gl_MAX_VERTEX_ATTRIBS_ARB :: GLenum
-gl_MAX_VERTEX_ATTRIBS_ARB = 0x8869
-gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES :: GLenum
-gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5B
-gl_T4F_V4F :: GLenum
-gl_T4F_V4F = 0x2A28
-gl_CONVOLUTION_BORDER_COLOR :: GLenum
-gl_CONVOLUTION_BORDER_COLOR = 0x8154
-gl_SKIP_MISSING_GLYPH_NV :: GLenum
-gl_SKIP_MISSING_GLYPH_NV = 0x90A9
-gl_PROXY_COLOR_TABLE_SGI :: GLenum
-gl_PROXY_COLOR_TABLE_SGI = 0x80D3
-gl_FULL_SUPPORT :: GLenum
-gl_FULL_SUPPORT = 0x82B7
-gl_IMAGE_BINDING_LEVEL_EXT :: GLenum
-gl_IMAGE_BINDING_LEVEL_EXT = 0x8F3B
-gl_INTERLACE_READ_INGR :: GLenum
-gl_INTERLACE_READ_INGR = 0x8568
-gl_TEXTURE_VIEW_MIN_LEVEL :: GLenum
-gl_TEXTURE_VIEW_MIN_LEVEL = 0x82DB
-gl_EMISSION :: GLenum
-gl_EMISSION = 0x1600
-gl_WEIGHT_ARRAY_STRIDE_ARB :: GLenum
-gl_WEIGHT_ARRAY_STRIDE_ARB = 0x86AA
-gl_TEXTURE_TOO_LARGE_EXT :: GLenum
-gl_TEXTURE_TOO_LARGE_EXT = 0x8065
-gl_INTERNALFORMAT_DEPTH_TYPE :: GLenum
-gl_INTERNALFORMAT_DEPTH_TYPE = 0x827C
-gl_VERTEX_ATTRIB_MAP1_COEFF_APPLE :: GLenum
-gl_VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03
-gl_SKIP_COMPONENTS2_NV :: GLenum
-gl_SKIP_COMPONENTS2_NV = -5
-gl_TEXTURE_GREEN_SIZE :: GLenum
-gl_TEXTURE_GREEN_SIZE = 0x805D
-gl_COMPRESSED_LUMINANCE_LATC1_EXT :: GLenum
-gl_COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70
-gl_INTENSITY32UI_EXT :: GLenum
-gl_INTENSITY32UI_EXT = 0x8D73
-gl_SHADING_LANGUAGE_VERSION_ARB :: GLenum
-gl_SHADING_LANGUAGE_VERSION_ARB = 0x8B8C
-gl_MATRIX13_ARB :: GLenum
-gl_MATRIX13_ARB = 0x88CD
-gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0
-gl_INDEX_OFFSET :: GLenum
-gl_INDEX_OFFSET = 0x0D13
-gl_N3F_V3F :: GLenum
-gl_N3F_V3F = 0x2A25
-gl_MAP1_BINORMAL_EXT :: GLenum
-gl_MAP1_BINORMAL_EXT = 0x8446
-gl_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV :: GLenum
-gl_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034
-gl_GEOMETRY_SHADER_INVOCATIONS :: GLenum
-gl_GEOMETRY_SHADER_INVOCATIONS = 0x887F
-gl_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102
-gl_OPERAND0_ALPHA_ARB :: GLenum
-gl_OPERAND0_ALPHA_ARB = 0x8598
-gl_LOCAL_CONSTANT_VALUE_EXT :: GLenum
-gl_LOCAL_CONSTANT_VALUE_EXT = 0x87EC
-gl_STENCIL_INDEX1_EXT :: GLenum
-gl_STENCIL_INDEX1_EXT = 0x8D46
-gl_TEXTURE_COLOR_WRITEMASK_SGIS :: GLenum
-gl_TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF
-gl_DUAL_LUMINANCE_ALPHA4_SGIS :: GLenum
-gl_DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C
-gl_VERTEX_ATTRIB_ARRAY15_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY15_NV = 0x865F
-gl_GENERATE_MIPMAP_HINT_SGIS :: GLenum
-gl_GENERATE_MIPMAP_HINT_SGIS = 0x8192
-gl_PREVIOUS :: GLenum
-gl_PREVIOUS = 0x8578
-gl_INTERPOLATE :: GLenum
-gl_INTERPOLATE = 0x8575
-gl_GUILTY_CONTEXT_RESET_KHR :: GLenum
-gl_GUILTY_CONTEXT_RESET_KHR = 0x8253
-gl_CONVOLUTION_FILTER_SCALE_EXT :: GLenum
-gl_CONVOLUTION_FILTER_SCALE_EXT = 0x8014
-gl_BGR :: GLenum
-gl_BGR = 0x80E0
-gl_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV :: GLenum
-gl_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035
-gl_PATH_INITIAL_END_CAP_NV :: GLenum
-gl_PATH_INITIAL_END_CAP_NV = 0x9077
-gl_TEXTURE_RED_TYPE :: GLenum
-gl_TEXTURE_RED_TYPE = 0x8C10
-gl_MATRIX23_ARB :: GLenum
-gl_MATRIX23_ARB = 0x88D7
-gl_MAX_PIXEL_MAP_TABLE :: GLenum
-gl_MAX_PIXEL_MAP_TABLE = 0x0D34
-gl_COLOR_INDEX :: GLenum
-gl_COLOR_INDEX = 0x1900
-gl_ALPHA_TEST_REF :: GLenum
-gl_ALPHA_TEST_REF = 0x0BC2
-gl_BLEND_DST :: GLenum
-gl_BLEND_DST = 0x0BE0
-gl_DEBUG_CATEGORY_PERFORMANCE_AMD :: GLenum
-gl_DEBUG_CATEGORY_PERFORMANCE_AMD = 0x914D
-gl_FLOAT_32_UNSIGNED_INT_24_8_REV_NV :: GLenum
-gl_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD
-gl_LINEAR_MIPMAP_NEAREST :: GLenum
-gl_LINEAR_MIPMAP_NEAREST = 0x2701
-gl_SHADER_STORAGE_BUFFER_START :: GLenum
-gl_SHADER_STORAGE_BUFFER_START = 0x90D4
-gl_UNIFORM_BLOCK_DATA_SIZE :: GLenum
-gl_UNIFORM_BLOCK_DATA_SIZE = 0x8A40
-gl_PERFMON_GLOBAL_MODE_QCOM :: GLenum
-gl_PERFMON_GLOBAL_MODE_QCOM = 0x8FA0
-gl_VARIANT_DATATYPE_EXT :: GLenum
-gl_VARIANT_DATATYPE_EXT = 0x87E5
-gl_LUMINANCE_FLOAT32_ATI :: GLenum
-gl_LUMINANCE_FLOAT32_ATI = 0x8818
-gl_DRAW_BUFFER0_EXT :: GLenum
-gl_DRAW_BUFFER0_EXT = 0x8825
-gl_SAMPLES_3DFX :: GLenum
-gl_SAMPLES_3DFX = 0x86B4
-gl_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516
-gl_CON_25_ATI :: GLenum
-gl_CON_25_ATI = 0x895A
-gl_SOURCE0_RGB :: GLenum
-gl_SOURCE0_RGB = 0x8580
-gl_TRIANGLE_STRIP_ADJACENCY_ARB :: GLenum
-gl_TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D
-gl_FONT_UNITS_PER_EM_BIT_NV :: GLenum
-gl_FONT_UNITS_PER_EM_BIT_NV = 0x00100000
-gl_RGBA8UI_EXT :: GLenum
-gl_RGBA8UI_EXT = 0x8D7C
-gl_CURRENT_TIME_NV :: GLenum
-gl_CURRENT_TIME_NV = 0x8E28
-gl_PATH_FILL_MASK_NV :: GLenum
-gl_PATH_FILL_MASK_NV = 0x9081
-gl_ACCUM :: GLenum
-gl_ACCUM = 0x0100
-gl_PRIMITIVE_RESTART_INDEX_NV :: GLenum
-gl_PRIMITIVE_RESTART_INDEX_NV = 0x8559
-gl_COLOR_ATTACHMENT9_EXT :: GLenum
-gl_COLOR_ATTACHMENT9_EXT = 0x8CE9
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV = 0x8D56
-gl_PIXEL_MAP_G_TO_G_SIZE :: GLenum
-gl_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7
-gl_COVERAGE_ALL_FRAGMENTS_NV :: GLenum
-gl_COVERAGE_ALL_FRAGMENTS_NV = 0x8ED5
-gl_COLOR_ATTACHMENT13_EXT :: GLenum
-gl_COLOR_ATTACHMENT13_EXT = 0x8CED
-gl_DRAW_BUFFER10_EXT :: GLenum
-gl_DRAW_BUFFER10_EXT = 0x882F
-gl_R32F :: GLenum
-gl_R32F = 0x822E
-gl_TEXTURE_FETCH_BARRIER_BIT_EXT :: GLenum
-gl_TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008
-gl_SMAPHS_PROGRAM_BINARY_DMP :: GLenum
-gl_SMAPHS_PROGRAM_BINARY_DMP = 0x9252
-gl_RENDERBUFFER :: GLenum
-gl_RENDERBUFFER = 0x8D41
-gl_ATC_RGB_AMD :: GLenum
-gl_ATC_RGB_AMD = 0x8C92
-gl_BUFFER_BINDING :: GLenum
-gl_BUFFER_BINDING = 0x9302
-gl_INTERNALFORMAT_STENCIL_SIZE :: GLenum
-gl_INTERNALFORMAT_STENCIL_SIZE = 0x8276
-gl_PROGRAM_PIPELINE :: GLenum
-gl_PROGRAM_PIPELINE = 0x82E4
-gl_SCISSOR_BIT :: GLenum
-gl_SCISSOR_BIT = 0x00080000
-gl_MAX_VERTEX_UNITS_OES :: GLenum
-gl_MAX_VERTEX_UNITS_OES = 0x86A4
-gl_SAMPLER_2D_ARB :: GLenum
-gl_SAMPLER_2D_ARB = 0x8B5E
-gl_LINEAR :: GLenum
-gl_LINEAR = 0x2601
-gl_UNPACK_SUBSAMPLE_RATE_SGIX :: GLenum
-gl_UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1
-gl_GEOMETRY_LINKED_OUTPUT_TYPE_EXT :: GLenum
-gl_GEOMETRY_LINKED_OUTPUT_TYPE_EXT = 0x8918
-gl_NORMAL_MAP_ARB :: GLenum
-gl_NORMAL_MAP_ARB = 0x8511
-gl_CLIP_DISTANCE7 :: GLenum
-gl_CLIP_DISTANCE7 = 0x3007
-gl_SOURCE1_ALPHA_ARB :: GLenum
-gl_SOURCE1_ALPHA_ARB = 0x8589
-gl_FRAMEBUFFER_BINDING_ANGLE :: GLenum
-gl_FRAMEBUFFER_BINDING_ANGLE = 0x8CA6
-gl_VERTEX_CONSISTENT_HINT_PGI :: GLenum
-gl_VERTEX_CONSISTENT_HINT_PGI = 0x1A22B
-gl_COLOR_ATTACHMENT7_EXT :: GLenum
-gl_COLOR_ATTACHMENT7_EXT = 0x8CE7
-gl_LIST_BASE :: GLenum
-gl_LIST_BASE = 0x0B32
-gl_COLOR_TABLE_LUMINANCE_SIZE :: GLenum
-gl_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE
-gl_CURRENT_PALETTE_MATRIX_ARB :: GLenum
-gl_CURRENT_PALETTE_MATRIX_ARB = 0x8843
-gl_COUNT_UP_NV :: GLenum
-gl_COUNT_UP_NV = 0x9088
-gl_LIGHT5 :: GLenum
-gl_LIGHT5 = 0x4005
-gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV :: GLenum
-gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853
-gl_QUERY_RESULT_ARB :: GLenum
-gl_QUERY_RESULT_ARB = 0x8866
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2
-gl_TEXTURE_LOD_BIAS_S_SGIX :: GLenum
-gl_TEXTURE_LOD_BIAS_S_SGIX = 0x818E
-gl_TRANSPOSE_MODELVIEW_MATRIX_ARB :: GLenum
-gl_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3
-gl_POLYGON_OFFSET_LINE :: GLenum
-gl_POLYGON_OFFSET_LINE = 0x2A02
-gl_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA :: GLenum
-gl_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA = 0x8BB3
-gl_TEXTURE30 :: GLenum
-gl_TEXTURE30 = 0x84DE
-gl_SPHERE_MAP :: GLenum
-gl_SPHERE_MAP = 0x2402
-gl_OP_DOT3_EXT :: GLenum
-gl_OP_DOT3_EXT = 0x8784
-gl_CURRENT_MATRIX_STACK_DEPTH_ARB :: GLenum
-gl_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES = 0x93E8
-gl_VERTEX_PROGRAM_POINT_SIZE_ARB :: GLenum
-gl_VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642
-gl_SYNC_CONDITION_APPLE :: GLenum
-gl_SYNC_CONDITION_APPLE = 0x9113
-gl_HI_SCALE_NV :: GLenum
-gl_HI_SCALE_NV = 0x870E
-gl_LIGHT_MODEL_AMBIENT :: GLenum
-gl_LIGHT_MODEL_AMBIENT = 0x0B53
-gl_MAX_RENDERBUFFER_SIZE :: GLenum
-gl_MAX_RENDERBUFFER_SIZE = 0x84E8
-gl_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB :: GLenum
-gl_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B
-gl_COMPRESSED_TEXTURE_FORMATS :: GLenum
-gl_COMPRESSED_TEXTURE_FORMATS = 0x86A3
-gl_CLEAR_BUFFER :: GLenum
-gl_CLEAR_BUFFER = 0x82B4
-gl_FLOAT_MAT4_ARB :: GLenum
-gl_FLOAT_MAT4_ARB = 0x8B5C
-gl_VALIDATE_STATUS :: GLenum
-gl_VALIDATE_STATUS = 0x8B83
-gl_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
-gl_UNSIGNED_INT_IMAGE_2D_RECT = 0x9065
-gl_PROGRAM_PARAMETER_NV :: GLenum
-gl_PROGRAM_PARAMETER_NV = 0x8644
-gl_PARAMETER_BUFFER_ARB :: GLenum
-gl_PARAMETER_BUFFER_ARB = 0x80EE
-gl_VIEW_CLASS_96_BITS :: GLenum
-gl_VIEW_CLASS_96_BITS = 0x82C5
-gl_LINE_TO_NV :: GLenum
-gl_LINE_TO_NV = 0x04
-gl_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
-gl_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0
-gl_POST_COLOR_MATRIX_GREEN_SCALE :: GLenum
-gl_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5
-gl_STENCIL_INDEX :: GLenum
-gl_STENCIL_INDEX = 0x1901
-gl_PATH_INITIAL_DASH_CAP_NV :: GLenum
-gl_PATH_INITIAL_DASH_CAP_NV = 0x907C
-gl_INT_SAMPLER_2D_RECT_EXT :: GLenum
-gl_INT_SAMPLER_2D_RECT_EXT = 0x8DCD
-gl_IMAGE_BINDING_FORMAT_EXT :: GLenum
-gl_IMAGE_BINDING_FORMAT_EXT = 0x906E
-gl_R16F :: GLenum
-gl_R16F = 0x822D
-gl_ADD :: GLenum
-gl_ADD = 0x0104
-gl_TRANSFORM_FEEDBACK_BUFFER_MODE_NV :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F
-gl_SRC0_RGB :: GLenum
-gl_SRC0_RGB = 0x8580
-gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210
-gl_RGB9_E5 :: GLenum
-gl_RGB9_E5 = 0x8C3D
-gl_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84
-gl_TESS_EVALUATION_SUBROUTINE_UNIFORM :: GLenum
-gl_TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0
-gl_ACCUM_RED_BITS :: GLenum
-gl_ACCUM_RED_BITS = 0x0D58
-gl_IS_ROW_MAJOR :: GLenum
-gl_IS_ROW_MAJOR = 0x9300
-gl_TESS_CONTROL_SUBROUTINE_UNIFORM :: GLenum
-gl_TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF
-gl_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF
-gl_MULT :: GLenum
-gl_MULT = 0x0103
-gl_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
-gl_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313
-gl_PIXEL_COUNT_NV :: GLenum
-gl_PIXEL_COUNT_NV = 0x8866
-gl_MAP1_VERTEX_ATTRIB13_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D
-gl_CLAMP_TO_EDGE_SGIS :: GLenum
-gl_CLAMP_TO_EDGE_SGIS = 0x812F
-gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES = 0x8CDB
-gl_SAMPLER_OBJECT_AMD :: GLenum
-gl_SAMPLER_OBJECT_AMD = 0x9155
-gl_REFERENCE_PLANE_SGIX :: GLenum
-gl_REFERENCE_PLANE_SGIX = 0x817D
-gl_INT64_VEC3_NV :: GLenum
-gl_INT64_VEC3_NV = 0x8FEA
-gl_TEXTURE5 :: GLenum
-gl_TEXTURE5 = 0x84C5
-gl_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
-gl_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310
-gl_MATRIX18_ARB :: GLenum
-gl_MATRIX18_ARB = 0x88D2
-gl_MAX_PATCH_VERTICES_EXT :: GLenum
-gl_MAX_PATCH_VERTICES_EXT = 0x8E7D
-gl_PIXEL_TILE_GRID_DEPTH_SGIX :: GLenum
-gl_PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5
-gl_BLUE_BITS :: GLenum
-gl_BLUE_BITS = 0x0D54
-gl_RGBA_FLOAT32_APPLE :: GLenum
-gl_RGBA_FLOAT32_APPLE = 0x8814
-gl_MAX_VERTEX_VARYING_COMPONENTS_ARB :: GLenum
-gl_MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE
-gl_INT8_VEC2_NV :: GLenum
-gl_INT8_VEC2_NV = 0x8FE1
-gl_RENDERBUFFER_SAMPLES_EXT :: GLenum
-gl_RENDERBUFFER_SAMPLES_EXT = 0x8CAB
-gl_COMBINER_SCALE_NV :: GLenum
-gl_COMBINER_SCALE_NV = 0x8548
-gl_DEBUG_SEVERITY_HIGH_AMD :: GLenum
-gl_DEBUG_SEVERITY_HIGH_AMD = 0x9146
-gl_R3_G3_B2 :: GLenum
-gl_R3_G3_B2 = 0x2A10
-gl_VERTEX_BLEND_ARB :: GLenum
-gl_VERTEX_BLEND_ARB = 0x86A7
-gl_COORD_REPLACE_OES :: GLenum
-gl_COORD_REPLACE_OES = 0x8862
-gl_MAX_CLIP_DISTANCES :: GLenum
-gl_MAX_CLIP_DISTANCES = 0x0D32
-gl_TEXTURE_COORD_ARRAY_COUNT_EXT :: GLenum
-gl_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B
-gl_TRANSFORM_FEEDBACK_BUFFER_INDEX :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B
-gl_ALWAYS_FAST_HINT_PGI :: GLenum
-gl_ALWAYS_FAST_HINT_PGI = 0x1A20C
-gl_STENCIL_BACK_FUNC :: GLenum
-gl_STENCIL_BACK_FUNC = 0x8800
-gl_RGBA_MODE :: GLenum
-gl_RGBA_MODE = 0x0C31
-gl_COMPRESSED_SRGB8_ETC2_OES :: GLenum
-gl_COMPRESSED_SRGB8_ETC2_OES = 0x9275
-gl_UNSIGNED_INT_5_9_9_9_REV_APPLE :: GLenum
-gl_UNSIGNED_INT_5_9_9_9_REV_APPLE = 0x8C3E
-gl_MAX_CLIPMAP_DEPTH_SGIX :: GLenum
-gl_MAX_CLIPMAP_DEPTH_SGIX = 0x8177
-gl_FLOAT_MAT3x2 :: GLenum
-gl_FLOAT_MAT3x2 = 0x8B67
-gl_COMBINE_RGB_EXT :: GLenum
-gl_COMBINE_RGB_EXT = 0x8571
-gl_RGBA32F_ARB :: GLenum
-gl_RGBA32F_ARB = 0x8814
-gl_LUMINANCE_ALPHA_SNORM :: GLenum
-gl_LUMINANCE_ALPHA_SNORM = 0x9012
-gl_FRAMEBUFFER_BARRIER_BIT :: GLenum
-gl_FRAMEBUFFER_BARRIER_BIT = 0x00000400
-gl_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG :: GLenum
-gl_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02
-gl_RELATIVE_ROUNDED_RECT_NV :: GLenum
-gl_RELATIVE_ROUNDED_RECT_NV = 0xE9
-gl_ALLOW_DRAW_WIN_HINT_PGI :: GLenum
-gl_ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F
-gl_MULTISAMPLE_SGIS :: GLenum
-gl_MULTISAMPLE_SGIS = 0x809D
-gl_MITER_TRUNCATE_NV :: GLenum
-gl_MITER_TRUNCATE_NV = 0x90A8
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8
-gl_NUM_GENERAL_COMBINERS_NV :: GLenum
-gl_NUM_GENERAL_COMBINERS_NV = 0x854E
-gl_RGBA_INTEGER_MODE_EXT :: GLenum
-gl_RGBA_INTEGER_MODE_EXT = 0x8D9E
-gl_MAP1_VERTEX_ATTRIB9_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669
-gl_BUFFER_OBJECT_APPLE :: GLenum
-gl_BUFFER_OBJECT_APPLE = 0x85B3
-gl_EXPAND_NORMAL_NV :: GLenum
-gl_EXPAND_NORMAL_NV = 0x8538
-gl_TEXTURE_IMMUTABLE_FORMAT_EXT :: GLenum
-gl_TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F
-gl_POLYGON_BIT :: GLenum
-gl_POLYGON_BIT = 0x00000008
-gl_TEXTURE_RED_SIZE :: GLenum
-gl_TEXTURE_RED_SIZE = 0x805C
-gl_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV :: GLenum
-gl_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10
-gl_QUADS_EXT :: GLenum
-gl_QUADS_EXT = 0x0007
-gl_TEXTURE_INTERNAL_FORMAT :: GLenum
-gl_TEXTURE_INTERNAL_FORMAT = 0x1003
-gl_TEXTURE_ENV_MODE :: GLenum
-gl_TEXTURE_ENV_MODE = 0x2200
-gl_TIMEOUT_IGNORED :: GLenum
-gl_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF
-gl_MAX_IMAGE_SAMPLES :: GLenum
-gl_MAX_IMAGE_SAMPLES = 0x906D
-gl_LAYOUT_LINEAR_INTEL :: GLenum
-gl_LAYOUT_LINEAR_INTEL = 1
-gl_OR :: GLenum
-gl_OR = 0x1507
-gl_FILL_RECTANGLE_NV :: GLenum
-gl_FILL_RECTANGLE_NV = 0x933C
-gl_TEXTURE_BORDER_COLOR :: GLenum
-gl_TEXTURE_BORDER_COLOR = 0x1004
-gl_TRIANGLES_ADJACENCY_ARB :: GLenum
-gl_TRIANGLES_ADJACENCY_ARB = 0x000C
-gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV :: GLenum
-gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3
-gl_DRAW_BUFFER1 :: GLenum
-gl_DRAW_BUFFER1 = 0x8826
-gl_TEXTURE_GEQUAL_R_SGIX :: GLenum
-gl_TEXTURE_GEQUAL_R_SGIX = 0x819D
-gl_UNIFORM_NAME_LENGTH :: GLenum
-gl_UNIFORM_NAME_LENGTH = 0x8A39
-gl_UNPACK_IMAGE_DEPTH_SGIS :: GLenum
-gl_UNPACK_IMAGE_DEPTH_SGIS = 0x8133
-gl_GEOMETRY_TEXTURE :: GLenum
-gl_GEOMETRY_TEXTURE = 0x829E
-gl_NUM_PROGRAM_BINARY_FORMATS :: GLenum
-gl_NUM_PROGRAM_BINARY_FORMATS = 0x87FE
-gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105
-gl_PERFQUERY_COUNTER_DATA_BOOL32_INTEL :: GLenum
-gl_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC
-gl_DRAW_BUFFER14_ARB :: GLenum
-gl_DRAW_BUFFER14_ARB = 0x8833
-gl_CONTEXT_FLAG_DEBUG_BIT :: GLenum
-gl_CONTEXT_FLAG_DEBUG_BIT = 0x00000002
-gl_OPERAND0_ALPHA :: GLenum
-gl_OPERAND0_ALPHA = 0x8598
-gl_FLOAT_RG32_NV :: GLenum
-gl_FLOAT_RG32_NV = 0x8887
-gl_PATH_STENCIL_VALUE_MASK_NV :: GLenum
-gl_PATH_STENCIL_VALUE_MASK_NV = 0x90B9
-gl_IMAGE_TRANSFORM_2D_HP :: GLenum
-gl_IMAGE_TRANSFORM_2D_HP = 0x8161
-gl_OUTPUT_TEXTURE_COORD24_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD24_EXT = 0x87B5
-gl_TEXTURE_DEPTH :: GLenum
-gl_TEXTURE_DEPTH = 0x8071
-gl_FILTER :: GLenum
-gl_FILTER = 0x829A
-gl_WARP_SIZE_NV :: GLenum
-gl_WARP_SIZE_NV = 0x9339
-gl_RESET_NOTIFICATION_STRATEGY_KHR :: GLenum
-gl_RESET_NOTIFICATION_STRATEGY_KHR = 0x8256
-gl_FOG_COORDINATE_ARRAY_POINTER :: GLenum
-gl_FOG_COORDINATE_ARRAY_POINTER = 0x8456
-gl_PROGRAM_KHR :: GLenum
-gl_PROGRAM_KHR = 0x82E2
-gl_MODELVIEW30_ARB :: GLenum
-gl_MODELVIEW30_ARB = 0x873E
-gl_DEPTH_ATTACHMENT :: GLenum
-gl_DEPTH_ATTACHMENT = 0x8D00
-gl_OUTPUT_TEXTURE_COORD8_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD8_EXT = 0x87A5
-gl_X_EXT :: GLenum
-gl_X_EXT = 0x87D5
-gl_RGB32F :: GLenum
-gl_RGB32F = 0x8815
-gl_SAMPLER_CUBE_SHADOW_NV :: GLenum
-gl_SAMPLER_CUBE_SHADOW_NV = 0x8DC5
-gl_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
-gl_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802
-gl_SAMPLE_ALPHA_TO_ONE_SGIS :: GLenum
-gl_SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F
-gl_MATRIX7_ARB :: GLenum
-gl_MATRIX7_ARB = 0x88C7
-gl_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
-gl_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2
-gl_2X_BIT_ATI :: GLenum
-gl_2X_BIT_ATI = 0x00000001
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES = 0x93E9
-gl_TEXTURE_FILTER_CONTROL_EXT :: GLenum
-gl_TEXTURE_FILTER_CONTROL_EXT = 0x8500
-gl_CON_24_ATI :: GLenum
-gl_CON_24_ATI = 0x8959
-gl_TEXTURE2 :: GLenum
-gl_TEXTURE2 = 0x84C2
-gl_DEFORMATIONS_MASK_SGIX :: GLenum
-gl_DEFORMATIONS_MASK_SGIX = 0x8196
-gl_SAMPLE_BUFFERS :: GLenum
-gl_SAMPLE_BUFFERS = 0x80A8
-gl_ALPHA32UI_EXT :: GLenum
-gl_ALPHA32UI_EXT = 0x8D72
-gl_MAP_ATTRIB_U_ORDER_NV :: GLenum
-gl_MAP_ATTRIB_U_ORDER_NV = 0x86C3
-gl_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS :: GLenum
-gl_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355
-gl_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
-gl_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4
-gl_ETC1_SRGB8_NV :: GLenum
-gl_ETC1_SRGB8_NV = 0x88EE
-gl_INTENSITY8_EXT :: GLenum
-gl_INTENSITY8_EXT = 0x804B
-gl_TEXTURE_MAG_FILTER :: GLenum
-gl_TEXTURE_MAG_FILTER = 0x2800
-gl_DOT_PRODUCT_TEXTURE_3D_NV :: GLenum
-gl_DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF
-gl_VERTEX23_BIT_PGI :: GLenum
-gl_VERTEX23_BIT_PGI = 0x00000004
-gl_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: GLenum
-gl_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910B
-gl_RGBA8_EXT :: GLenum
-gl_RGBA8_EXT = 0x8058
-gl_MODULATE_SUBTRACT_ATI :: GLenum
-gl_MODULATE_SUBTRACT_ATI = 0x8746
-gl_EYE_DISTANCE_TO_LINE_SGIS :: GLenum
-gl_EYE_DISTANCE_TO_LINE_SGIS = 0x81F2
-gl_MAX_PATCH_VERTICES :: GLenum
-gl_MAX_PATCH_VERTICES = 0x8E7D
-gl_CON_0_ATI :: GLenum
-gl_CON_0_ATI = 0x8941
-gl_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
-gl_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75
-gl_DRAW_BUFFER8_EXT :: GLenum
-gl_DRAW_BUFFER8_EXT = 0x882D
-gl_FLOAT_RGBA32_NV :: GLenum
-gl_FLOAT_RGBA32_NV = 0x888B
-gl_KEEP :: GLenum
-gl_KEEP = 0x1E00
-gl_OBJECT_ACTIVE_UNIFORMS_ARB :: GLenum
-gl_OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86
-gl_INDEX_TEST_EXT :: GLenum
-gl_INDEX_TEST_EXT = 0x81B5
-gl_PERFQUERY_COUNTER_DATA_UINT32_INTEL :: GLenum
-gl_PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8
-gl_BLUE :: GLenum
-gl_BLUE = 0x1905
-gl_LINEAR_DETAIL_ALPHA_SGIS :: GLenum
-gl_LINEAR_DETAIL_ALPHA_SGIS = 0x8098
-gl_DYNAMIC_READ :: GLenum
-gl_DYNAMIC_READ = 0x88E9
-gl_RENDERBUFFER_STENCIL_SIZE :: GLenum
-gl_RENDERBUFFER_STENCIL_SIZE = 0x8D55
-gl_DECAL :: GLenum
-gl_DECAL = 0x2101
-gl_MAP2_TEXTURE_COORD_3 :: GLenum
-gl_MAP2_TEXTURE_COORD_3 = 0x0DB5
-gl_VIDEO_BUFFER_NV :: GLenum
-gl_VIDEO_BUFFER_NV = 0x9020
-gl_BITMAP_TOKEN :: GLenum
-gl_BITMAP_TOKEN = 0x0704
-gl_CON_22_ATI :: GLenum
-gl_CON_22_ATI = 0x8957
-gl_GEOMETRY_OUTPUT_TYPE_EXT :: GLenum
-gl_GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC
-gl_FLOAT_VEC3 :: GLenum
-gl_FLOAT_VEC3 = 0x8B51
-gl_RGB_S3TC :: GLenum
-gl_RGB_S3TC = 0x83A0
-gl_BUFFER_UPDATE_BARRIER_BIT_EXT :: GLenum
-gl_BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200
-gl_PIXEL_UNPACK_BUFFER_EXT :: GLenum
-gl_PIXEL_UNPACK_BUFFER_EXT = 0x88EC
-gl_TEXTURE14 :: GLenum
-gl_TEXTURE14 = 0x84CE
-gl_FRAGMENT_NORMAL_EXT :: GLenum
-gl_FRAGMENT_NORMAL_EXT = 0x834A
-gl_OBJECT_BUFFER_SIZE_ATI :: GLenum
-gl_OBJECT_BUFFER_SIZE_ATI = 0x8764
-gl_LOAD :: GLenum
-gl_LOAD = 0x0101
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1
-gl_BGRA8_EXT :: GLenum
-gl_BGRA8_EXT = 0x93A1
-gl_MAX_FOG_FUNC_POINTS_SGIS :: GLenum
-gl_MAX_FOG_FUNC_POINTS_SGIS = 0x812C
-gl_LOWER_LEFT :: GLenum
-gl_LOWER_LEFT = 0x8CA1
-gl_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7
-gl_TRACE_TEXTURES_BIT_MESA :: GLenum
-gl_TRACE_TEXTURES_BIT_MESA = 0x0008
-gl_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519
-gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9
-gl_MATRIX4_ARB :: GLenum
-gl_MATRIX4_ARB = 0x88C4
-gl_VIEWPORT_SUBPIXEL_BITS_NV :: GLenum
-gl_VIEWPORT_SUBPIXEL_BITS_NV = 0x825C
-gl_DS_SCALE_NV :: GLenum
-gl_DS_SCALE_NV = 0x8710
-gl_SRGB_WRITE :: GLenum
-gl_SRGB_WRITE = 0x8298
-gl_DRAW_INDIRECT_UNIFIED_NV :: GLenum
-gl_DRAW_INDIRECT_UNIFIED_NV = 0x8F40
-gl_MIRROR_CLAMP_ATI :: GLenum
-gl_MIRROR_CLAMP_ATI = 0x8742
-gl_TEXTURE_SWIZZLE_A :: GLenum
-gl_TEXTURE_SWIZZLE_A = 0x8E45
-gl_STENCIL_BACK_FAIL :: GLenum
-gl_STENCIL_BACK_FAIL = 0x8801
-gl_VERTEX_ATTRIB_ARRAY0_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY0_NV = 0x8650
-gl_LIGHTING :: GLenum
-gl_LIGHTING = 0x0B50
-gl_VERTEX_STREAM7_ATI :: GLenum
-gl_VERTEX_STREAM7_ATI = 0x8773
-gl_PRIMARY_COLOR_NV :: GLenum
-gl_PRIMARY_COLOR_NV = 0x852C
-gl_422_REV_EXT :: GLenum
-gl_422_REV_EXT = 0x80CD
-gl_RGB4 :: GLenum
-gl_RGB4 = 0x804F
-gl_PROGRAM_BINARY_FORMATS :: GLenum
-gl_PROGRAM_BINARY_FORMATS = 0x87FF
-gl_CLIENT_VERTEX_ARRAY_BIT :: GLenum
-gl_CLIENT_VERTEX_ARRAY_BIT = 0x00000002
-gl_INT_IMAGE_1D_ARRAY :: GLenum
-gl_INT_IMAGE_1D_ARRAY = 0x905D
-gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
-gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x906C
-gl_RELATIVE_ARC_TO_NV :: GLenum
-gl_RELATIVE_ARC_TO_NV = 0xFF
-gl_SAMPLER_1D_ARRAY_EXT :: GLenum
-gl_SAMPLER_1D_ARRAY_EXT = 0x8DC0
-gl_AFFINE_2D_NV :: GLenum
-gl_AFFINE_2D_NV = 0x9092
-gl_MIN :: GLenum
-gl_MIN = 0x8007
-gl_MAX_ASYNC_TEX_IMAGE_SGIX :: GLenum
-gl_MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F
-gl_MAX_DEBUG_LOGGED_MESSAGES_KHR :: GLenum
-gl_MAX_DEBUG_LOGGED_MESSAGES_KHR = 0x9144
-gl_TEXTURE_GREEN_SIZE_EXT :: GLenum
-gl_TEXTURE_GREEN_SIZE_EXT = 0x805D
-gl_PIXEL_SUBSAMPLE_4242_SGIX :: GLenum
-gl_PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4
-gl_REG_11_ATI :: GLenum
-gl_REG_11_ATI = 0x892C
-gl_LUMINANCE32F_EXT :: GLenum
-gl_LUMINANCE32F_EXT = 0x8818
-gl_SECONDARY_INTERPOLATOR_ATI :: GLenum
-gl_SECONDARY_INTERPOLATOR_ATI = 0x896D
-gl_MODULATE_SIGNED_ADD_ATI :: GLenum
-gl_MODULATE_SIGNED_ADD_ATI = 0x8745
-gl_COMPRESSED_RGBA_S3TC_DXT3_EXT :: GLenum
-gl_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2
-gl_DRAW_BUFFER5_ATI :: GLenum
-gl_DRAW_BUFFER5_ATI = 0x882A
-gl_UNPACK_CONSTANT_DATA_SUNX :: GLenum
-gl_UNPACK_CONSTANT_DATA_SUNX = 0x81D5
-gl_SLUMINANCE8 :: GLenum
-gl_SLUMINANCE8 = 0x8C47
-gl_MAX_INTEGER_SAMPLES :: GLenum
-gl_MAX_INTEGER_SAMPLES = 0x9110
-gl_SCREEN_NV :: GLenum
-gl_SCREEN_NV = 0x9295
-gl_REG_7_ATI :: GLenum
-gl_REG_7_ATI = 0x8928
-gl_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX :: GLenum
-gl_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B
-gl_EYE_RADIAL_NV :: GLenum
-gl_EYE_RADIAL_NV = 0x855B
-gl_1PASS_SGIS :: GLenum
-gl_1PASS_SGIS = 0x80A1
-gl_2_BYTES :: GLenum
-gl_2_BYTES = 0x1407
-gl_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
-gl_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5
-gl_POST_COLOR_MATRIX_GREEN_BIAS_SGI :: GLenum
-gl_POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9
-gl_DRAW_BUFFER6_ATI :: GLenum
-gl_DRAW_BUFFER6_ATI = 0x882B
-gl_VARIABLE_A_NV :: GLenum
-gl_VARIABLE_A_NV = 0x8523
-gl_RGB565 :: GLenum
-gl_RGB565 = 0x8D62
-gl_TEXTURE7_ARB :: GLenum
-gl_TEXTURE7_ARB = 0x84C7
-gl_BLOCK_INDEX :: GLenum
-gl_BLOCK_INDEX = 0x92FD
-gl_TEXTURE23 :: GLenum
-gl_TEXTURE23 = 0x84D7
-gl_INTERLACE_SGIX :: GLenum
-gl_INTERLACE_SGIX = 0x8094
-gl_INT_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
-gl_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E
-gl_TEXTURE_MATERIAL_PARAMETER_EXT :: GLenum
-gl_TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352
-gl_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT :: GLenum
-gl_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT = 0x9124
-gl_RASTER_MULTISAMPLE_EXT :: GLenum
-gl_RASTER_MULTISAMPLE_EXT = 0x9327
-gl_ELEMENT_ARRAY_BARRIER_BIT_EXT :: GLenum
-gl_ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002
-gl_COLOR_ARRAY_STRIDE :: GLenum
-gl_COLOR_ARRAY_STRIDE = 0x8083
-gl_PIXEL_CUBIC_WEIGHT_EXT :: GLenum
-gl_PIXEL_CUBIC_WEIGHT_EXT = 0x8333
-gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV :: GLenum
-gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11
-gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLenum
-gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F
-gl_TEXTURE_INTENSITY_TYPE_ARB :: GLenum
-gl_TEXTURE_INTENSITY_TYPE_ARB = 0x8C15
-gl_COLOR_ATTACHMENT11_NV :: GLenum
-gl_COLOR_ATTACHMENT11_NV = 0x8CEB
-gl_ALPHA_BIAS :: GLenum
-gl_ALPHA_BIAS = 0x0D1D
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA
-gl_BUFFER_KHR :: GLenum
-gl_BUFFER_KHR = 0x82E0
-gl_COMPRESSED_RGBA_ASTC_6x6_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4
-gl_TEXTURE_BUFFER_EXT :: GLenum
-gl_TEXTURE_BUFFER_EXT = 0x8C2A
-gl_SHARPEN_TEXTURE_FUNC_POINTS_SGIS :: GLenum
-gl_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0
-gl_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLenum
-gl_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800
-gl_VIEWPORT_BOUNDS_RANGE :: GLenum
-gl_VIEWPORT_BOUNDS_RANGE = 0x825D
-gl_DRAW_BUFFER12_ATI :: GLenum
-gl_DRAW_BUFFER12_ATI = 0x8831
-gl_UNPACK_ROW_LENGTH :: GLenum
-gl_UNPACK_ROW_LENGTH = 0x0CF2
-gl_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV :: GLenum
-gl_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 0x8E5D
-gl_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49
-gl_CLAMP_READ_COLOR_ARB :: GLenum
-gl_CLAMP_READ_COLOR_ARB = 0x891C
-gl_PACK_LSB_FIRST :: GLenum
-gl_PACK_LSB_FIRST = 0x0D01
-gl_TEXTURE_GEN_MODE_OES :: GLenum
-gl_TEXTURE_GEN_MODE_OES = 0x2500
-gl_UNIFORM_BUFFER_BINDING_EXT :: GLenum
-gl_UNIFORM_BUFFER_BINDING_EXT = 0x8DEF
-gl_PIXEL_PACK_BUFFER_BINDING_EXT :: GLenum
-gl_PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED
-gl_DST_ALPHA :: GLenum
-gl_DST_ALPHA = 0x0304
-gl_LOCAL_EXT :: GLenum
-gl_LOCAL_EXT = 0x87C4
-gl_STENCIL_BACK_PASS_DEPTH_PASS_ATI :: GLenum
-gl_STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803
-gl_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F
-gl_VECTOR_EXT :: GLenum
-gl_VECTOR_EXT = 0x87BF
-gl_SPARE1_NV :: GLenum
-gl_SPARE1_NV = 0x852F
-gl_MAX_TEXTURE_BUFFER_SIZE :: GLenum
-gl_MAX_TEXTURE_BUFFER_SIZE = 0x8C2B
-gl_R1UI_T2F_N3F_V3F_SUN :: GLenum
-gl_R1UI_T2F_N3F_V3F_SUN = 0x85CA
-gl_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
-gl_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101
-gl_CURRENT_FOG_COORD :: GLenum
-gl_CURRENT_FOG_COORD = 0x8453
-gl_LUMINANCE_INTEGER_EXT :: GLenum
-gl_LUMINANCE_INTEGER_EXT = 0x8D9C
-gl_PIXEL_FRAGMENT_RGB_SOURCE_SGIS :: GLenum
-gl_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354
-gl_DSDT_MAG_NV :: GLenum
-gl_DSDT_MAG_NV = 0x86F6
-gl_UNSIGNED_SHORT_8_8_MESA :: GLenum
-gl_UNSIGNED_SHORT_8_8_MESA = 0x85BA
-gl_TEXTURE_BUFFER_OFFSET_EXT :: GLenum
-gl_TEXTURE_BUFFER_OFFSET_EXT = 0x919D
-gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: GLenum
-gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC
-gl_PIXEL_TEX_GEN_Q_ROUND_SGIX :: GLenum
-gl_PIXEL_TEX_GEN_Q_ROUND_SGIX = 0x8185
-gl_SAMPLER_2D :: GLenum
-gl_SAMPLER_2D = 0x8B5E
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES = 0x93E1
-gl_FUNC_ADD_OES :: GLenum
-gl_FUNC_ADD_OES = 0x8006
-gl_VERTEX_ARRAY_TYPE :: GLenum
-gl_VERTEX_ARRAY_TYPE = 0x807B
-gl_DRAW_BUFFER3_NV :: GLenum
-gl_DRAW_BUFFER3_NV = 0x8828
-gl_NOOP :: GLenum
-gl_NOOP = 0x1505
-gl_PHONG_WIN :: GLenum
-gl_PHONG_WIN = 0x80EA
-gl_UNSIGNED_BYTE :: GLenum
-gl_UNSIGNED_BYTE = 0x1401
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES = 0x93E6
-gl_ALPHA16_EXT :: GLenum
-gl_ALPHA16_EXT = 0x803E
-gl_CIRCULAR_CW_ARC_TO_NV :: GLenum
-gl_CIRCULAR_CW_ARC_TO_NV = 0xFA
-gl_COLOR_MATERIAL_FACE :: GLenum
-gl_COLOR_MATERIAL_FACE = 0x0B55
-gl_COLOR_BUFFER_BIT1_QCOM :: GLenum
-gl_COLOR_BUFFER_BIT1_QCOM = 0x00000002
-gl_VIEW_CLASS_48_BITS :: GLenum
-gl_VIEW_CLASS_48_BITS = 0x82C7
-gl_POST_CONVOLUTION_ALPHA_SCALE_EXT :: GLenum
-gl_POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F
-gl_HISTOGRAM_SINK_EXT :: GLenum
-gl_HISTOGRAM_SINK_EXT = 0x802D
-gl_UNPACK_COMPRESSED_SIZE_SGIX :: GLenum
-gl_UNPACK_COMPRESSED_SIZE_SGIX = 0x831A
-gl_VERTEX_SOURCE_ATI :: GLenum
-gl_VERTEX_SOURCE_ATI = 0x8774
-gl_SPARE0_NV :: GLenum
-gl_SPARE0_NV = 0x852E
-gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES = 0x8CDC
-gl_MAP2_TEXTURE_COORD_2 :: GLenum
-gl_MAP2_TEXTURE_COORD_2 = 0x0DB4
-gl_DRAW_BUFFER8_ATI :: GLenum
-gl_DRAW_BUFFER8_ATI = 0x882D
-gl_TEXTURE0_ARB :: GLenum
-gl_TEXTURE0_ARB = 0x84C0
-gl_VERTEX_ARRAY_BINDING_OES :: GLenum
-gl_VERTEX_ARRAY_BINDING_OES = 0x85B5
-gl_Y_EXT :: GLenum
-gl_Y_EXT = 0x87D6
-gl_TEXTURE21_ARB :: GLenum
-gl_TEXTURE21_ARB = 0x84D5
-gl_FORMAT_SUBSAMPLE_24_24_OML :: GLenum
-gl_FORMAT_SUBSAMPLE_24_24_OML = 0x8982
-gl_SAMPLE_POSITION_NV :: GLenum
-gl_SAMPLE_POSITION_NV = 0x8E50
-gl_TEXTURE_COMPARE_FUNC_ARB :: GLenum
-gl_TEXTURE_COMPARE_FUNC_ARB = 0x884D
-gl_COMPRESSED_RGBA_ARB :: GLenum
-gl_COMPRESSED_RGBA_ARB = 0x84EE
-gl_TEXTURE_1D_BINDING_EXT :: GLenum
-gl_TEXTURE_1D_BINDING_EXT = 0x8068
-gl_VERTEX_ATTRIB_ARRAY_INTEGER_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD
-gl_REPEAT :: GLenum
-gl_REPEAT = 0x2901
-gl_COMMAND_BARRIER_BIT :: GLenum
-gl_COMMAND_BARRIER_BIT = 0x00000040
-gl_DEBUG_CATEGORY_OTHER_AMD :: GLenum
-gl_DEBUG_CATEGORY_OTHER_AMD = 0x9150
-gl_INT_SAMPLER_2D_EXT :: GLenum
-gl_INT_SAMPLER_2D_EXT = 0x8DCA
-gl_VARIABLE_G_NV :: GLenum
-gl_VARIABLE_G_NV = 0x8529
-gl_UNSIGNED_INT_IMAGE_2D :: GLenum
-gl_UNSIGNED_INT_IMAGE_2D = 0x9063
-gl_MAX_ARRAY_TEXTURE_LAYERS_EXT :: GLenum
-gl_MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF
-gl_FOG_COORDINATE_ARRAY_LIST_IBM :: GLenum
-gl_FOG_COORDINATE_ARRAY_LIST_IBM = 103076
-gl_PINLIGHT_NV :: GLenum
-gl_PINLIGHT_NV = 0x92A8
-gl_MODELVIEW_MATRIX :: GLenum
-gl_MODELVIEW_MATRIX = 0x0BA6
-gl_LIST_MODE :: GLenum
-gl_LIST_MODE = 0x0B30
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = 0x8518
-gl_RGBA32I :: GLenum
-gl_RGBA32I = 0x8D82
-gl_OBJECT_SUBTYPE_ARB :: GLenum
-gl_OBJECT_SUBTYPE_ARB = 0x8B4F
-gl_PERFQUERY_COUNTER_THROUGHPUT_INTEL :: GLenum
-gl_PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3
-gl_VERTEX_ARRAY_LIST_STRIDE_IBM :: GLenum
-gl_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080
-gl_COMPRESSED_RGBA_ASTC_5x5x5_OES :: GLenum
-gl_COMPRESSED_RGBA_ASTC_5x5x5_OES = 0x93C6
-gl_TRANSFORM_BIT :: GLenum
-gl_TRANSFORM_BIT = 0x00001000
-gl_DEBUG_SOURCE_APPLICATION_KHR :: GLenum
-gl_DEBUG_SOURCE_APPLICATION_KHR = 0x824A
-gl_TEXTURE1 :: GLenum
-gl_TEXTURE1 = 0x84C1
-gl_DST_OVER_NV :: GLenum
-gl_DST_OVER_NV = 0x9289
-gl_HISTOGRAM_GREEN_SIZE_EXT :: GLenum
-gl_HISTOGRAM_GREEN_SIZE_EXT = 0x8029
-gl_CON_30_ATI :: GLenum
-gl_CON_30_ATI = 0x895F
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT :: GLenum
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT = 0x92D3
-gl_RGB8_OES :: GLenum
-gl_RGB8_OES = 0x8051
-gl_DST_IN_NV :: GLenum
-gl_DST_IN_NV = 0x928B
-gl_SLUMINANCE8_ALPHA8_EXT :: GLenum
-gl_SLUMINANCE8_ALPHA8_EXT = 0x8C45
-gl_GUILTY_CONTEXT_RESET :: GLenum
-gl_GUILTY_CONTEXT_RESET = 0x8253
-gl_VIEW_CLASS_8_BITS :: GLenum
-gl_VIEW_CLASS_8_BITS = 0x82CB
-gl_MINUS_CLAMPED_NV :: GLenum
-gl_MINUS_CLAMPED_NV = 0x92B3
-gl_RGBA8I_EXT :: GLenum
-gl_RGBA8I_EXT = 0x8D8E
-gl_FOG_COORDINATE_ARRAY_EXT :: GLenum
-gl_FOG_COORDINATE_ARRAY_EXT = 0x8457
-gl_4PASS_1_SGIS :: GLenum
-gl_4PASS_1_SGIS = 0x80A5
-gl_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV :: GLenum
-gl_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349
-gl_INT_VEC4_ARB :: GLenum
-gl_INT_VEC4_ARB = 0x8B55
-gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB :: GLenum
-gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F
-gl_PROGRAM_ERROR_POSITION_ARB :: GLenum
-gl_PROGRAM_ERROR_POSITION_ARB = 0x864B
-gl_TRIANGLE_STRIP_ADJACENCY_EXT :: GLenum
-gl_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D
-gl_MAX_LIST_NESTING :: GLenum
-gl_MAX_LIST_NESTING = 0x0B31
-gl_DIFFERENCE_NV :: GLenum
-gl_DIFFERENCE_NV = 0x929E
-gl_VERTEX_ARRAY_SIZE_EXT :: GLenum
-gl_VERTEX_ARRAY_SIZE_EXT = 0x807A
-gl_COMPRESSED_INTENSITY :: GLenum
-gl_COMPRESSED_INTENSITY = 0x84EC
-gl_MAX_SAMPLES_APPLE :: GLenum
-gl_MAX_SAMPLES_APPLE = 0x8D57
-gl_SHADER_INCLUDE_ARB :: GLenum
-gl_SHADER_INCLUDE_ARB = 0x8DAE
-gl_PROGRAM_SEPARABLE_EXT :: GLenum
-gl_PROGRAM_SEPARABLE_EXT = 0x8258
-gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB :: GLenum
-gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E
-gl_FRAGMENT_PROGRAM_ARB :: GLenum
-gl_FRAGMENT_PROGRAM_ARB = 0x8804
-gl_MAX_HEIGHT :: GLenum
-gl_MAX_HEIGHT = 0x827F
-gl_SHADER :: GLenum
-gl_SHADER = 0x82E1
-gl_OUTPUT_TEXTURE_COORD12_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD12_EXT = 0x87A9
-gl_SIGNED_LUMINANCE8_ALPHA8_NV :: GLenum
-gl_SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704
-gl_TEXTURE25 :: GLenum
-gl_TEXTURE25 = 0x84D9
-gl_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT :: GLenum
-gl_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT = 0x8A2C
-gl_SCREEN_KHR :: GLenum
-gl_SCREEN_KHR = 0x9295
-gl_DRAW_BUFFER7_NV :: GLenum
-gl_DRAW_BUFFER7_NV = 0x882C
-gl_MAX_COMBINED_CLIP_AND_CULL_DISTANCES :: GLenum
-gl_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA
-gl_ALLOW_DRAW_OBJ_HINT_PGI :: GLenum
-gl_ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E
-gl_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT :: GLenum
-gl_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x8E5A
-gl_INTENSITY12 :: GLenum
-gl_INTENSITY12 = 0x804C
-gl_CURRENT_RASTER_POSITION :: GLenum
-gl_CURRENT_RASTER_POSITION = 0x0B07
-gl_COLOR_INDEX12_EXT :: GLenum
-gl_COLOR_INDEX12_EXT = 0x80E6
-gl_RGB10_A2 :: GLenum
-gl_RGB10_A2 = 0x8059
-gl_OBJECT_ATTACHED_OBJECTS_ARB :: GLenum
-gl_OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85
-gl_SUBSAMPLE_DISTANCE_AMD :: GLenum
-gl_SUBSAMPLE_DISTANCE_AMD = 0x883F
-gl_RGB8_SNORM :: GLenum
-gl_RGB8_SNORM = 0x8F96
-gl_INDEX_WRITEMASK :: GLenum
-gl_INDEX_WRITEMASK = 0x0C21
-gl_ZERO_TO_ONE :: GLenum
-gl_ZERO_TO_ONE = 0x935F
-gl_RGBA_DXT5_S3TC :: GLenum
-gl_RGBA_DXT5_S3TC = 0x83A4
-gl_SEPARATE_ATTRIBS_NV :: GLenum
-gl_SEPARATE_ATTRIBS_NV = 0x8C8D
-gl_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT :: GLenum
-gl_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71
-gl_COMPARE_REF_DEPTH_TO_TEXTURE_EXT :: GLenum
-gl_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E
-gl_OFFSET_HILO_TEXTURE_RECTANGLE_NV :: GLenum
-gl_OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855
-gl_VIRTUAL_PAGE_SIZE_Z_ARB :: GLenum
-gl_VIRTUAL_PAGE_SIZE_Z_ARB = 0x9197
-gl_MAX_VARYING_FLOATS :: GLenum
-gl_MAX_VARYING_FLOATS = 0x8B4B
-gl_HISTOGRAM_EXT :: GLenum
-gl_HISTOGRAM_EXT = 0x8024
-gl_MINMAX_EXT :: GLenum
-gl_MINMAX_EXT = 0x802E
-gl_TEXTURE2_ARB :: GLenum
-gl_TEXTURE2_ARB = 0x84C2
-gl_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
-gl_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = 0x8C75
-gl_ATTRIB_STACK_DEPTH :: GLenum
-gl_ATTRIB_STACK_DEPTH = 0x0BB0
-gl_REFLECTION_MAP_EXT :: GLenum
-gl_REFLECTION_MAP_EXT = 0x8512
-gl_HISTOGRAM_BLUE_SIZE_EXT :: GLenum
-gl_HISTOGRAM_BLUE_SIZE_EXT = 0x802A
-gl_TRANSFORM_FEEDBACK_VARYING :: GLenum
-gl_TRANSFORM_FEEDBACK_VARYING = 0x92F4
-gl_NUM_COMPATIBLE_SUBROUTINES :: GLenum
-gl_NUM_COMPATIBLE_SUBROUTINES = 0x8E4A
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518
-gl_CONSTANT_ALPHA :: GLenum
-gl_CONSTANT_ALPHA = 0x8003
-gl_DEPTH_STENCIL_MESA :: GLenum
-gl_DEPTH_STENCIL_MESA = 0x8750
-gl_INVALID_FRAMEBUFFER_OPERATION_EXT :: GLenum
-gl_INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506
-gl_CLIP_DISTANCE7_APPLE :: GLenum
-gl_CLIP_DISTANCE7_APPLE = 0x3007
-gl_COLOR_ARRAY_STRIDE_EXT :: GLenum
-gl_COLOR_ARRAY_STRIDE_EXT = 0x8083
-gl_BINORMAL_ARRAY_STRIDE_EXT :: GLenum
-gl_BINORMAL_ARRAY_STRIDE_EXT = 0x8441
-gl_VERTEX_DATA_HINT_PGI :: GLenum
-gl_VERTEX_DATA_HINT_PGI = 0x1A22A
-gl_TEXTURE11 :: GLenum
-gl_TEXTURE11 = 0x84CB
-gl_DRAW_BUFFER2 :: GLenum
-gl_DRAW_BUFFER2 = 0x8827
-gl_RELATIVE_MOVE_TO_NV :: GLenum
-gl_RELATIVE_MOVE_TO_NV = 0x03
-gl_QUAD_ALPHA4_SGIS :: GLenum
-gl_QUAD_ALPHA4_SGIS = 0x811E
-gl_TEXTURE_4D_SGIS :: GLenum
-gl_TEXTURE_4D_SGIS = 0x8134
-gl_SIGNED_NORMALIZED :: GLenum
-gl_SIGNED_NORMALIZED = 0x8F9C
-gl_SIGNED_RGBA8_NV :: GLenum
-gl_SIGNED_RGBA8_NV = 0x86FC
-gl_TEXTURE_2D_MULTISAMPLE :: GLenum
-gl_TEXTURE_2D_MULTISAMPLE = 0x9100
-gl_SAMPLES :: GLenum
-gl_SAMPLES = 0x80A9
-gl_POINT_SIZE_MAX_EXT :: GLenum
-gl_POINT_SIZE_MAX_EXT = 0x8127
-gl_FRONT_LEFT :: GLenum
-gl_FRONT_LEFT = 0x0400
-gl_LINEAR_MIPMAP_LINEAR :: GLenum
-gl_LINEAR_MIPMAP_LINEAR = 0x2703
-gl_TEXTURE_ALPHA_TYPE :: GLenum
-gl_TEXTURE_ALPHA_TYPE = 0x8C13
-gl_TEXTURE_BINDING_CUBE_MAP_EXT :: GLenum
-gl_TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514
-gl_OCCLUSION_TEST_HP :: GLenum
-gl_OCCLUSION_TEST_HP = 0x8165
-gl_ONE_MINUS_CONSTANT_ALPHA :: GLenum
-gl_ONE_MINUS_CONSTANT_ALPHA = 0x8004
-gl_MAX_PROGRAM_NATIVE_PARAMETERS_ARB :: GLenum
-gl_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB
-gl_CLIP_PLANE2_IMG :: GLenum
-gl_CLIP_PLANE2_IMG = 0x3002
-gl_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX :: GLenum
-gl_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178
-gl_REG_3_ATI :: GLenum
-gl_REG_3_ATI = 0x8924
-gl_NORMAL_ARRAY_TYPE_EXT :: GLenum
-gl_NORMAL_ARRAY_TYPE_EXT = 0x807E
-gl_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124
-gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9
-gl_4X_BIT_ATI :: GLenum
-gl_4X_BIT_ATI = 0x00000002
-gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB :: GLenum
-gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919A
-gl_POST_COLOR_MATRIX_RED_SCALE_SGI :: GLenum
-gl_POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4
-gl_POST_CONVOLUTION_GREEN_BIAS_EXT :: GLenum
-gl_POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021
-gl_RENDERBUFFER_DEPTH_SIZE_OES :: GLenum
-gl_RENDERBUFFER_DEPTH_SIZE_OES = 0x8D54
-gl_TRANSFORM_FEEDBACK_OVERFLOW_ARB :: GLenum
-gl_TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC
-gl_NORMALIZED_RANGE_EXT :: GLenum
-gl_NORMALIZED_RANGE_EXT = 0x87E0
-gl_FLOAT16_VEC4_NV :: GLenum
-gl_FLOAT16_VEC4_NV = 0x8FFB
-gl_PIXEL_PACK_BUFFER :: GLenum
-gl_PIXEL_PACK_BUFFER = 0x88EB
-gl_COLOR_ATTACHMENT9_NV :: GLenum
-gl_COLOR_ATTACHMENT9_NV = 0x8CE9
-gl_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
-gl_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A
-gl_UNSIGNED_INT_24_8_MESA :: GLenum
-gl_UNSIGNED_INT_24_8_MESA = 0x8751
-gl_OUTPUT_TEXTURE_COORD30_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD30_EXT = 0x87BB
-gl_POINTS :: GLenum
-gl_POINTS = 0x0000
-gl_INDEX_BITS :: GLenum
-gl_INDEX_BITS = 0x0D51
-gl_INT16_NV :: GLenum
-gl_INT16_NV = 0x8FE4
-gl_SUBTRACT :: GLenum
-gl_SUBTRACT = 0x84E7
-gl_VERTEX_ATTRIB_ARRAY13_NV :: GLenum
-gl_VERTEX_ATTRIB_ARRAY13_NV = 0x865D
-gl_SCALAR_EXT :: GLenum
-gl_SCALAR_EXT = 0x87BE
-gl_PROGRAM_ATTRIBS_ARB :: GLenum
-gl_PROGRAM_ATTRIBS_ARB = 0x88AC
-gl_VERTEX_ATTRIB_ARRAY_STRIDE_ARB :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624
-gl_GLOBAL_ALPHA_FACTOR_SUN :: GLenum
-gl_GLOBAL_ALPHA_FACTOR_SUN = 0x81DA
-gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
-gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C
-gl_OPERAND2_RGB :: GLenum
-gl_OPERAND2_RGB = 0x8592
-gl_RENDERBUFFER_STENCIL_SIZE_EXT :: GLenum
-gl_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55
-gl_EQUIV :: GLenum
-gl_EQUIV = 0x1509
-gl_RELATIVE_SMALL_CCW_ARC_TO_NV :: GLenum
-gl_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13
-gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV :: GLenum
-gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A
-gl_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
-gl_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD
-gl_TEXTURE_SWIZZLE_R_EXT :: GLenum
-gl_TEXTURE_SWIZZLE_R_EXT = 0x8E42
-gl_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7
-gl_DEPTH_RENDERABLE :: GLenum
-gl_DEPTH_RENDERABLE = 0x8287
-gl_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES :: GLenum
-gl_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 0x8B9E
-gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23
-gl_UNSIGNALED_APPLE :: GLenum
-gl_UNSIGNALED_APPLE = 0x9118
-gl_LINE_SMOOTH_HINT :: GLenum
-gl_LINE_SMOOTH_HINT = 0x0C52
-gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8
-gl_STENCIL_BUFFER_BIT3_QCOM :: GLenum
-gl_STENCIL_BUFFER_BIT3_QCOM = 0x00080000
-gl_RG16F :: GLenum
-gl_RG16F = 0x822F
-gl_MODELVIEW27_ARB :: GLenum
-gl_MODELVIEW27_ARB = 0x873B
-gl_LUMINANCE16_EXT :: GLenum
-gl_LUMINANCE16_EXT = 0x8042
-gl_BLEND_DST_RGB :: GLenum
-gl_BLEND_DST_RGB = 0x80C8
-gl_NORMAL_ARRAY_LIST_IBM :: GLenum
-gl_NORMAL_ARRAY_LIST_IBM = 103071
-gl_READ_FRAMEBUFFER_BINDING :: GLenum
-gl_READ_FRAMEBUFFER_BINDING = 0x8CAA
-gl_DEBUG_TYPE_MARKER_KHR :: GLenum
-gl_DEBUG_TYPE_MARKER_KHR = 0x8268
-gl_TEXTURE_COMPARE_FUNC :: GLenum
-gl_TEXTURE_COMPARE_FUNC = 0x884D
-gl_MAP_FLUSH_EXPLICIT_BIT :: GLenum
-gl_MAP_FLUSH_EXPLICIT_BIT = 0x0010
-gl_DRAW_FRAMEBUFFER_BINDING_ANGLE :: GLenum
-gl_DRAW_FRAMEBUFFER_BINDING_ANGLE = 0x8CA6
-gl_LINE_LOOP :: GLenum
-gl_LINE_LOOP = 0x0002
-gl_COMBINE_RGB_ARB :: GLenum
-gl_COMBINE_RGB_ARB = 0x8571
-gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV :: GLenum
-gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533
-gl_CULL_MODES_NV :: GLenum
-gl_CULL_MODES_NV = 0x86E0
-gl_3DC_X_AMD :: GLenum
-gl_3DC_X_AMD = 0x87F9
-gl_ALPHA32F_EXT :: GLenum
-gl_ALPHA32F_EXT = 0x8816
-gl_YCBCR_422_APPLE :: GLenum
-gl_YCBCR_422_APPLE = 0x85B9
-gl_WEIGHT_ARRAY_BUFFER_BINDING_OES :: GLenum
-gl_WEIGHT_ARRAY_BUFFER_BINDING_OES = 0x889E
-gl_4_BYTES :: GLenum
-gl_4_BYTES = 0x1409
-gl_TRACK_MATRIX_NV :: GLenum
-gl_TRACK_MATRIX_NV = 0x8648
-gl_NEAREST_MIPMAP_NEAREST :: GLenum
-gl_NEAREST_MIPMAP_NEAREST = 0x2700
-gl_ARC_TO_NV :: GLenum
-gl_ARC_TO_NV = 0xFE
-gl_INVARIANT_VALUE_EXT :: GLenum
-gl_INVARIANT_VALUE_EXT = 0x87EA
-gl_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV :: GLenum
-gl_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B
-gl_RGBA_FLOAT16_ATI :: GLenum
-gl_RGBA_FLOAT16_ATI = 0x881A
-gl_DRAW_BUFFER9_NV :: GLenum
-gl_DRAW_BUFFER9_NV = 0x882E
-gl_MAX_GEOMETRY_VARYING_COMPONENTS_EXT :: GLenum
-gl_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD
-gl_MAX_VARYING_COMPONENTS_EXT :: GLenum
-gl_MAX_VARYING_COMPONENTS_EXT = 0x8B4B
-gl_OP_POWER_EXT :: GLenum
-gl_OP_POWER_EXT = 0x8793
-gl_FOG_OFFSET_VALUE_SGIX :: GLenum
-gl_FOG_OFFSET_VALUE_SGIX = 0x8199
-gl_TEXTURE_COMPARE_SGIX :: GLenum
-gl_TEXTURE_COMPARE_SGIX = 0x819A
-gl_HARDLIGHT_KHR :: GLenum
-gl_HARDLIGHT_KHR = 0x929B
-gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV :: GLenum
-gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A
-gl_DEBUG_SOURCE_THIRD_PARTY_KHR :: GLenum
-gl_DEBUG_SOURCE_THIRD_PARTY_KHR = 0x8249
-gl_TEXTURE_VIEW_NUM_LAYERS_EXT :: GLenum
-gl_TEXTURE_VIEW_NUM_LAYERS_EXT = 0x82DE
-gl_VERSION_ES_CL_1_1 :: GLenum
-gl_VERSION_ES_CL_1_1 = 1
-gl_INDEX_ARRAY :: GLenum
-gl_INDEX_ARRAY = 0x8077
-gl_PIXEL_UNPACK_BUFFER_BINDING_EXT :: GLenum
-gl_PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF
-gl_CON_18_ATI :: GLenum
-gl_CON_18_ATI = 0x8953
-gl_INT_IMAGE_1D_ARRAY_EXT :: GLenum
-gl_INT_IMAGE_1D_ARRAY_EXT = 0x905D
-gl_SAMPLER_2D_ARRAY_SHADOW_EXT :: GLenum
-gl_SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4
-gl_CONSTANT_BORDER :: GLenum
-gl_CONSTANT_BORDER = 0x8151
-gl_TEXTURE_SWIZZLE_B_EXT :: GLenum
-gl_TEXTURE_SWIZZLE_B_EXT = 0x8E44
-gl_INTERNALFORMAT_PREFERRED :: GLenum
-gl_INTERNALFORMAT_PREFERRED = 0x8270
-gl_CURRENT_OCCLUSION_QUERY_ID_NV :: GLenum
-gl_CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865
-gl_DEBUG_TYPE_PERFORMANCE :: GLenum
-gl_DEBUG_TYPE_PERFORMANCE = 0x8250
-gl_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
-gl_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23
-gl_VARIANT_ARRAY_EXT :: GLenum
-gl_VARIANT_ARRAY_EXT = 0x87E8
-gl_SQUARE_NV :: GLenum
-gl_SQUARE_NV = 0x90A3
-gl_POST_CONVOLUTION_RED_SCALE :: GLenum
-gl_POST_CONVOLUTION_RED_SCALE = 0x801C
-gl_COLOR_ARRAY_SIZE :: GLenum
-gl_COLOR_ARRAY_SIZE = 0x8081
-gl_QUAD_MESH_SUN :: GLenum
-gl_QUAD_MESH_SUN = 0x8614
-gl_UNSIGNED_INT_SAMPLER_1D :: GLenum
-gl_UNSIGNED_INT_SAMPLER_1D = 0x8DD1
-gl_ONE_MINUS_CONSTANT_COLOR_EXT :: GLenum
-gl_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002
-gl_SIGNED_IDENTITY_NV :: GLenum
-gl_SIGNED_IDENTITY_NV = 0x853C
-gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216
-gl_SLUMINANCE_ALPHA_EXT :: GLenum
-gl_SLUMINANCE_ALPHA_EXT = 0x8C44
-gl_RG32UI :: GLenum
-gl_RG32UI = 0x823C
-gl_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD :: GLenum
-gl_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008
-gl_SIGNED_ALPHA8_NV :: GLenum
-gl_SIGNED_ALPHA8_NV = 0x8706
-gl_PATCHES :: GLenum
-gl_PATCHES = 0x000E
-gl_COMBINE_ALPHA_EXT :: GLenum
-gl_COMBINE_ALPHA_EXT = 0x8572
-gl_COMPRESSED_SLUMINANCE :: GLenum
-gl_COMPRESSED_SLUMINANCE = 0x8C4A
-gl_STRICT_LIGHTING_HINT_PGI :: GLenum
-gl_STRICT_LIGHTING_HINT_PGI = 0x1A217
-gl_COLOR_TABLE_BLUE_SIZE_SGI :: GLenum
-gl_COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC
-gl_MAX_TESS_PATCH_COMPONENTS_EXT :: GLenum
-gl_MAX_TESS_PATCH_COMPONENTS_EXT = 0x8E84
-gl_UNKNOWN_CONTEXT_RESET :: GLenum
-gl_UNKNOWN_CONTEXT_RESET = 0x8255
-gl_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
-gl_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9056
-gl_V3F :: GLenum
-gl_V3F = 0x2A21
-gl_MATRIX28_ARB :: GLenum
-gl_MATRIX28_ARB = 0x88DC
-gl_ONE_MINUS_CONSTANT_ALPHA_EXT :: GLenum
-gl_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004
-gl_PROGRAM_TARGET_NV :: GLenum
-gl_PROGRAM_TARGET_NV = 0x8646
-gl_VERTEX_PROGRAM_TWO_SIDE_ARB :: GLenum
-gl_VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643
-gl_Z400_BINARY_AMD :: GLenum
-gl_Z400_BINARY_AMD = 0x8740
-gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
-gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8
-gl_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
-gl_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8
-gl_PALETTE4_RGB5_A1_OES :: GLenum
-gl_PALETTE4_RGB5_A1_OES = 0x8B94
-gl_MAP2_VERTEX_ATTRIB7_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677
-gl_UNSIGNED_INT_IMAGE_BUFFER_EXT :: GLenum
-gl_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067
-gl_SOURCE0_ALPHA_EXT :: GLenum
-gl_SOURCE0_ALPHA_EXT = 0x8588
-gl_DSDT_MAG_INTENSITY_NV :: GLenum
-gl_DSDT_MAG_INTENSITY_NV = 0x86DC
-gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C
-gl_PROVOKING_VERTEX_EXT :: GLenum
-gl_PROVOKING_VERTEX_EXT = 0x8E4F
-gl_CLIP_PLANE4 :: GLenum
-gl_CLIP_PLANE4 = 0x3004
-gl_MAX_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
-gl_MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7
-gl_LIGHT2 :: GLenum
-gl_LIGHT2 = 0x4002
-gl_EYE_PLANE :: GLenum
-gl_EYE_PLANE = 0x2502
-gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES :: GLenum
-gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES = 0x9105
-gl_DEBUG_TYPE_POP_GROUP_KHR :: GLenum
-gl_DEBUG_TYPE_POP_GROUP_KHR = 0x826A
-gl_EXP2 :: GLenum
-gl_EXP2 = 0x0801
-gl_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
-gl_PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C
-gl_STACK_UNDERFLOW_KHR :: GLenum
-gl_STACK_UNDERFLOW_KHR = 0x0504
-gl_IMAGE_CLASS_4_X_8 :: GLenum
-gl_IMAGE_CLASS_4_X_8 = 0x82BF
-gl_TEXTURE_COVERAGE_SAMPLES_NV :: GLenum
-gl_TEXTURE_COVERAGE_SAMPLES_NV = 0x9045
-gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV :: GLenum
-gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1
-gl_MAP2_VERTEX_ATTRIB9_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679
-gl_PERFQUERY_SINGLE_CONTEXT_INTEL :: GLenum
-gl_PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000
-gl_FUNC_REVERSE_SUBTRACT :: GLenum
-gl_FUNC_REVERSE_SUBTRACT = 0x800B
-gl_TEXTURE_COMPARE_OPERATOR_SGIX :: GLenum
-gl_TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B
-gl_ATOMIC_COUNTER_BUFFER_START :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_START = 0x92C2
-gl_FRAGMENT_INPUT_NV :: GLenum
-gl_FRAGMENT_INPUT_NV = 0x936D
-gl_MIRRORED_REPEAT :: GLenum
-gl_MIRRORED_REPEAT = 0x8370
-gl_COLOR_ATTACHMENT12_NV :: GLenum
-gl_COLOR_ATTACHMENT12_NV = 0x8CEC
-gl_INT_SAMPLER_3D_EXT :: GLenum
-gl_INT_SAMPLER_3D_EXT = 0x8DCB
-gl_DEPTH_CLAMP_FAR_AMD :: GLenum
-gl_DEPTH_CLAMP_FAR_AMD = 0x901F
-gl_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
-gl_SAMPLE_ALPHA_TO_COVERAGE = 0x809E
-gl_CONSTANT_COLOR0_NV :: GLenum
-gl_CONSTANT_COLOR0_NV = 0x852A
-gl_VIEW_CLASS_32_BITS :: GLenum
-gl_VIEW_CLASS_32_BITS = 0x82C8
-gl_SAMPLE_ALPHA_TO_ONE_EXT :: GLenum
-gl_SAMPLE_ALPHA_TO_ONE_EXT = 0x809F
-gl_FLOAT_MAT2x4_NV :: GLenum
-gl_FLOAT_MAT2x4_NV = 0x8B66
-gl_MAX_SHININESS_NV :: GLenum
-gl_MAX_SHININESS_NV = 0x8504
-gl_RENDERBUFFER_WIDTH_OES :: GLenum
-gl_RENDERBUFFER_WIDTH_OES = 0x8D42
-gl_WAIT_FAILED_APPLE :: GLenum
-gl_WAIT_FAILED_APPLE = 0x911D
-gl_DOUBLE_MAT4x3_EXT :: GLenum
-gl_DOUBLE_MAT4x3_EXT = 0x8F4E
-gl_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT :: GLenum
-gl_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT = 0x886C
-gl_DEPTH_COMPONENT16_NONLINEAR_NV :: GLenum
-gl_DEPTH_COMPONENT16_NONLINEAR_NV = 0x8E2C
-gl_RGBA2 :: GLenum
-gl_RGBA2 = 0x8055
-gl_TRANSFORM_HINT_APPLE :: GLenum
-gl_TRANSFORM_HINT_APPLE = 0x85B1
-gl_PROGRAM :: GLenum
-gl_PROGRAM = 0x82E2
-gl_STATIC_READ :: GLenum
-gl_STATIC_READ = 0x88E5
-gl_SAMPLES_EXT :: GLenum
-gl_SAMPLES_EXT = 0x80A9
-gl_Z4Y12Z4CB12Z4CR12_444_NV :: GLenum
-gl_Z4Y12Z4CB12Z4CR12_444_NV = 0x9037
-gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D
-gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85
-gl_POST_CONVOLUTION_GREEN_BIAS :: GLenum
-gl_POST_CONVOLUTION_GREEN_BIAS = 0x8021
-gl_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM :: GLenum
-gl_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084
-gl_VERTEX_ATTRIB_ARRAY_LONG :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_LONG = 0x874E
-gl_GEQUAL :: GLenum
-gl_GEQUAL = 0x0206
-gl_DRAW_BUFFER2_ATI :: GLenum
-gl_DRAW_BUFFER2_ATI = 0x8827
-gl_MAX_TEXTURE_UNITS :: GLenum
-gl_MAX_TEXTURE_UNITS = 0x84E2
-gl_BUFFER_MAPPED :: GLenum
-gl_BUFFER_MAPPED = 0x88BC
-gl_COMBINER_INPUT_NV :: GLenum
-gl_COMBINER_INPUT_NV = 0x8542
-gl_R8UI :: GLenum
-gl_R8UI = 0x8232
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9
-gl_SIGNED_HILO16_NV :: GLenum
-gl_SIGNED_HILO16_NV = 0x86FA
-gl_BLEND_DST_RGB_OES :: GLenum
-gl_BLEND_DST_RGB_OES = 0x80C8
-gl_CLIPPING_INPUT_PRIMITIVES_ARB :: GLenum
-gl_CLIPPING_INPUT_PRIMITIVES_ARB = 0x82F6
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3
-gl_FONT_Y_MAX_BOUNDS_BIT_NV :: GLenum
-gl_FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000
-gl_DEPTH24_STENCIL8 :: GLenum
-gl_DEPTH24_STENCIL8 = 0x88F0
-gl_TRANSPOSE_COLOR_MATRIX :: GLenum
-gl_TRANSPOSE_COLOR_MATRIX = 0x84E6
-gl_TEXTURE_MAX_LOD :: GLenum
-gl_TEXTURE_MAX_LOD = 0x813B
-gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT :: GLenum
-gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900F
-gl_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD :: GLenum
-gl_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160
-gl_GLOBAL_ALPHA_SUN :: GLenum
-gl_GLOBAL_ALPHA_SUN = 0x81D9
-gl_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C
-gl_MAX_VIEWPORTS_NV :: GLenum
-gl_MAX_VIEWPORTS_NV = 0x825B
-gl_SMALL_CCW_ARC_TO_NV :: GLenum
-gl_SMALL_CCW_ARC_TO_NV = 0x12
-gl_INTERNALFORMAT_ALPHA_TYPE :: GLenum
-gl_INTERNALFORMAT_ALPHA_TYPE = 0x827B
-gl_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI :: GLenum
-gl_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1
-gl_IUI_V3F_EXT :: GLenum
-gl_IUI_V3F_EXT = 0x81AE
-gl_TEXTURE_GREEN_TYPE :: GLenum
-gl_TEXTURE_GREEN_TYPE = 0x8C11
-gl_RGB16I_EXT :: GLenum
-gl_RGB16I_EXT = 0x8D89
-gl_PROGRAM_PARAMETERS_ARB :: GLenum
-gl_PROGRAM_PARAMETERS_ARB = 0x88A8
-gl_BLEND_DST_RGB_EXT :: GLenum
-gl_BLEND_DST_RGB_EXT = 0x80C8
-gl_LIGHT_MODEL_COLOR_CONTROL_EXT :: GLenum
-gl_LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8
-gl_TEXTURE_CROP_RECT_OES :: GLenum
-gl_TEXTURE_CROP_RECT_OES = 0x8B9D
-gl_EVAL_VERTEX_ATTRIB9_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB9_NV = 0x86CF
-gl_BUFFER_ACCESS_ARB :: GLenum
-gl_BUFFER_ACCESS_ARB = 0x88BB
-gl_SAMPLER_2D_RECT :: GLenum
-gl_SAMPLER_2D_RECT = 0x8B63
-gl_NUM_SHADING_LANGUAGE_VERSIONS :: GLenum
-gl_NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9
-gl_TEXTURE_BUFFER_SIZE :: GLenum
-gl_TEXTURE_BUFFER_SIZE = 0x919E
-gl_TEXT_FRAGMENT_SHADER_ATI :: GLenum
-gl_TEXT_FRAGMENT_SHADER_ATI = 0x8200
-gl_ADD_BLEND_IMG :: GLenum
-gl_ADD_BLEND_IMG = 0x8C09
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES = 0x93E7
-gl_MAP1_TEXTURE_COORD_4 :: GLenum
-gl_MAP1_TEXTURE_COORD_4 = 0x0D96
-gl_PIXEL_MAP_S_TO_S_SIZE :: GLenum
-gl_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1
-gl_REG_12_ATI :: GLenum
-gl_REG_12_ATI = 0x892D
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A
-gl_LUMINANCE_ALPHA32F_EXT :: GLenum
-gl_LUMINANCE_ALPHA32F_EXT = 0x8819
-gl_MAX_VERTEX_STREAMS :: GLenum
-gl_MAX_VERTEX_STREAMS = 0x8E71
-gl_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645
-gl_LAYER_PROVOKING_VERTEX :: GLenum
-gl_LAYER_PROVOKING_VERTEX = 0x825E
-gl_INT_VEC2_ARB :: GLenum
-gl_INT_VEC2_ARB = 0x8B53
-gl_COMPUTE_TEXTURE :: GLenum
-gl_COMPUTE_TEXTURE = 0x82A0
-gl_FLOAT_VEC3_ARB :: GLenum
-gl_FLOAT_VEC3_ARB = 0x8B51
-gl_ASYNC_MARKER_SGIX :: GLenum
-gl_ASYNC_MARKER_SGIX = 0x8329
-gl_SAMPLE_MASK :: GLenum
-gl_SAMPLE_MASK = 0x8E51
-gl_VERTEX_ELEMENT_SWIZZLE_AMD :: GLenum
-gl_VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4
-gl_MODELVIEW1_MATRIX_EXT :: GLenum
-gl_MODELVIEW1_MATRIX_EXT = 0x8506
-gl_COMPRESSED_TEXTURE_FORMATS_ARB :: GLenum
-gl_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3
-gl_BLEND_SRC_ALPHA :: GLenum
-gl_BLEND_SRC_ALPHA = 0x80CB
-gl_C4UB_V2F :: GLenum
-gl_C4UB_V2F = 0x2A22
-gl_RASTER_POSITION_UNCLIPPED_IBM :: GLenum
-gl_RASTER_POSITION_UNCLIPPED_IBM = 0x19262
-gl_OP_MADD_EXT :: GLenum
-gl_OP_MADD_EXT = 0x8788
-gl_INDEX_MATERIAL_PARAMETER_EXT :: GLenum
-gl_INDEX_MATERIAL_PARAMETER_EXT = 0x81B9
-gl_COPY_WRITE_BUFFER :: GLenum
-gl_COPY_WRITE_BUFFER = 0x8F37
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA
-gl_SOURCE2_ALPHA_ARB :: GLenum
-gl_SOURCE2_ALPHA_ARB = 0x858A
-gl_BLEND_ADVANCED_COHERENT_NV :: GLenum
-gl_BLEND_ADVANCED_COHERENT_NV = 0x9285
-gl_MINMAX :: GLenum
-gl_MINMAX = 0x802E
-gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81
-gl_SAMPLE_POSITION :: GLenum
-gl_SAMPLE_POSITION = 0x8E50
-gl_IMAGE_2D_ARRAY_EXT :: GLenum
-gl_IMAGE_2D_ARRAY_EXT = 0x9053
-gl_CLIP_DISTANCE0 :: GLenum
-gl_CLIP_DISTANCE0 = 0x3000
-gl_FLOAT_MAT4 :: GLenum
-gl_FLOAT_MAT4 = 0x8B5C
-gl_REG_1_ATI :: GLenum
-gl_REG_1_ATI = 0x8922
-gl_MAP2_VERTEX_ATTRIB4_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674
-gl_FRAGMENT_LIGHT7_SGIX :: GLenum
-gl_FRAGMENT_LIGHT7_SGIX = 0x8413
-gl_INT_SAMPLER_1D_EXT :: GLenum
-gl_INT_SAMPLER_1D_EXT = 0x8DC9
-gl_PIXEL_PACK_BUFFER_BINDING_ARB :: GLenum
-gl_PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED
-gl_SAMPLE_ALPHA_TO_MASK_SGIS :: GLenum
-gl_SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E
-gl_OPERAND1_ALPHA :: GLenum
-gl_OPERAND1_ALPHA = 0x8599
-gl_MAP_WRITE_BIT :: GLenum
-gl_MAP_WRITE_BIT = 0x0002
-gl_QUERY_NO_WAIT_INVERTED :: GLenum
-gl_QUERY_NO_WAIT_INVERTED = 0x8E18
-gl_TEXTURE_BUFFER_FORMAT_EXT :: GLenum
-gl_TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E
-gl_RELATIVE_LARGE_CCW_ARC_TO_NV :: GLenum
-gl_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17
-gl_REG_16_ATI :: GLenum
-gl_REG_16_ATI = 0x8931
-gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
-gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB
-gl_IMAGE_CUBE_MAP_ARRAY :: GLenum
-gl_IMAGE_CUBE_MAP_ARRAY = 0x9054
-gl_PROXY_TEXTURE_1D_STACK_MESAX :: GLenum
-gl_PROXY_TEXTURE_1D_STACK_MESAX = 0x875B
-gl_COLOR_BUFFER_BIT5_QCOM :: GLenum
-gl_COLOR_BUFFER_BIT5_QCOM = 0x00000020
-gl_SHADER_OBJECT_EXT :: GLenum
-gl_SHADER_OBJECT_EXT = 0x8B48
-gl_OUTPUT_TEXTURE_COORD10_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD10_EXT = 0x87A7
-gl_BUFFER_UPDATE_BARRIER_BIT :: GLenum
-gl_BUFFER_UPDATE_BARRIER_BIT = 0x00000200
-gl_POST_CONVOLUTION_ALPHA_BIAS :: GLenum
-gl_POST_CONVOLUTION_ALPHA_BIAS = 0x8023
-gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061
-gl_IMAGE_1D :: GLenum
-gl_IMAGE_1D = 0x904C
-gl_MAX_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_TEXTURE_IMAGE_UNITS = 0x8872
-gl_FRAGMENTS_INSTRUMENT_SGIX :: GLenum
-gl_FRAGMENTS_INSTRUMENT_SGIX = 0x8313
-gl_RED_BIAS :: GLenum
-gl_RED_BIAS = 0x0D15
-gl_RGB10_A2UI :: GLenum
-gl_RGB10_A2UI = 0x906F
-gl_BLEND_EQUATION_ALPHA :: GLenum
-gl_BLEND_EQUATION_ALPHA = 0x883D
-gl_MAP1_VERTEX_ATTRIB7_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667
-gl_FIRST_VERTEX_CONVENTION :: GLenum
-gl_FIRST_VERTEX_CONVENTION = 0x8E4D
-gl_VIEW_CLASS_RGTC2_RG :: GLenum
-gl_VIEW_CLASS_RGTC2_RG = 0x82D1
-gl_SM_COUNT_NV :: GLenum
-gl_SM_COUNT_NV = 0x933B
-gl_TEXTURE_ALPHA_SIZE_EXT :: GLenum
-gl_TEXTURE_ALPHA_SIZE_EXT = 0x805F
-gl_DRAW_BUFFER7 :: GLenum
-gl_DRAW_BUFFER7 = 0x882C
-gl_FUNC_ADD :: GLenum
-gl_FUNC_ADD = 0x8006
-gl_CLIP_DISTANCE1 :: GLenum
-gl_CLIP_DISTANCE1 = 0x3001
-gl_LUMINANCE_ALPHA16F_ARB :: GLenum
-gl_LUMINANCE_ALPHA16F_ARB = 0x881F
-gl_VERTEX_ARRAY :: GLenum
-gl_VERTEX_ARRAY = 0x8074
-gl_TEXTURE_SWIZZLE_R :: GLenum
-gl_TEXTURE_SWIZZLE_R = 0x8E42
-gl_TEXTURE20 :: GLenum
-gl_TEXTURE20 = 0x84D4
-gl_DECODE_EXT :: GLenum
-gl_DECODE_EXT = 0x8A49
-gl_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB :: GLenum
-gl_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E
-gl_MODELVIEW17_ARB :: GLenum
-gl_MODELVIEW17_ARB = 0x8731
-gl_BOOL_VEC4 :: GLenum
-gl_BOOL_VEC4 = 0x8B59
-gl_INTENSITY8UI_EXT :: GLenum
-gl_INTENSITY8UI_EXT = 0x8D7F
-gl_PACK_RESAMPLE_SGIX :: GLenum
-gl_PACK_RESAMPLE_SGIX = 0x842C
-gl_TESS_GEN_MODE_EXT :: GLenum
-gl_TESS_GEN_MODE_EXT = 0x8E76
-gl_LUMINANCE32I_EXT :: GLenum
-gl_LUMINANCE32I_EXT = 0x8D86
-gl_SIGNED_NEGATE_NV :: GLenum
-gl_SIGNED_NEGATE_NV = 0x853D
-gl_UNIFORM_IS_ROW_MAJOR :: GLenum
-gl_UNIFORM_IS_ROW_MAJOR = 0x8A3E
-gl_NO_RESET_NOTIFICATION_EXT :: GLenum
-gl_NO_RESET_NOTIFICATION_EXT = 0x8261
-gl_COLOR_ATTACHMENT15_EXT :: GLenum
-gl_COLOR_ATTACHMENT15_EXT = 0x8CEF
-gl_R1UI_C4UB_V3F_SUN :: GLenum
-gl_R1UI_C4UB_V3F_SUN = 0x85C5
-gl_DOUBLE_VEC2 :: GLenum
-gl_DOUBLE_VEC2 = 0x8FFC
-gl_PER_STAGE_CONSTANTS_NV :: GLenum
-gl_PER_STAGE_CONSTANTS_NV = 0x8535
-gl_RELATIVE_CONIC_CURVE_TO_NV :: GLenum
-gl_RELATIVE_CONIC_CURVE_TO_NV = 0x1B
-gl_BUFFER_SIZE :: GLenum
-gl_BUFFER_SIZE = 0x8764
-gl_MAX_DEBUG_GROUP_STACK_DEPTH_KHR :: GLenum
-gl_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826C
-gl_FLOAT_MAT2x3 :: GLenum
-gl_FLOAT_MAT2x3 = 0x8B65
-gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX :: GLenum
-gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408
-gl_INT_SAMPLER_CUBE_EXT :: GLenum
-gl_INT_SAMPLER_CUBE_EXT = 0x8DCC
-gl_POST_CONVOLUTION_GREEN_SCALE_EXT :: GLenum
-gl_POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D
-gl_SAMPLER_3D :: GLenum
-gl_SAMPLER_3D = 0x8B5F
-gl_INVARIANT_DATATYPE_EXT :: GLenum
-gl_INVARIANT_DATATYPE_EXT = 0x87EB
-gl_NUM_INSTRUCTIONS_PER_PASS_ATI :: GLenum
-gl_NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971
-gl_SRC_COLOR :: GLenum
-gl_SRC_COLOR = 0x0300
-gl_UNKNOWN_CONTEXT_RESET_ARB :: GLenum
-gl_UNKNOWN_CONTEXT_RESET_ARB = 0x8255
-gl_POLYGON_OFFSET_FILL :: GLenum
-gl_POLYGON_OFFSET_FILL = 0x8037
-gl_GEOMETRY_VERTICES_OUT :: GLenum
-gl_GEOMETRY_VERTICES_OUT = 0x8916
-gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C
-gl_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
-gl_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D
-gl_DRAW_BUFFER3_ATI :: GLenum
-gl_DRAW_BUFFER3_ATI = 0x8828
-gl_DRAW_BUFFER9_EXT :: GLenum
-gl_DRAW_BUFFER9_EXT = 0x882E
-gl_TEXTURE_VIEW_NUM_LEVELS_EXT :: GLenum
-gl_TEXTURE_VIEW_NUM_LEVELS_EXT = 0x82DC
-gl_POLYGON_OFFSET_FACTOR :: GLenum
-gl_POLYGON_OFFSET_FACTOR = 0x8038
-gl_CLIENT_ACTIVE_TEXTURE_ARB :: GLenum
-gl_CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1
-gl_MAP_UNSYNCHRONIZED_BIT :: GLenum
-gl_MAP_UNSYNCHRONIZED_BIT = 0x0020
-gl_RG16_SNORM :: GLenum
-gl_RG16_SNORM = 0x8F99
-gl_UNSIGNED_SHORT_8_8_REV_APPLE :: GLenum
-gl_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB
-gl_SAMPLER_KHR :: GLenum
-gl_SAMPLER_KHR = 0x82E6
-gl_EDGE_FLAG_ARRAY_ADDRESS_NV :: GLenum
-gl_EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26
-gl_CLAMP_VERTEX_COLOR_ARB :: GLenum
-gl_CLAMP_VERTEX_COLOR_ARB = 0x891A
-gl_UNSIGNALED :: GLenum
-gl_UNSIGNALED = 0x9118
-gl_SIGNED_RGBA_NV :: GLenum
-gl_SIGNED_RGBA_NV = 0x86FB
-gl_BOOL_VEC3 :: GLenum
-gl_BOOL_VEC3 = 0x8B58
-gl_TEXTURE_CUBE_MAP_OES :: GLenum
-gl_TEXTURE_CUBE_MAP_OES = 0x8513
-gl_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV :: GLenum
-gl_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F
-gl_DOT3_RGB_EXT :: GLenum
-gl_DOT3_RGB_EXT = 0x8740
-gl_R1UI_C3F_V3F_SUN :: GLenum
-gl_R1UI_C3F_V3F_SUN = 0x85C6
-gl_PATH_END_CAPS_NV :: GLenum
-gl_PATH_END_CAPS_NV = 0x9076
-gl_IMAGE_MAG_FILTER_HP :: GLenum
-gl_IMAGE_MAG_FILTER_HP = 0x815C
-gl_SWIZZLE_STR_ATI :: GLenum
-gl_SWIZZLE_STR_ATI = 0x8976
-gl_PIXEL_TEX_GEN_Q_FLOOR_SGIX :: GLenum
-gl_PIXEL_TEX_GEN_Q_FLOOR_SGIX = 0x8186
-gl_TEXTURE_DEPTH_SIZE_ARB :: GLenum
-gl_TEXTURE_DEPTH_SIZE_ARB = 0x884A
-gl_POST_COLOR_MATRIX_ALPHA_BIAS :: GLenum
-gl_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB
-gl_HSL_LUMINOSITY_NV :: GLenum
-gl_HSL_LUMINOSITY_NV = 0x92B0
-gl_INDEX_CLEAR_VALUE :: GLenum
-gl_INDEX_CLEAR_VALUE = 0x0C20
-gl_EXTENSIONS :: GLenum
-gl_EXTENSIONS = 0x1F03
-gl_TRANSLATE_2D_NV :: GLenum
-gl_TRANSLATE_2D_NV = 0x9090
-gl_INT_SAMPLER_CUBE :: GLenum
-gl_INT_SAMPLER_CUBE = 0x8DCC
-gl_INT_SAMPLER_3D :: GLenum
-gl_INT_SAMPLER_3D = 0x8DCB
-gl_COMBINER_SUM_OUTPUT_NV :: GLenum
-gl_COMBINER_SUM_OUTPUT_NV = 0x854C
-gl_NUM_INSTRUCTIONS_TOTAL_ATI :: GLenum
-gl_NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972
-gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85
-gl_COMBINER2_NV :: GLenum
-gl_COMBINER2_NV = 0x8552
-gl_MATRIX6_ARB :: GLenum
-gl_MATRIX6_ARB = 0x88C6
-gl_MAX_CUBE_MAP_TEXTURE_SIZE_EXT :: GLenum
-gl_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C
-gl_DOUBLE_MAT2x4_EXT :: GLenum
-gl_DOUBLE_MAT2x4_EXT = 0x8F4A
-gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES :: GLenum
-gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5C
-gl_VIBRANCE_BIAS_NV :: GLenum
-gl_VIBRANCE_BIAS_NV = 0x8719
-gl_COLOR_ATTACHMENT15_NV :: GLenum
-gl_COLOR_ATTACHMENT15_NV = 0x8CEF
-gl_TEXTURE_DEPTH_SIZE :: GLenum
-gl_TEXTURE_DEPTH_SIZE = 0x884A
-gl_ALLOW_DRAW_FRG_HINT_PGI :: GLenum
-gl_ALLOW_DRAW_FRG_HINT_PGI = 0x1A210
-gl_PATH_CLIENT_LENGTH_NV :: GLenum
-gl_PATH_CLIENT_LENGTH_NV = 0x907F
-gl_UNSIGNED_BYTE_2_3_3_REV :: GLenum
-gl_UNSIGNED_BYTE_2_3_3_REV = 0x8362
-gl_ONE :: GLenum
-gl_ONE = 1
-gl_INTERPOLATE_EXT :: GLenum
-gl_INTERPOLATE_EXT = 0x8575
-gl_BUMP_TARGET_ATI :: GLenum
-gl_BUMP_TARGET_ATI = 0x877C
-gl_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL :: GLenum
-gl_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD
-gl_SIGNED_RGB8_UNSIGNED_ALPHA8_NV :: GLenum
-gl_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D
-gl_DEPENDENT_GB_TEXTURE_2D_NV :: GLenum
-gl_DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA
-gl_GEOMETRY_OUTPUT_TYPE_ARB :: GLenum
-gl_GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC
-gl_SRGB8_EXT :: GLenum
-gl_SRGB8_EXT = 0x8C41
-gl_TEXTURE_3D_OES :: GLenum
-gl_TEXTURE_3D_OES = 0x806F
-gl_DEPTH_COMPONENT32 :: GLenum
-gl_DEPTH_COMPONENT32 = 0x81A7
-gl_TEXTURE23_ARB :: GLenum
-gl_TEXTURE23_ARB = 0x84D7
-gl_STREAM_READ :: GLenum
-gl_STREAM_READ = 0x88E1
-gl_OBJECT_DISTANCE_TO_POINT_SGIS :: GLenum
-gl_OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1
-gl_POINT_SIZE_MIN_SGIS :: GLenum
-gl_POINT_SIZE_MIN_SGIS = 0x8126
-gl_HSL_HUE_NV :: GLenum
-gl_HSL_HUE_NV = 0x92AD
-gl_SIGNED_LUMINANCE_NV :: GLenum
-gl_SIGNED_LUMINANCE_NV = 0x8701
-gl_TRACE_PRIMITIVES_BIT_MESA :: GLenum
-gl_TRACE_PRIMITIVES_BIT_MESA = 0x0002
-gl_COLOR_ALPHA_PAIRING_ATI :: GLenum
-gl_COLOR_ALPHA_PAIRING_ATI = 0x8975
-gl_POINT_SPRITE_R_MODE_NV :: GLenum
-gl_POINT_SPRITE_R_MODE_NV = 0x8863
-gl_PROGRAM_INPUT :: GLenum
-gl_PROGRAM_INPUT = 0x92E3
-gl_UNSIGNED_INT16_NV :: GLenum
-gl_UNSIGNED_INT16_NV = 0x8FF0
-gl_DYNAMIC_ATI :: GLenum
-gl_DYNAMIC_ATI = 0x8761
-gl_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
-gl_REFERENCED_BY_GEOMETRY_SHADER = 0x9309
-gl_FLOAT_MAT3x2_NV :: GLenum
-gl_FLOAT_MAT3x2_NV = 0x8B67
-gl_MINMAX_SINK :: GLenum
-gl_MINMAX_SINK = 0x8030
-gl_MAX_VARYING_FLOATS_ARB :: GLenum
-gl_MAX_VARYING_FLOATS_ARB = 0x8B4B
-gl_DYNAMIC_COPY_ARB :: GLenum
-gl_DYNAMIC_COPY_ARB = 0x88EA
-gl_WEIGHT_ARRAY_STRIDE_OES :: GLenum
-gl_WEIGHT_ARRAY_STRIDE_OES = 0x86AA
-gl_FRAMEBUFFER_COMPLETE_EXT :: GLenum
-gl_FRAMEBUFFER_COMPLETE_EXT = 0x8CD5
-gl_MAD_ATI :: GLenum
-gl_MAD_ATI = 0x8968
-gl_TEXTURE_1D :: GLenum
-gl_TEXTURE_1D = 0x0DE0
-gl_FILL :: GLenum
-gl_FILL = 0x1B02
-gl_TEXTURE_BINDING_RECTANGLE_NV :: GLenum
-gl_TEXTURE_BINDING_RECTANGLE_NV = 0x84F6
-gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
-gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9061
-gl_DSDT_NV :: GLenum
-gl_DSDT_NV = 0x86F5
-gl_INT_10_10_10_2_OES :: GLenum
-gl_INT_10_10_10_2_OES = 0x8DF7
-gl_CLIP_PLANE4_IMG :: GLenum
-gl_CLIP_PLANE4_IMG = 0x3004
-gl_FLAT :: GLenum
-gl_FLAT = 0x1D00
-gl_PROGRAM_PIPELINE_BINDING :: GLenum
-gl_PROGRAM_PIPELINE_BINDING = 0x825A
-gl_PROGRAM_SEPARABLE :: GLenum
-gl_PROGRAM_SEPARABLE = 0x8258
-gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV :: GLenum
-gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5E
-gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB :: GLenum
-gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A
-gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
-gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9
-gl_CONSERVE_MEMORY_HINT_PGI :: GLenum
-gl_CONSERVE_MEMORY_HINT_PGI = 0x1A1FD
-gl_TEXTURE_GEN_MODE :: GLenum
-gl_TEXTURE_GEN_MODE = 0x2500
-gl_SAMPLER_2D_SHADOW_EXT :: GLenum
-gl_SAMPLER_2D_SHADOW_EXT = 0x8B62
-gl_BUFFER_ACCESS :: GLenum
-gl_BUFFER_ACCESS = 0x88BB
-gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
-gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A
-gl_MAX_CLIP_PLANES :: GLenum
-gl_MAX_CLIP_PLANES = 0x0D32
-gl_TEXTURE_DEFORMATION_SGIX :: GLenum
-gl_TEXTURE_DEFORMATION_SGIX = 0x8195
-gl_POST_COLOR_MATRIX_ALPHA_SCALE_SGI :: GLenum
-gl_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7
-gl_QUERY_BY_REGION_WAIT :: GLenum
-gl_QUERY_BY_REGION_WAIT = 0x8E15
-gl_LINE_STIPPLE_REPEAT :: GLenum
-gl_LINE_STIPPLE_REPEAT = 0x0B26
-gl_UNSIGNED_BYTE_2_3_3_REV_EXT :: GLenum
-gl_UNSIGNED_BYTE_2_3_3_REV_EXT = 0x8362
-gl_BLEND_EQUATION_EXT :: GLenum
-gl_BLEND_EQUATION_EXT = 0x8009
-gl_SMOOTH_POINT_SIZE_RANGE :: GLenum
-gl_SMOOTH_POINT_SIZE_RANGE = 0x0B12
-gl_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
-gl_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83
-gl_INDEX_ARRAY_LIST_STRIDE_IBM :: GLenum
-gl_INDEX_ARRAY_LIST_STRIDE_IBM = 103083
-gl_TEXTURE_BINDING_RECTANGLE :: GLenum
-gl_TEXTURE_BINDING_RECTANGLE = 0x84F6
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4
-gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
-gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA
-gl_DOUBLE_MAT3 :: GLenum
-gl_DOUBLE_MAT3 = 0x8F47
-gl_TEXTURE_VIEW_MIN_LAYER :: GLenum
-gl_TEXTURE_VIEW_MIN_LAYER = 0x82DD
-gl_BUFFER_ACCESS_FLAGS :: GLenum
-gl_BUFFER_ACCESS_FLAGS = 0x911F
-gl_LUMINANCE12_EXT :: GLenum
-gl_LUMINANCE12_EXT = 0x8041
-gl_MAX_SUBROUTINES :: GLenum
-gl_MAX_SUBROUTINES = 0x8DE7
-gl_DEBUG_CATEGORY_SHADER_COMPILER_AMD :: GLenum
-gl_DEBUG_CATEGORY_SHADER_COMPILER_AMD = 0x914E
-gl_DRAW_BUFFER5_EXT :: GLenum
-gl_DRAW_BUFFER5_EXT = 0x882A
-gl_MAP_ATTRIB_V_ORDER_NV :: GLenum
-gl_MAP_ATTRIB_V_ORDER_NV = 0x86C4
-gl_COMPRESSED_RG11_EAC :: GLenum
-gl_COMPRESSED_RG11_EAC = 0x9272
-gl_SURFACE_STATE_NV :: GLenum
-gl_SURFACE_STATE_NV = 0x86EB
-gl_DEBUG_TYPE_OTHER_KHR :: GLenum
-gl_DEBUG_TYPE_OTHER_KHR = 0x8251
-gl_PATH_FILL_MODE_NV :: GLenum
-gl_PATH_FILL_MODE_NV = 0x9080
-gl_MAX_NUM_COMPATIBLE_SUBROUTINES :: GLenum
-gl_MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8
-gl_TEXTURE29_ARB :: GLenum
-gl_TEXTURE29_ARB = 0x84DD
-gl_TEXTURE_COORD_NV :: GLenum
-gl_TEXTURE_COORD_NV = 0x8C79
-gl_TEXTURE_SHARED_SIZE_EXT :: GLenum
-gl_TEXTURE_SHARED_SIZE_EXT = 0x8C3F
-gl_SUB_ATI :: GLenum
-gl_SUB_ATI = 0x8965
-gl_OFFSET_TEXTURE_BIAS_NV :: GLenum
-gl_OFFSET_TEXTURE_BIAS_NV = 0x86E3
-gl_PATH_FORMAT_SVG_NV :: GLenum
-gl_PATH_FORMAT_SVG_NV = 0x9070
-gl_INT_IMAGE_BUFFER_EXT :: GLenum
-gl_INT_IMAGE_BUFFER_EXT = 0x905C
-gl_TEXTURE_FLOAT_COMPONENTS_NV :: GLenum
-gl_TEXTURE_FLOAT_COMPONENTS_NV = 0x888C
-gl_MAX_TEXTURE_UNITS_ARB :: GLenum
-gl_MAX_TEXTURE_UNITS_ARB = 0x84E2
-gl_OP_RECIP_EXT :: GLenum
-gl_OP_RECIP_EXT = 0x8794
-gl_RELATIVE_ROUNDED_RECT2_NV :: GLenum
-gl_RELATIVE_ROUNDED_RECT2_NV = 0xEB
-gl_DOT3_RGBA_IMG :: GLenum
-gl_DOT3_RGBA_IMG = 0x86AF
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB
-gl_SMOOTH_CUBIC_CURVE_TO_NV :: GLenum
-gl_SMOOTH_CUBIC_CURVE_TO_NV = 0x10
-gl_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517
-gl_INTENSITY8 :: GLenum
-gl_INTENSITY8 = 0x804B
-gl_VIEW_CLASS_128_BITS :: GLenum
-gl_VIEW_CLASS_128_BITS = 0x82C4
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80
-gl_READ_FRAMEBUFFER_BINDING_EXT :: GLenum
-gl_READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA
-gl_ELEMENT_ARRAY_ATI :: GLenum
-gl_ELEMENT_ARRAY_ATI = 0x8768
-gl_POINT_SIZE_GRANULARITY :: GLenum
-gl_POINT_SIZE_GRANULARITY = 0x0B13
-gl_EDGE_FLAG_ARRAY_LENGTH_NV :: GLenum
-gl_EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30
-gl_MULTISAMPLE_BIT_ARB :: GLenum
-gl_MULTISAMPLE_BIT_ARB = 0x20000000
-gl_POST_COLOR_MATRIX_GREEN_BIAS :: GLenum
-gl_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9
-gl_CONTEXT_ROBUST_ACCESS_EXT :: GLenum
-gl_CONTEXT_ROBUST_ACCESS_EXT = 0x90F3
-gl_VARIANT_ARRAY_STRIDE_EXT :: GLenum
-gl_VARIANT_ARRAY_STRIDE_EXT = 0x87E6
-gl_LUMINANCE16_ALPHA16_SNORM :: GLenum
-gl_LUMINANCE16_ALPHA16_SNORM = 0x901A
-gl_UNSIGNED_INT_5_9_9_9_REV_EXT :: GLenum
-gl_UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E
-gl_COLOR_SUM_EXT :: GLenum
-gl_COLOR_SUM_EXT = 0x8458
-gl_TEXTURE_ALPHA_TYPE_ARB :: GLenum
-gl_TEXTURE_ALPHA_TYPE_ARB = 0x8C13
-gl_TEXTURE_INTENSITY_SIZE_EXT :: GLenum
-gl_TEXTURE_INTENSITY_SIZE_EXT = 0x8061
-gl_CONTEXT_FLAG_DEBUG_BIT_KHR :: GLenum
-gl_CONTEXT_FLAG_DEBUG_BIT_KHR = 0x00000002
-gl_PATH_GEN_COLOR_FORMAT_NV :: GLenum
-gl_PATH_GEN_COLOR_FORMAT_NV = 0x90B2
-gl_COLOR_ATTACHMENT13_NV :: GLenum
-gl_COLOR_ATTACHMENT13_NV = 0x8CED
-gl_VERTEX_PROGRAM_POINT_SIZE_NV :: GLenum
-gl_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642
-gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1
-gl_COLOR_ATTACHMENT15 :: GLenum
-gl_COLOR_ATTACHMENT15 = 0x8CEF
-gl_V2F :: GLenum
-gl_V2F = 0x2A20
-gl_SAMPLER_CUBE_MAP_ARRAY :: GLenum
-gl_SAMPLER_CUBE_MAP_ARRAY = 0x900C
-gl_TRACE_MASK_MESA :: GLenum
-gl_TRACE_MASK_MESA = 0x8755
-gl_CLIP_DISTANCE2_APPLE :: GLenum
-gl_CLIP_DISTANCE2_APPLE = 0x3002
-gl_VERTEX_BINDING_DIVISOR :: GLenum
-gl_VERTEX_BINDING_DIVISOR = 0x82D6
-gl_CON_9_ATI :: GLenum
-gl_CON_9_ATI = 0x894A
-gl_FACTOR_MIN_AMD :: GLenum
-gl_FACTOR_MIN_AMD = 0x901C
-gl_COLOR_ATTACHMENT11 :: GLenum
-gl_COLOR_ATTACHMENT11 = 0x8CEB
-gl_DRAW_BUFFER11_EXT :: GLenum
-gl_DRAW_BUFFER11_EXT = 0x8830
-gl_TEXTURE_NORMAL_EXT :: GLenum
-gl_TEXTURE_NORMAL_EXT = 0x85AF
-gl_R16F_EXT :: GLenum
-gl_R16F_EXT = 0x822D
-gl_RENDERBUFFER_HEIGHT_EXT :: GLenum
-gl_RENDERBUFFER_HEIGHT_EXT = 0x8D43
-gl_MINUS_NV :: GLenum
-gl_MINUS_NV = 0x929F
-gl_UNPACK_IMAGE_HEIGHT :: GLenum
-gl_UNPACK_IMAGE_HEIGHT = 0x806E
-gl_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
-gl_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43
-gl_CONIC_CURVE_TO_NV :: GLenum
-gl_CONIC_CURVE_TO_NV = 0x1A
-gl_TEXTURE_VIEW_NUM_LAYERS :: GLenum
-gl_TEXTURE_VIEW_NUM_LAYERS = 0x82DE
-gl_SAMPLE_SHADING_ARB :: GLenum
-gl_SAMPLE_SHADING_ARB = 0x8C36
-gl_HALF_FLOAT_OES :: GLenum
-gl_HALF_FLOAT_OES = 0x8D61
-gl_LOCATION_INDEX :: GLenum
-gl_LOCATION_INDEX = 0x930F
-gl_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
-gl_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1
-gl_DOUBLE_MAT2x3 :: GLenum
-gl_DOUBLE_MAT2x3 = 0x8F49
-gl_READ_PIXEL_DATA_RANGE_POINTER_NV :: GLenum
-gl_READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D
-gl_DST_ATOP_NV :: GLenum
-gl_DST_ATOP_NV = 0x928F
-gl_FENCE_APPLE :: GLenum
-gl_FENCE_APPLE = 0x8A0B
-gl_RGBA8_OES :: GLenum
-gl_RGBA8_OES = 0x8058
-gl_CURRENT_PROGRAM :: GLenum
-gl_CURRENT_PROGRAM = 0x8B8D
-gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV :: GLenum
-gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856
-gl_ALIASED_LINE_WIDTH_RANGE :: GLenum
-gl_ALIASED_LINE_WIDTH_RANGE = 0x846E
-gl_NORMAL_ARRAY_POINTER :: GLenum
-gl_NORMAL_ARRAY_POINTER = 0x808F
-gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215
-gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB :: GLenum
-gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810
-gl_FUNC_SUBTRACT_EXT :: GLenum
-gl_FUNC_SUBTRACT_EXT = 0x800A
-gl_OCCLUSION_TEST_RESULT_HP :: GLenum
-gl_OCCLUSION_TEST_RESULT_HP = 0x8166
-gl_PACK_SWAP_BYTES :: GLenum
-gl_PACK_SWAP_BYTES = 0x0D00
-gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT :: GLenum
-gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF
-gl_RESET_NOTIFICATION_STRATEGY_EXT :: GLenum
-gl_RESET_NOTIFICATION_STRATEGY_EXT = 0x8256
-gl_FLOAT_VEC2_ARB :: GLenum
-gl_FLOAT_VEC2_ARB = 0x8B50
-gl_POST_COLOR_MATRIX_COLOR_TABLE_SGI :: GLenum
-gl_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4
-gl_MAX_VERTEX_VARYING_COMPONENTS_EXT :: GLenum
-gl_MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE
-gl_VIRTUAL_PAGE_SIZE_Z_AMD :: GLenum
-gl_VIRTUAL_PAGE_SIZE_Z_AMD = 0x9197
-gl_STENCIL_INDEX1 :: GLenum
-gl_STENCIL_INDEX1 = 0x8D46
-gl_UNSIGNED_INT_IMAGE_1D :: GLenum
-gl_UNSIGNED_INT_IMAGE_1D = 0x9062
-gl_DRAW_BUFFER12 :: GLenum
-gl_DRAW_BUFFER12 = 0x8831
-gl_BUMP_ROT_MATRIX_ATI :: GLenum
-gl_BUMP_ROT_MATRIX_ATI = 0x8775
-gl_DEBUG_OUTPUT :: GLenum
-gl_DEBUG_OUTPUT = 0x92E0
-gl_COLOR_ARRAY_LIST_STRIDE_IBM :: GLenum
-gl_COLOR_ARRAY_LIST_STRIDE_IBM = 103082
-gl_FOG_COORD_ARRAY_TYPE :: GLenum
-gl_FOG_COORD_ARRAY_TYPE = 0x8454
-gl_ONE_MINUS_SRC_COLOR :: GLenum
-gl_ONE_MINUS_SRC_COLOR = 0x0301
-gl_QUERY_OBJECT_AMD :: GLenum
-gl_QUERY_OBJECT_AMD = 0x9153
-gl_MATRIX_MODE :: GLenum
-gl_MATRIX_MODE = 0x0BA0
-gl_TEXTURE_COMPRESSION_HINT_ARB :: GLenum
-gl_TEXTURE_COMPRESSION_HINT_ARB = 0x84EF
-gl_TEXTURE_IMAGE_FORMAT :: GLenum
-gl_TEXTURE_IMAGE_FORMAT = 0x828F
-gl_CONSTANT :: GLenum
-gl_CONSTANT = 0x8576
-gl_CLIENT_ALL_ATTRIB_BITS :: GLenum
-gl_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF
-gl_READ_PIXELS_TYPE :: GLenum
-gl_READ_PIXELS_TYPE = 0x828E
-gl_MODELVIEW9_ARB :: GLenum
-gl_MODELVIEW9_ARB = 0x8729
-gl_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
-gl_PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B
-gl_TEXTURE_RED_SIZE_EXT :: GLenum
-gl_TEXTURE_RED_SIZE_EXT = 0x805C
-gl_NO_RESET_NOTIFICATION_KHR :: GLenum
-gl_NO_RESET_NOTIFICATION_KHR = 0x8261
-gl_RGB_FLOAT16_APPLE :: GLenum
-gl_RGB_FLOAT16_APPLE = 0x881B
-gl_DRAW_BUFFER4 :: GLenum
-gl_DRAW_BUFFER4 = 0x8829
-gl_CUBIC_EXT :: GLenum
-gl_CUBIC_EXT = 0x8334
-gl_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
-gl_INT_SAMPLER_2D_MULTISAMPLE = 0x9109
-gl_ALPHA_INTEGER :: GLenum
-gl_ALPHA_INTEGER = 0x8D97
-gl_SIGNALED :: GLenum
-gl_SIGNALED = 0x9119
-gl_UNSIGNED_SHORT_4_4_4_4_EXT :: GLenum
-gl_UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033
-gl_PALETTE8_R5_G6_B5_OES :: GLenum
-gl_PALETTE8_R5_G6_B5_OES = 0x8B97
-gl_EDGE_FLAG_ARRAY_COUNT_EXT :: GLenum
-gl_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D
-gl_OPERAND3_ALPHA_NV :: GLenum
-gl_OPERAND3_ALPHA_NV = 0x859B
-gl_COMPRESSED_RGBA8_ETC2_EAC_OES :: GLenum
-gl_COMPRESSED_RGBA8_ETC2_EAC_OES = 0x9278
-gl_422_REV_AVERAGE_EXT :: GLenum
-gl_422_REV_AVERAGE_EXT = 0x80CF
-gl_INTERNALFORMAT_RED_TYPE :: GLenum
-gl_INTERNALFORMAT_RED_TYPE = 0x8278
-gl_RGB_SCALE :: GLenum
-gl_RGB_SCALE = 0x8573
-gl_TRANSFORM_FEEDBACK_PAUSED :: GLenum
-gl_TRANSFORM_FEEDBACK_PAUSED = 0x8E23
-gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
-gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E
-gl_PROXY_TEXTURE_RECTANGLE :: GLenum
-gl_PROXY_TEXTURE_RECTANGLE = 0x84F7
-gl_VERTEX_PROGRAM_CALLBACK_MESA :: GLenum
-gl_VERTEX_PROGRAM_CALLBACK_MESA = 0x8BB5
-gl_LUMINANCE_ALPHA_FLOAT16_APPLE :: GLenum
-gl_LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F
-gl_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD
-gl_MAX_VIEWPORT_DIMS :: GLenum
-gl_MAX_VIEWPORT_DIMS = 0x0D3A
-gl_MAX_RECTANGLE_TEXTURE_SIZE_NV :: GLenum
-gl_MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8
-gl_REFERENCE_PLANE_EQUATION_SGIX :: GLenum
-gl_REFERENCE_PLANE_EQUATION_SGIX = 0x817E
-gl_DEBUG_SEVERITY_LOW_ARB :: GLenum
-gl_DEBUG_SEVERITY_LOW_ARB = 0x9148
-gl_MEDIUM_INT :: GLenum
-gl_MEDIUM_INT = 0x8DF4
-gl_SRC_ATOP_NV :: GLenum
-gl_SRC_ATOP_NV = 0x928E
-gl_TEXTURE19_ARB :: GLenum
-gl_TEXTURE19_ARB = 0x84D3
-gl_RGBA4_OES :: GLenum
-gl_RGBA4_OES = 0x8056
-gl_SRC2_ALPHA :: GLenum
-gl_SRC2_ALPHA = 0x858A
-gl_TEXTURE_ENV :: GLenum
-gl_TEXTURE_ENV = 0x2300
-gl_ACTIVE_TEXTURE :: GLenum
-gl_ACTIVE_TEXTURE = 0x84E0
-gl_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM :: GLenum
-gl_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086
-gl_INT_VEC4 :: GLenum
-gl_INT_VEC4 = 0x8B55
-gl_EVAL_2D_NV :: GLenum
-gl_EVAL_2D_NV = 0x86C0
-gl_OBJECT_DELETE_STATUS_ARB :: GLenum
-gl_OBJECT_DELETE_STATUS_ARB = 0x8B80
-gl_PROGRAM_FORMAT_ARB :: GLenum
-gl_PROGRAM_FORMAT_ARB = 0x8876
-gl_MAX_PROGRAM_TEXEL_OFFSET_NV :: GLenum
-gl_MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905
-gl_UNSIGNED_SHORT_4_4_4_4_REV_EXT :: GLenum
-gl_UNSIGNED_SHORT_4_4_4_4_REV_EXT = 0x8365
-gl_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES :: GLenum
-gl_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898F
-gl_INDEX_ARRAY_COUNT_EXT :: GLenum
-gl_INDEX_ARRAY_COUNT_EXT = 0x8087
-gl_ELEMENT_ARRAY_BARRIER_BIT :: GLenum
-gl_ELEMENT_ARRAY_BARRIER_BIT = 0x00000002
-gl_MULTISAMPLE_3DFX :: GLenum
-gl_MULTISAMPLE_3DFX = 0x86B2
-gl_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM :: GLenum
-gl_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087
-gl_CONTEXT_FLAGS :: GLenum
-gl_CONTEXT_FLAGS = 0x821E
-gl_PERFMON_RESULT_AMD :: GLenum
-gl_PERFMON_RESULT_AMD = 0x8BC6
-gl_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
-gl_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F
-gl_TEXTURE_2D_STACK_MESAX :: GLenum
-gl_TEXTURE_2D_STACK_MESAX = 0x875A
-gl_TRUE :: GLenum
-gl_TRUE = 1
-gl_PIXEL_TILE_GRID_HEIGHT_SGIX :: GLenum
-gl_PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143
-gl_LINEAR_ATTENUATION :: GLenum
-gl_LINEAR_ATTENUATION = 0x1208
-gl_LUMINANCE_ALPHA16I_EXT :: GLenum
-gl_LUMINANCE_ALPHA16I_EXT = 0x8D8D
-gl_ALWAYS_SOFT_HINT_PGI :: GLenum
-gl_ALWAYS_SOFT_HINT_PGI = 0x1A20D
-gl_TEXTURE_BINDING_3D_OES :: GLenum
-gl_TEXTURE_BINDING_3D_OES = 0x806A
-gl_INT_IMAGE_2D_RECT :: GLenum
-gl_INT_IMAGE_2D_RECT = 0x905A
-gl_COMBINER5_NV :: GLenum
-gl_COMBINER5_NV = 0x8555
-gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB :: GLenum
-gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E
-gl_INTERNALFORMAT_BLUE_TYPE :: GLenum
-gl_INTERNALFORMAT_BLUE_TYPE = 0x827A
-gl_TEXTURE_WRAP_R_OES :: GLenum
-gl_TEXTURE_WRAP_R_OES = 0x8072
-gl_LO_BIAS_NV :: GLenum
-gl_LO_BIAS_NV = 0x8715
-gl_RESET_NOTIFICATION_STRATEGY_ARB :: GLenum
-gl_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256
-gl_TEXTURE_MIN_FILTER :: GLenum
-gl_TEXTURE_MIN_FILTER = 0x2801
-gl_DRAW_BUFFER1_NV :: GLenum
-gl_DRAW_BUFFER1_NV = 0x8826
-gl_MAX_GEOMETRY_OUTPUT_VERTICES_EXT :: GLenum
-gl_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0
-gl_LUMINANCE_ALPHA32F_ARB :: GLenum
-gl_LUMINANCE_ALPHA32F_ARB = 0x8819
-gl_SAMPLER_EXTERNAL_OES :: GLenum
-gl_SAMPLER_EXTERNAL_OES = 0x8D66
-gl_MAX_FRAMEBUFFER_LAYERS :: GLenum
-gl_MAX_FRAMEBUFFER_LAYERS = 0x9317
-gl_OP_MOV_EXT :: GLenum
-gl_OP_MOV_EXT = 0x8799
-gl_CONVOLUTION_BORDER_MODE :: GLenum
-gl_CONVOLUTION_BORDER_MODE = 0x8013
-gl_SOFTLIGHT_KHR :: GLenum
-gl_SOFTLIGHT_KHR = 0x929C
-gl_MAX_SERVER_WAIT_TIMEOUT_APPLE :: GLenum
-gl_MAX_SERVER_WAIT_TIMEOUT_APPLE = 0x9111
-gl_RGB_FLOAT32_APPLE :: GLenum
-gl_RGB_FLOAT32_APPLE = 0x8815
-gl_WRAP_BORDER_SUN :: GLenum
-gl_WRAP_BORDER_SUN = 0x81D4
-gl_INTERLACE_READ_OML :: GLenum
-gl_INTERLACE_READ_OML = 0x8981
-gl_LINES_ADJACENCY_ARB :: GLenum
-gl_LINES_ADJACENCY_ARB = 0x000A
-gl_CURRENT_WEIGHT_ARB :: GLenum
-gl_CURRENT_WEIGHT_ARB = 0x86A8
-gl_TEXTURE_MAG_SIZE_NV :: GLenum
-gl_TEXTURE_MAG_SIZE_NV = 0x871F
-gl_TEXTURE_SHADER_NV :: GLenum
-gl_TEXTURE_SHADER_NV = 0x86DE
-gl_CON_5_ATI :: GLenum
-gl_CON_5_ATI = 0x8946
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT :: GLenum
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CD
-gl_TEXTURE_UPDATE_BARRIER_BIT :: GLenum
-gl_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100
-gl_INDEX_ARRAY_TYPE_EXT :: GLenum
-gl_INDEX_ARRAY_TYPE_EXT = 0x8085
-gl_HARDLIGHT_NV :: GLenum
-gl_HARDLIGHT_NV = 0x929B
-gl_GLYPH_HEIGHT_BIT_NV :: GLenum
-gl_GLYPH_HEIGHT_BIT_NV = 0x02
-gl_PALETTE4_RGB8_OES :: GLenum
-gl_PALETTE4_RGB8_OES = 0x8B90
-gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24
-gl_TABLE_TOO_LARGE_EXT :: GLenum
-gl_TABLE_TOO_LARGE_EXT = 0x8031
-gl_COMPRESSED_RED_RGTC1_EXT :: GLenum
-gl_COMPRESSED_RED_RGTC1_EXT = 0x8DBB
-gl_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLenum
-gl_SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020
-gl_HALF_BIT_ATI :: GLenum
-gl_HALF_BIT_ATI = 0x00000008
-gl_STENCIL_TAG_BITS_EXT :: GLenum
-gl_STENCIL_TAG_BITS_EXT = 0x88F2
-gl_VERTEX_WEIGHT_ARRAY_STRIDE_EXT :: GLenum
-gl_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F
-gl_NEGATIVE_ONE_EXT :: GLenum
-gl_NEGATIVE_ONE_EXT = 0x87DF
-gl_GEOMETRY_PROGRAM_NV :: GLenum
-gl_GEOMETRY_PROGRAM_NV = 0x8C26
-gl_VERTEX_STREAM6_ATI :: GLenum
-gl_VERTEX_STREAM6_ATI = 0x8772
-gl_READ_FRAMEBUFFER_NV :: GLenum
-gl_READ_FRAMEBUFFER_NV = 0x8CA8
-gl_COLORBURN_KHR :: GLenum
-gl_COLORBURN_KHR = 0x929A
-gl_T :: GLenum
-gl_T = 0x2001
-gl_MATRIX11_ARB :: GLenum
-gl_MATRIX11_ARB = 0x88CB
-gl_DRAW_FRAMEBUFFER_EXT :: GLenum
-gl_DRAW_FRAMEBUFFER_EXT = 0x8CA9
-gl_FRAGMENT_SHADER_ARB :: GLenum
-gl_FRAGMENT_SHADER_ARB = 0x8B30
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8
-gl_RENDERBUFFER_OES :: GLenum
-gl_RENDERBUFFER_OES = 0x8D41
-gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT :: GLenum
-gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C
-gl_COMPRESSED_RGBA_ASTC_12x10_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC
-gl_INDEX_ARRAY_POINTER :: GLenum
-gl_INDEX_ARRAY_POINTER = 0x8091
-gl_TEXTURE_SWIZZLE_G :: GLenum
-gl_TEXTURE_SWIZZLE_G = 0x8E43
-gl_PROGRAM_MATRIX_STACK_DEPTH_EXT :: GLenum
-gl_PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F
-gl_COLOR_ATTACHMENT4 :: GLenum
-gl_COLOR_ATTACHMENT4 = 0x8CE4
-gl_DOUBLE_MAT3x2_EXT :: GLenum
-gl_DOUBLE_MAT3x2_EXT = 0x8F4B
-gl_ATTRIB_ARRAY_SIZE_NV :: GLenum
-gl_ATTRIB_ARRAY_SIZE_NV = 0x8623
-gl_TEXTURE15_ARB :: GLenum
-gl_TEXTURE15_ARB = 0x84CF
-gl_COLORDODGE_KHR :: GLenum
-gl_COLORDODGE_KHR = 0x9299
-gl_SOURCE1_RGB :: GLenum
-gl_SOURCE1_RGB = 0x8581
-gl_INTENSITY8I_EXT :: GLenum
-gl_INTENSITY8I_EXT = 0x8D91
-gl_CURRENT_VERTEX_WEIGHT_EXT :: GLenum
-gl_CURRENT_VERTEX_WEIGHT_EXT = 0x850B
-gl_STENCIL_RENDERABLE :: GLenum
-gl_STENCIL_RENDERABLE = 0x8288
-gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB :: GLenum
-gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87
-gl_POST_CONVOLUTION_BLUE_BIAS_EXT :: GLenum
-gl_POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022
-gl_UNIFORM_BUFFER_LENGTH_NV :: GLenum
-gl_UNIFORM_BUFFER_LENGTH_NV = 0x9370
-gl_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES :: GLenum
-gl_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898D
-gl_RG16 :: GLenum
-gl_RG16 = 0x822C
-gl_DOT_PRODUCT_PASS_THROUGH_NV :: GLenum
-gl_DOT_PRODUCT_PASS_THROUGH_NV = 0x885B
-gl_WEIGHT_ARRAY_SIZE_OES :: GLenum
-gl_WEIGHT_ARRAY_SIZE_OES = 0x86AB
-gl_VERTEX_ARRAY_POINTER_EXT :: GLenum
-gl_VERTEX_ARRAY_POINTER_EXT = 0x808E
-gl_COLOR_SUM_ARB :: GLenum
-gl_COLOR_SUM_ARB = 0x8458
-gl_PROGRAM_ADDRESS_REGISTERS_ARB :: GLenum
-gl_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0
-gl_TEXTURE20_ARB :: GLenum
-gl_TEXTURE20_ARB = 0x84D4
-gl_MAP_INVALIDATE_BUFFER_BIT :: GLenum
-gl_MAP_INVALIDATE_BUFFER_BIT = 0x0008
-gl_DRAW_BUFFER14_ATI :: GLenum
-gl_DRAW_BUFFER14_ATI = 0x8833
-gl_DOT3_RGBA :: GLenum
-gl_DOT3_RGBA = 0x86AF
-gl_COORD_REPLACE_NV :: GLenum
-gl_COORD_REPLACE_NV = 0x8862
-gl_DECR_WRAP_EXT :: GLenum
-gl_DECR_WRAP_EXT = 0x8508
-gl_MAX_LAYERS :: GLenum
-gl_MAX_LAYERS = 0x8281
-gl_SPRITE_MODE_SGIX :: GLenum
-gl_SPRITE_MODE_SGIX = 0x8149
-gl_INTENSITY :: GLenum
-gl_INTENSITY = 0x8049
-gl_RGBA32UI_EXT :: GLenum
-gl_RGBA32UI_EXT = 0x8D70
-gl_LUMINANCE12_ALPHA12_EXT :: GLenum
-gl_LUMINANCE12_ALPHA12_EXT = 0x8047
-gl_MULTISAMPLE_BUFFER_BIT3_QCOM :: GLenum
-gl_MULTISAMPLE_BUFFER_BIT3_QCOM = 0x08000000
-gl_PERFQUERY_COUNTER_TIMESTAMP_INTEL :: GLenum
-gl_PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5
-gl_INTERNALFORMAT_SUPPORTED :: GLenum
-gl_INTERNALFORMAT_SUPPORTED = 0x826F
-gl_COMPRESSED_RGB_PVRTC_4BPPV1_IMG :: GLenum
-gl_COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00
-gl_DEBUG_CALLBACK_FUNCTION_KHR :: GLenum
-gl_DEBUG_CALLBACK_FUNCTION_KHR = 0x8244
-gl_SCALE_BY_TWO_NV :: GLenum
-gl_SCALE_BY_TWO_NV = 0x853E
-gl_DECR_WRAP_OES :: GLenum
-gl_DECR_WRAP_OES = 0x8508
-gl_RASTERIZER_DISCARD :: GLenum
-gl_RASTERIZER_DISCARD = 0x8C89
-gl_UNSIGNED_INT_SAMPLER_2D :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D = 0x8DD2
-gl_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
-gl_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF
-gl_MODELVIEW16_ARB :: GLenum
-gl_MODELVIEW16_ARB = 0x8730
-gl_MAP2_VERTEX_4 :: GLenum
-gl_MAP2_VERTEX_4 = 0x0DB8
-gl_AVERAGE_EXT :: GLenum
-gl_AVERAGE_EXT = 0x8335
-gl_LUMINANCE_ALPHA_FLOAT32_APPLE :: GLenum
-gl_LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819
-gl_TEXTURE_BLUE_TYPE :: GLenum
-gl_TEXTURE_BLUE_TYPE = 0x8C12
-gl_MAP1_VERTEX_ATTRIB14_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E
-gl_SAMPLE_ALPHA_TO_COVERAGE_ARB :: GLenum
-gl_SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E
-gl_QUERY_RESULT :: GLenum
-gl_QUERY_RESULT = 0x8866
-gl_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9
-gl_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT :: GLenum
-gl_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT = 0x8A54
-gl_SLUMINANCE_ALPHA_NV :: GLenum
-gl_SLUMINANCE_ALPHA_NV = 0x8C44
-gl_TEXTURE_2D_BINDING_EXT :: GLenum
-gl_TEXTURE_2D_BINDING_EXT = 0x8069
-gl_MULTISAMPLE_BIT_3DFX :: GLenum
-gl_MULTISAMPLE_BIT_3DFX = 0x20000000
-gl_PATH_COMMAND_COUNT_NV :: GLenum
-gl_PATH_COMMAND_COUNT_NV = 0x909D
-gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF
-gl_MULTISAMPLE_ARB :: GLenum
-gl_MULTISAMPLE_ARB = 0x809D
-gl_FRAMEBUFFER_DEFAULT_LAYERS_EXT :: GLenum
-gl_FRAMEBUFFER_DEFAULT_LAYERS_EXT = 0x9312
-gl_PALETTE4_R5_G6_B5_OES :: GLenum
-gl_PALETTE4_R5_G6_B5_OES = 0x8B92
-gl_PIXEL_TRANSFORM_2D_MATRIX_EXT :: GLenum
-gl_PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338
-gl_DEBUG_SOURCE_SHADER_COMPILER_ARB :: GLenum
-gl_DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248
-gl_UNSIGNED_INT_24_8_NV :: GLenum
-gl_UNSIGNED_INT_24_8_NV = 0x84FA
-gl_LINK_STATUS :: GLenum
-gl_LINK_STATUS = 0x8B82
-gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NV :: GLenum
-gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000
-gl_RENDERBUFFER_INTERNAL_FORMAT_EXT :: GLenum
-gl_RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D
-gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
-gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A
-gl_IMAGE_CLASS_4_X_32 :: GLenum
-gl_IMAGE_CLASS_4_X_32 = 0x82B9
-gl_TIMEOUT_EXPIRED :: GLenum
-gl_TIMEOUT_EXPIRED = 0x911B
-gl_MODELVIEW13_ARB :: GLenum
-gl_MODELVIEW13_ARB = 0x872D
-gl_LIGHT_MODEL_SPECULAR_VECTOR_APPLE :: GLenum
-gl_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0
-gl_STENCIL_INDEX1_OES :: GLenum
-gl_STENCIL_INDEX1_OES = 0x8D46
-gl_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263
-gl_QUERY_WAIT :: GLenum
-gl_QUERY_WAIT = 0x8E13
-gl_ALREADY_SIGNALED :: GLenum
-gl_ALREADY_SIGNALED = 0x911A
-gl_ACTIVE_UNIFORMS :: GLenum
-gl_ACTIVE_UNIFORMS = 0x8B86
-gl_ARRAY_OBJECT_OFFSET_ATI :: GLenum
-gl_ARRAY_OBJECT_OFFSET_ATI = 0x8767
-gl_TRANSFORM_FEEDBACK_BUFFER :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E
-gl_RGBA16I_EXT :: GLenum
-gl_RGBA16I_EXT = 0x8D88
-gl_MAX_VERTEX_UNITS_ARB :: GLenum
-gl_MAX_VERTEX_UNITS_ARB = 0x86A4
-gl_ONE_MINUS_SRC1_COLOR :: GLenum
-gl_ONE_MINUS_SRC1_COLOR = 0x88FA
-gl_COMPRESSED_RGBA_ASTC_5x4x4_OES :: GLenum
-gl_COMPRESSED_RGBA_ASTC_5x4x4_OES = 0x93C4
-gl_PIXEL_TILE_HEIGHT_SGIX :: GLenum
-gl_PIXEL_TILE_HEIGHT_SGIX = 0x8141
-gl_TEXTURE_BINDING_EXTERNAL_OES :: GLenum
-gl_TEXTURE_BINDING_EXTERNAL_OES = 0x8D67
-gl_COLOR_CLEAR_VALUE :: GLenum
-gl_COLOR_CLEAR_VALUE = 0x0C22
-gl_CONVOLUTION_BORDER_MODE_EXT :: GLenum
-gl_CONVOLUTION_BORDER_MODE_EXT = 0x8013
-gl_BGR_INTEGER :: GLenum
-gl_BGR_INTEGER = 0x8D9A
-gl_PATCH_VERTICES :: GLenum
-gl_PATCH_VERTICES = 0x8E72
-gl_MODELVIEW0_ARB :: GLenum
-gl_MODELVIEW0_ARB = 0x1700
-gl_TRIANGLES_ADJACENCY_EXT :: GLenum
-gl_TRIANGLES_ADJACENCY_EXT = 0x000C
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT :: GLenum
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT = 0x92D4
-gl_EVAL_VERTEX_ATTRIB15_NV :: GLenum
-gl_EVAL_VERTEX_ATTRIB15_NV = 0x86D5
-gl_REPLACEMENT_CODE_SUN :: GLenum
-gl_REPLACEMENT_CODE_SUN = 0x81D8
-gl_COUNTER_TYPE_AMD :: GLenum
-gl_COUNTER_TYPE_AMD = 0x8BC0
-gl_INT_SAMPLER_BUFFER :: GLenum
-gl_INT_SAMPLER_BUFFER = 0x8DD0
-gl_MODELVIEW1_STACK_DEPTH_EXT :: GLenum
-gl_MODELVIEW1_STACK_DEPTH_EXT = 0x8502
-gl_FRAMEBUFFER_UNDEFINED_OES :: GLenum
-gl_FRAMEBUFFER_UNDEFINED_OES = 0x8219
-gl_MIRROR_CLAMP_TO_EDGE_ATI :: GLenum
-gl_MIRROR_CLAMP_TO_EDGE_ATI = 0x8743
-gl_DEPTH_COMPONENT :: GLenum
-gl_DEPTH_COMPONENT = 0x1902
-gl_RGBA16_SNORM_EXT :: GLenum
-gl_RGBA16_SNORM_EXT = 0x8F9B
-gl_FRAGMENT_MATERIAL_EXT :: GLenum
-gl_FRAGMENT_MATERIAL_EXT = 0x8349
-gl_READ_ONLY :: GLenum
-gl_READ_ONLY = 0x88B8
-gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80
-gl_ROUNDED_RECT8_NV :: GLenum
-gl_ROUNDED_RECT8_NV = 0xEE
-gl_RELATIVE_RECT_NV :: GLenum
-gl_RELATIVE_RECT_NV = 0xF7
-gl_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV :: GLenum
-gl_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4
-gl_PATCH_VERTICES_EXT :: GLenum
-gl_PATCH_VERTICES_EXT = 0x8E72
-gl_RED_BITS :: GLenum
-gl_RED_BITS = 0x0D52
-gl_YCRCB_444_SGIX :: GLenum
-gl_YCRCB_444_SGIX = 0x81BC
-gl_MAX_ELEMENTS_VERTICES :: GLenum
-gl_MAX_ELEMENTS_VERTICES = 0x80E8
-gl_SIGNED_LUMINANCE8_NV :: GLenum
-gl_SIGNED_LUMINANCE8_NV = 0x8702
-gl_ALPHA_TEST_FUNC_QCOM :: GLenum
-gl_ALPHA_TEST_FUNC_QCOM = 0x0BC1
-gl_RENDERBUFFER_HEIGHT_OES :: GLenum
-gl_RENDERBUFFER_HEIGHT_OES = 0x8D43
-gl_OUTPUT_TEXTURE_COORD3_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD3_EXT = 0x87A0
-gl_OUTPUT_TEXTURE_COORD28_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD28_EXT = 0x87B9
-gl_SOURCE0_ALPHA :: GLenum
-gl_SOURCE0_ALPHA = 0x8588
-gl_INNOCENT_CONTEXT_RESET :: GLenum
-gl_INNOCENT_CONTEXT_RESET = 0x8254
-gl_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV :: GLenum
-gl_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD
-gl_MATRIX19_ARB :: GLenum
-gl_MATRIX19_ARB = 0x88D3
-gl_COMPARE_REF_TO_TEXTURE_EXT :: GLenum
-gl_COMPARE_REF_TO_TEXTURE_EXT = 0x884E
-gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
-gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76
-gl_TEXTURE_CUBE_MAP_POSITIVE_X_ARB :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515
-gl_STENCIL_INDEX8_OES :: GLenum
-gl_STENCIL_INDEX8_OES = 0x8D48
-gl_CON_8_ATI :: GLenum
-gl_CON_8_ATI = 0x8949
-gl_RGB565_OES :: GLenum
-gl_RGB565_OES = 0x8D62
-gl_MATRIX27_ARB :: GLenum
-gl_MATRIX27_ARB = 0x88DB
-gl_BUFFER_GPU_ADDRESS_NV :: GLenum
-gl_BUFFER_GPU_ADDRESS_NV = 0x8F1D
-gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
-gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B
-gl_COLOR_ATTACHMENT0_NV :: GLenum
-gl_COLOR_ATTACHMENT0_NV = 0x8CE0
-gl_UNIFORM_BUFFER_START :: GLenum
-gl_UNIFORM_BUFFER_START = 0x8A29
-gl_RASTER_FIXED_SAMPLE_LOCATIONS_EXT :: GLenum
-gl_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A
-gl_MATRIX_INDEX_ARRAY_TYPE_OES :: GLenum
-gl_MATRIX_INDEX_ARRAY_TYPE_OES = 0x8847
-gl_DUAL_ALPHA8_SGIS :: GLenum
-gl_DUAL_ALPHA8_SGIS = 0x8111
-gl_PROGRAM_LENGTH_NV :: GLenum
-gl_PROGRAM_LENGTH_NV = 0x8627
-gl_FOG_OFFSET_SGIX :: GLenum
-gl_FOG_OFFSET_SGIX = 0x8198
-gl_MATRIX_INDEX_ARRAY_OES :: GLenum
-gl_MATRIX_INDEX_ARRAY_OES = 0x8844
-gl_RGB16UI_EXT :: GLenum
-gl_RGB16UI_EXT = 0x8D77
-gl_MULTISAMPLE_BUFFER_BIT7_QCOM :: GLenum
-gl_MULTISAMPLE_BUFFER_BIT7_QCOM = 0x80000000
-gl_POINT_SIZE_ARRAY_POINTER_OES :: GLenum
-gl_POINT_SIZE_ARRAY_POINTER_OES = 0x898C
-gl_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
-gl_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F
-gl_COPY_READ_BUFFER :: GLenum
-gl_COPY_READ_BUFFER = 0x8F36
-gl_INT64_VEC4_NV :: GLenum
-gl_INT64_VEC4_NV = 0x8FEB
-gl_OFFSET_TEXTURE_2D_NV :: GLenum
-gl_OFFSET_TEXTURE_2D_NV = 0x86E8
-gl_SHININESS :: GLenum
-gl_SHININESS = 0x1601
-gl_STENCIL_BACK_PASS_DEPTH_FAIL_ATI :: GLenum
-gl_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802
-gl_CONVOLUTION_FORMAT_EXT :: GLenum
-gl_CONVOLUTION_FORMAT_EXT = 0x8017
-gl_DRAW_BUFFER10_ARB :: GLenum
-gl_DRAW_BUFFER10_ARB = 0x882F
-gl_VIDEO_CAPTURE_FRAME_WIDTH_NV :: GLenum
-gl_VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038
-gl_FRAMEBUFFER_BINDING :: GLenum
-gl_FRAMEBUFFER_BINDING = 0x8CA6
-gl_PROXY_TEXTURE_1D_ARRAY_EXT :: GLenum
-gl_PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19
-gl_COMPRESSED_SRGB_S3TC_DXT1_NV :: GLenum
-gl_COMPRESSED_SRGB_S3TC_DXT1_NV = 0x8C4C
-gl_PROGRAM_STRING_ARB :: GLenum
-gl_PROGRAM_STRING_ARB = 0x8628
-gl_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV :: GLenum
-gl_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343
-gl_SOURCE3_RGB_NV :: GLenum
-gl_SOURCE3_RGB_NV = 0x8583
-gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB :: GLenum
-gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D
-gl_UNSIGNED_IDENTITY_NV :: GLenum
-gl_UNSIGNED_IDENTITY_NV = 0x8536
-gl_COMPUTE_SHADER :: GLenum
-gl_COMPUTE_SHADER = 0x91B9
-gl_PIXEL_GROUP_COLOR_SGIS :: GLenum
-gl_PIXEL_GROUP_COLOR_SGIS = 0x8356
-gl_TEXTURE_WRAP_Q_SGIS :: GLenum
-gl_TEXTURE_WRAP_Q_SGIS = 0x8137
-gl_LINE_STRIP :: GLenum
-gl_LINE_STRIP = 0x0003
-gl_HALF_FLOAT :: GLenum
-gl_HALF_FLOAT = 0x140B
-gl_2PASS_1_SGIS :: GLenum
-gl_2PASS_1_SGIS = 0x80A3
-gl_OBJECT_PLANE :: GLenum
-gl_OBJECT_PLANE = 0x2501
-gl_DSDT_MAG_VIB_NV :: GLenum
-gl_DSDT_MAG_VIB_NV = 0x86F7
-gl_READ_FRAMEBUFFER_BINDING_NV :: GLenum
-gl_READ_FRAMEBUFFER_BINDING_NV = 0x8CAA
-gl_FONT_UNAVAILABLE_NV :: GLenum
-gl_FONT_UNAVAILABLE_NV = 0x936A
-gl_INT_IMAGE_BUFFER :: GLenum
-gl_INT_IMAGE_BUFFER = 0x905C
-gl_INFO_LOG_LENGTH :: GLenum
-gl_INFO_LOG_LENGTH = 0x8B84
-gl_UNSIGNED_SHORT_8_8_REV_MESA :: GLenum
-gl_UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB
-gl_TEXTURE31_ARB :: GLenum
-gl_TEXTURE31_ARB = 0x84DF
-gl_INDEX_TEST_REF_EXT :: GLenum
-gl_INDEX_TEST_REF_EXT = 0x81B7
-gl_DEBUG_CATEGORY_API_ERROR_AMD :: GLenum
-gl_DEBUG_CATEGORY_API_ERROR_AMD = 0x9149
-gl_ARRAY_STRIDE :: GLenum
-gl_ARRAY_STRIDE = 0x92FE
-gl_RGB9_E5_APPLE :: GLenum
-gl_RGB9_E5_APPLE = 0x8C3D
-gl_VIEWPORT_SUBPIXEL_BITS :: GLenum
-gl_VIEWPORT_SUBPIXEL_BITS = 0x825C
-gl_TEXTURE_COORD_ARRAY_STRIDE_EXT :: GLenum
-gl_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A
-gl_UNSIGNED_INT_2_10_10_10_REV_EXT :: GLenum
-gl_UNSIGNED_INT_2_10_10_10_REV_EXT = 0x8368
-gl_WRITE_PIXEL_DATA_RANGE_NV :: GLenum
-gl_WRITE_PIXEL_DATA_RANGE_NV = 0x8878
-gl_POLYGON_SMOOTH :: GLenum
-gl_POLYGON_SMOOTH = 0x0B41
-gl_SHADER_BINARY_VIV :: GLenum
-gl_SHADER_BINARY_VIV = 0x8FC4
-gl_FOG_COORDINATE_SOURCE_EXT :: GLenum
-gl_FOG_COORDINATE_SOURCE_EXT = 0x8450
-gl_TEXTURE_NUM_LEVELS_QCOM :: GLenum
-gl_TEXTURE_NUM_LEVELS_QCOM = 0x8BD9
-gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83
-gl_SAMPLER_1D_ARRAY_SHADOW_EXT :: GLenum
-gl_SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3
-gl_COLOR_TABLE_GREEN_SIZE_SGI :: GLenum
-gl_COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB
-gl_ATC_RGBA_INTERPOLATED_ALPHA_AMD :: GLenum
-gl_ATC_RGBA_INTERPOLATED_ALPHA_AMD = 0x87EE
-gl_TEXTURE_POST_SPECULAR_HP :: GLenum
-gl_TEXTURE_POST_SPECULAR_HP = 0x8168
-gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
-gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47
-gl_FRONT_RIGHT :: GLenum
-gl_FRONT_RIGHT = 0x0401
-gl_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI :: GLenum
-gl_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973
-gl_POINT_SIZE_ARRAY_BUFFER_BINDING_OES :: GLenum
-gl_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 0x8B9F
-gl_PIXEL_MIN_FILTER_EXT :: GLenum
-gl_PIXEL_MIN_FILTER_EXT = 0x8332
-gl_AUX3 :: GLenum
-gl_AUX3 = 0x040C
-gl_QUERY_RESULT_NO_WAIT :: GLenum
-gl_QUERY_RESULT_NO_WAIT = 0x9194
-gl_POINT_SIZE_MIN_ARB :: GLenum
-gl_POINT_SIZE_MIN_ARB = 0x8126
-gl_INDEX_SHIFT :: GLenum
-gl_INDEX_SHIFT = 0x0D12
-gl_MATRIX22_ARB :: GLenum
-gl_MATRIX22_ARB = 0x88D6
-gl_READ_PIXELS :: GLenum
-gl_READ_PIXELS = 0x828C
-gl_BOOL_VEC3_ARB :: GLenum
-gl_BOOL_VEC3_ARB = 0x8B58
-gl_TEXTURE_GATHER_SHADOW :: GLenum
-gl_TEXTURE_GATHER_SHADOW = 0x82A3
-gl_MAP2_VERTEX_ATTRIB0_4_NV :: GLenum
-gl_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670
-gl_COLOR_SUM :: GLenum
-gl_COLOR_SUM = 0x8458
-gl_SHADER_TYPE :: GLenum
-gl_SHADER_TYPE = 0x8B4F
-gl_INTENSITY16_EXT :: GLenum
-gl_INTENSITY16_EXT = 0x804D
-gl_PROXY_TEXTURE_CUBE_MAP :: GLenum
-gl_PROXY_TEXTURE_CUBE_MAP = 0x851B
-gl_DOUBLE_MAT2 :: GLenum
-gl_DOUBLE_MAT2 = 0x8F46
-gl_UNSIGNED_SHORT_1_5_5_5_REV_EXT :: GLenum
-gl_UNSIGNED_SHORT_1_5_5_5_REV_EXT = 0x8366
-gl_TEXTURE_BINDING_2D_ARRAY :: GLenum
-gl_TEXTURE_BINDING_2D_ARRAY = 0x8C1D
-gl_TEXTURE22 :: GLenum
-gl_TEXTURE22 = 0x84D6
-gl_MOVE_TO_CONTINUES_NV :: GLenum
-gl_MOVE_TO_CONTINUES_NV = 0x90B6
-gl_INT_IMAGE_3D_EXT :: GLenum
-gl_INT_IMAGE_3D_EXT = 0x9059
-gl_FEEDBACK :: GLenum
-gl_FEEDBACK = 0x1C01
-gl_PERFQUERY_FLUSH_INTEL :: GLenum
-gl_PERFQUERY_FLUSH_INTEL = 0x83FA
-gl_OUTPUT_TEXTURE_COORD11_EXT :: GLenum
-gl_OUTPUT_TEXTURE_COORD11_EXT = 0x87A8
-gl_LIGHTEN_NV :: GLenum
-gl_LIGHTEN_NV = 0x9298
-gl_RETAINED_APPLE :: GLenum
-gl_RETAINED_APPLE = 0x8A1B
-gl_HORIZONTAL_LINE_TO_NV :: GLenum
-gl_HORIZONTAL_LINE_TO_NV = 0x06
-gl_RGBA2_EXT :: GLenum
-gl_RGBA2_EXT = 0x8055
-gl_POST_COLOR_MATRIX_RED_BIAS :: GLenum
-gl_POST_COLOR_MATRIX_RED_BIAS = 0x80B8
-gl_LINES_ADJACENCY_EXT :: GLenum
-gl_LINES_ADJACENCY_EXT = 0x000A
-gl_POINT_SMOOTH :: GLenum
-gl_POINT_SMOOTH = 0x0B10
-gl_MAP2_NORMAL :: GLenum
-gl_MAP2_NORMAL = 0x0DB2
-gl_TEXTURE_BINDING_CUBE_MAP_ARB :: GLenum
-gl_TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514
-gl_RGB_FLOAT32_ATI :: GLenum
-gl_RGB_FLOAT32_ATI = 0x8815
-gl_ALPHA16UI_EXT :: GLenum
-gl_ALPHA16UI_EXT = 0x8D78
-gl_UNIFORM_OFFSET :: GLenum
-gl_UNIFORM_OFFSET = 0x8A3B
-gl_ALPHA_MIN_CLAMP_INGR :: GLenum
-gl_ALPHA_MIN_CLAMP_INGR = 0x8563
-gl_ZERO_EXT :: GLenum
-gl_ZERO_EXT = 0x87DD
-gl_PERFMON_RESULT_AVAILABLE_AMD :: GLenum
-gl_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4
-gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV :: GLenum
-gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1
-gl_DUAL_INTENSITY4_SGIS :: GLenum
-gl_DUAL_INTENSITY4_SGIS = 0x8118
-gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82
-gl_GEOMETRY_VERTICES_OUT_EXT :: GLenum
-gl_GEOMETRY_VERTICES_OUT_EXT = 0x8DDA
-gl_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
-gl_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365
-gl_ALPHA16F_ARB :: GLenum
-gl_ALPHA16F_ARB = 0x881C
-gl_CULL_VERTEX_IBM :: GLenum
-gl_CULL_VERTEX_IBM = 103050
-gl_DRAW_BUFFER5 :: GLenum
-gl_DRAW_BUFFER5 = 0x882A
-gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
-gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C
-gl_MATRIX0_NV :: GLenum
-gl_MATRIX0_NV = 0x8630
-gl_FRAMEBUFFER_BINDING_EXT :: GLenum
-gl_FRAMEBUFFER_BINDING_EXT = 0x8CA6
-gl_ROUNDED_RECT2_NV :: GLenum
-gl_ROUNDED_RECT2_NV = 0xEA
-gl_TEXTURE_MATRIX :: GLenum
-gl_TEXTURE_MATRIX = 0x0BA8
-gl_PERFORMANCE_MONITOR_AMD :: GLenum
-gl_PERFORMANCE_MONITOR_AMD = 0x9152
-gl_REFLECTION_MAP_OES :: GLenum
-gl_REFLECTION_MAP_OES = 0x8512
-gl_GPU_DISJOINT_EXT :: GLenum
-gl_GPU_DISJOINT_EXT = 0x8FBB
-gl_VERTEX_STREAM0_ATI :: GLenum
-gl_VERTEX_STREAM0_ATI = 0x876C
-gl_STENCIL_CLEAR_TAG_VALUE_EXT :: GLenum
-gl_STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3
-gl_DEBUG_CALLBACK_USER_PARAM :: GLenum
-gl_DEBUG_CALLBACK_USER_PARAM = 0x8245
-gl_TEXTURE10 :: GLenum
-gl_TEXTURE10 = 0x84CA
-gl_FLOAT_MAT2_ARB :: GLenum
-gl_FLOAT_MAT2_ARB = 0x8B5A
-gl_FLOAT_R_NV :: GLenum
-gl_FLOAT_R_NV = 0x8880
-gl_PIXEL_MAP_S_TO_S :: GLenum
-gl_PIXEL_MAP_S_TO_S = 0x0C71
-gl_EMBOSS_LIGHT_NV :: GLenum
-gl_EMBOSS_LIGHT_NV = 0x855D
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56
-gl_INDEX_ARRAY_STRIDE_EXT :: GLenum
-gl_INDEX_ARRAY_STRIDE_EXT = 0x8086
-gl_COMPRESSED_SLUMINANCE_ALPHA_EXT :: GLenum
-gl_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B
-gl_LUMINANCE_ALPHA32UI_EXT :: GLenum
-gl_LUMINANCE_ALPHA32UI_EXT = 0x8D75
-gl_CULL_VERTEX_EYE_POSITION_EXT :: GLenum
-gl_CULL_VERTEX_EYE_POSITION_EXT = 0x81AB
-gl_COLOR_BUFFER_BIT7_QCOM :: GLenum
-gl_COLOR_BUFFER_BIT7_QCOM = 0x00000080
-gl_GLYPH_VERTICAL_BEARING_Y_BIT_NV :: GLenum
-gl_GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40
-gl_CLAMP_TO_BORDER :: GLenum
-gl_CLAMP_TO_BORDER = 0x812D
-gl_FOG_FUNC_SGIS :: GLenum
-gl_FOG_FUNC_SGIS = 0x812A
-gl_GPU_MEMORY_INFO_EVICTION_COUNT_NVX :: GLenum
-gl_GPU_MEMORY_INFO_EVICTION_COUNT_NVX = 0x904A
-gl_TRANSLATE_Y_NV :: GLenum
-gl_TRANSLATE_Y_NV = 0x908F
-gl_TIMESTAMP_EXT :: GLenum
-gl_TIMESTAMP_EXT = 0x8E28
-gl_STREAM_READ_ARB :: GLenum
-gl_STREAM_READ_ARB = 0x88E1
-gl_COLOR_ARRAY_ADDRESS_NV :: GLenum
-gl_COLOR_ARRAY_ADDRESS_NV = 0x8F23
-gl_BUFFER_SERIALIZED_MODIFY_APPLE :: GLenum
-gl_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12
-gl_HISTOGRAM_SINK :: GLenum
-gl_HISTOGRAM_SINK = 0x802D
-gl_CLIP_DEPTH_MODE :: GLenum
-gl_CLIP_DEPTH_MODE = 0x935D
-gl_VERTEX_ATTRIB_BINDING :: GLenum
-gl_VERTEX_ATTRIB_BINDING = 0x82D4
-gl_WRITE_ONLY_ARB :: GLenum
-gl_WRITE_ONLY_ARB = 0x88B9
-gl_LIGHTING_BIT :: GLenum
-gl_LIGHTING_BIT = 0x00000040
-gl_TEXTURE10_ARB :: GLenum
-gl_TEXTURE10_ARB = 0x84CA
-gl_DRAW_BUFFER2_ARB :: GLenum
-gl_DRAW_BUFFER2_ARB = 0x8827
-gl_VERTEX_ARRAY_LIST_IBM :: GLenum
-gl_VERTEX_ARRAY_LIST_IBM = 103070
-gl_LINEARBURN_NV :: GLenum
-gl_LINEARBURN_NV = 0x92A5
-gl_COMPRESSED_SRGB_ALPHA_EXT :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49
-gl_STENCIL_FUNC :: GLenum
-gl_STENCIL_FUNC = 0x0B92
-gl_422_EXT :: GLenum
-gl_422_EXT = 0x80CC
-gl_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM :: GLenum
-gl_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085
-gl_CLAMP_READ_COLOR :: GLenum
-gl_CLAMP_READ_COLOR = 0x891C
-gl_3_BYTES :: GLenum
-gl_3_BYTES = 0x1408
-gl_TEXTURE_COMPRESSED :: GLenum
-gl_TEXTURE_COMPRESSED = 0x86A1
-gl_UNSIGNED_INT_10_10_10_2_OES :: GLenum
-gl_UNSIGNED_INT_10_10_10_2_OES = 0x8DF6
-gl_PATCH_DEFAULT_OUTER_LEVEL_EXT :: GLenum
-gl_PATCH_DEFAULT_OUTER_LEVEL_EXT = 0x8E74
-gl_MODELVIEW18_ARB :: GLenum
-gl_MODELVIEW18_ARB = 0x8732
-gl_DEPTH_ATTACHMENT_OES :: GLenum
-gl_DEPTH_ATTACHMENT_OES = 0x8D00
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0
-gl_3D_COLOR_TEXTURE :: GLenum
-gl_3D_COLOR_TEXTURE = 0x0603
-gl_COLOR_ARRAY_EXT :: GLenum
-gl_COLOR_ARRAY_EXT = 0x8076
-gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: GLenum
-gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000
-gl_BLUE_INTEGER_EXT :: GLenum
-gl_BLUE_INTEGER_EXT = 0x8D96
-gl_MAP1_VERTEX_ATTRIB2_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662
-gl_UNPACK_COLORSPACE_CONVERSION_WEBGL :: GLenum
-gl_UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243
-gl_POLYGON_STIPPLE_BIT :: GLenum
-gl_POLYGON_STIPPLE_BIT = 0x00000010
-gl_TEXTURE_WIDTH_QCOM :: GLenum
-gl_TEXTURE_WIDTH_QCOM = 0x8BD2
-gl_SAMPLER_CUBE_SHADOW :: GLenum
-gl_SAMPLER_CUBE_SHADOW = 0x8DC5
-gl_MAX_PROGRAM_ATTRIB_COMPONENTS_NV :: GLenum
-gl_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908
-gl_MAX_CONVOLUTION_HEIGHT :: GLenum
-gl_MAX_CONVOLUTION_HEIGHT = 0x801B
-gl_ELEMENT_ARRAY_BUFFER :: GLenum
-gl_ELEMENT_ARRAY_BUFFER = 0x8893
-gl_MAX_TESS_GEN_LEVEL :: GLenum
-gl_MAX_TESS_GEN_LEVEL = 0x8E7E
-gl_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519
-gl_RESAMPLE_DECIMATE_OML :: GLenum
-gl_RESAMPLE_DECIMATE_OML = 0x8989
-gl_GREEN_INTEGER_EXT :: GLenum
-gl_GREEN_INTEGER_EXT = 0x8D95
-gl_FONT_UNDERLINE_POSITION_BIT_NV :: GLenum
-gl_FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000
-gl_FOG_COORD_SRC :: GLenum
-gl_FOG_COORD_SRC = 0x8450
-gl_TEXTURE_RESIDENT :: GLenum
-gl_TEXTURE_RESIDENT = 0x8067
-gl_HISTOGRAM_WIDTH :: GLenum
-gl_HISTOGRAM_WIDTH = 0x8026
-gl_DRAW_FRAMEBUFFER_BINDING :: GLenum
-gl_DRAW_FRAMEBUFFER_BINDING = 0x8CA6
-gl_TEXTURE_EXTERNAL_OES :: GLenum
-gl_TEXTURE_EXTERNAL_OES = 0x8D65
-gl_SYNC_FENCE_APPLE :: GLenum
-gl_SYNC_FENCE_APPLE = 0x9116
-gl_TEXTURE_LUMINANCE_TYPE_ARB :: GLenum
-gl_TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14
-gl_BLUE_BIAS :: GLenum
-gl_BLUE_BIAS = 0x0D1B
-gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV :: GLenum
-gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9
-gl_MAP_PERSISTENT_BIT :: GLenum
-gl_MAP_PERSISTENT_BIT = 0x0040
-gl_TEXTURE_CUBE_MAP_EXT :: GLenum
-gl_TEXTURE_CUBE_MAP_EXT = 0x8513
-gl_GEOMETRY_LINKED_VERTICES_OUT_EXT :: GLenum
-gl_GEOMETRY_LINKED_VERTICES_OUT_EXT = 0x8916
-gl_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
-gl_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B
-gl_COMPARE_R_TO_TEXTURE_ARB :: GLenum
-gl_COMPARE_R_TO_TEXTURE_ARB = 0x884E
-gl_TESS_CONTROL_SHADER_EXT :: GLenum
-gl_TESS_CONTROL_SHADER_EXT = 0x8E88
-gl_TESS_CONTROL_PROGRAM_NV :: GLenum
-gl_TESS_CONTROL_PROGRAM_NV = 0x891E
-gl_STREAM_RASTERIZATION_AMD :: GLenum
-gl_STREAM_RASTERIZATION_AMD = 0x91A0
-gl_DEPTH_FUNC :: GLenum
-gl_DEPTH_FUNC = 0x0B74
-gl_SLUMINANCE8_NV :: GLenum
-gl_SLUMINANCE8_NV = 0x8C47
-gl_PACK_REVERSE_ROW_ORDER_ANGLE :: GLenum
-gl_PACK_REVERSE_ROW_ORDER_ANGLE = 0x93A4
-gl_RENDER :: GLenum
-gl_RENDER = 0x1C00
-gl_CLIP_PLANE3 :: GLenum
-gl_CLIP_PLANE3 = 0x3003
-gl_DUAL_ALPHA12_SGIS :: GLenum
-gl_DUAL_ALPHA12_SGIS = 0x8112
-gl_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB :: GLenum
-gl_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B
-gl_BLEND_EQUATION_RGB :: GLenum
-gl_BLEND_EQUATION_RGB = 0x8009
-gl_SCALEBIAS_HINT_SGIX :: GLenum
-gl_SCALEBIAS_HINT_SGIX = 0x8322
-gl_PROGRAM_OBJECT_ARB :: GLenum
-gl_PROGRAM_OBJECT_ARB = 0x8B40
-gl_SHADOW_ATTENUATION_EXT :: GLenum
-gl_SHADOW_ATTENUATION_EXT = 0x834E
-gl_COLOR_ATTACHMENT7 :: GLenum
-gl_COLOR_ATTACHMENT7 = 0x8CE7
-gl_CONVOLUTION_FILTER_BIAS :: GLenum
-gl_CONVOLUTION_FILTER_BIAS = 0x8015
-gl_VERTEX_ATTRIB_MAP2_COEFF_APPLE :: GLenum
-gl_VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07
-gl_COMPRESSED_RG_RGTC2 :: GLenum
-gl_COMPRESSED_RG_RGTC2 = 0x8DBD
-gl_MULTISAMPLE_BUFFER_BIT4_QCOM :: GLenum
-gl_MULTISAMPLE_BUFFER_BIT4_QCOM = 0x10000000
-gl_MAX_UNIFORM_BLOCK_SIZE :: GLenum
-gl_MAX_UNIFORM_BLOCK_SIZE = 0x8A30
-gl_INDEX :: GLenum
-gl_INDEX = 0x8222
-gl_MAP2_VERTEX_3 :: GLenum
-gl_MAP2_VERTEX_3 = 0x0DB7
-gl_TEXTURE_USAGE_ANGLE :: GLenum
-gl_TEXTURE_USAGE_ANGLE = 0x93A2
-gl_SHORT :: GLenum
-gl_SHORT = 0x1402
-gl_BACK_PRIMARY_COLOR_NV :: GLenum
-gl_BACK_PRIMARY_COLOR_NV = 0x8C77
-gl_VIEWPORT_BIT :: GLenum
-gl_VIEWPORT_BIT = 0x00000800
-gl_GET_TEXTURE_IMAGE_FORMAT :: GLenum
-gl_GET_TEXTURE_IMAGE_FORMAT = 0x8291
-gl_MAX_PROGRAM_IF_DEPTH_NV :: GLenum
-gl_MAX_PROGRAM_IF_DEPTH_NV = 0x88F6
-gl_TANGENT_ARRAY_TYPE_EXT :: GLenum
-gl_TANGENT_ARRAY_TYPE_EXT = 0x843E
-gl_DEBUG_TYPE_PUSH_GROUP :: GLenum
-gl_DEBUG_TYPE_PUSH_GROUP = 0x8269
-gl_PALETTE8_RGB5_A1_OES :: GLenum
-gl_PALETTE8_RGB5_A1_OES = 0x8B99
-gl_COMBINE4_NV :: GLenum
-gl_COMBINE4_NV = 0x8503
-gl_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
-gl_VERTEX_ARRAY_BUFFER_BINDING = 0x8896
-gl_VERTEX_SHADER_BINDING_EXT :: GLenum
-gl_VERTEX_SHADER_BINDING_EXT = 0x8781
-gl_COLOR_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
-gl_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7
-gl_SAMPLER_BINDING :: GLenum
-gl_SAMPLER_BINDING = 0x8919
-gl_HISTOGRAM_BLUE_SIZE :: GLenum
-gl_HISTOGRAM_BLUE_SIZE = 0x802A
-gl_CON_20_ATI :: GLenum
-gl_CON_20_ATI = 0x8955
-gl_LAST_VERTEX_CONVENTION_EXT :: GLenum
-gl_LAST_VERTEX_CONVENTION_EXT = 0x8E4E
-gl_MULTISAMPLE_FILTER_HINT_NV :: GLenum
-gl_MULTISAMPLE_FILTER_HINT_NV = 0x8534
-gl_FRAGMENT_PROGRAM_BINDING_NV :: GLenum
-gl_FRAGMENT_PROGRAM_BINDING_NV = 0x8873
-gl_MULTIPLY_NV :: GLenum
-gl_MULTIPLY_NV = 0x9294
-gl_DOT3_RGB_ARB :: GLenum
-gl_DOT3_RGB_ARB = 0x86AE
-gl_BIAS_BY_NEGATIVE_ONE_HALF_NV :: GLenum
-gl_BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541
-gl_TESS_GEN_VERTEX_ORDER :: GLenum
-gl_TESS_GEN_VERTEX_ORDER = 0x8E78
-gl_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLenum
-gl_CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002
-gl_RGBA_SIGNED_COMPONENTS_EXT :: GLenum
-gl_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C
-gl_UNSIGNED_INT8_NV :: GLenum
-gl_UNSIGNED_INT8_NV = 0x8FEC
-gl_LUMINANCE8_EXT :: GLenum
-gl_LUMINANCE8_EXT = 0x8040
-gl_IUI_N3F_V3F_EXT :: GLenum
-gl_IUI_N3F_V3F_EXT = 0x81B0
-gl_DEBUG_SOURCE_API_KHR :: GLenum
-gl_DEBUG_SOURCE_API_KHR = 0x8246
-gl_PN_TRIANGLES_TESSELATION_LEVEL_ATI :: GLenum
-gl_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4
-gl_COMBINER3_NV :: GLenum
-gl_COMBINER3_NV = 0x8553
-gl_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT :: GLenum
-gl_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D
-gl_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB :: GLenum
-gl_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 0x91BF
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0
-gl_VERTEX_SHADER_VARIANTS_EXT :: GLenum
-gl_VERTEX_SHADER_VARIANTS_EXT = 0x87D0
-gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F
-gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A
-gl_MAX_COLOR_MATRIX_STACK_DEPTH :: GLenum
-gl_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3
-gl_DRAW_BUFFER14_EXT :: GLenum
-gl_DRAW_BUFFER14_EXT = 0x8833
-gl_INTENSITY32F_ARB :: GLenum
-gl_INTENSITY32F_ARB = 0x8817
-gl_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV :: GLenum
-gl_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE
-gl_PIXEL_MAP_I_TO_R_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2
-gl_UNSIGNED_SHORT :: GLenum
-gl_UNSIGNED_SHORT = 0x1403
-gl_PIXEL_SUBSAMPLE_2424_SGIX :: GLenum
-gl_PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE
-gl_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
-gl_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB
-gl_POST_COLOR_MATRIX_GREEN_SCALE_SGI :: GLenum
-gl_POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5
-gl_CLIP_PLANE5 :: GLenum
-gl_CLIP_PLANE5 = 0x3005
-gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
-gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F
-gl_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
-gl_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311
-gl_LIGHT0 :: GLenum
-gl_LIGHT0 = 0x4000
-gl_TEXTURE30_ARB :: GLenum
-gl_TEXTURE30_ARB = 0x84DE
-gl_TEXTURE13 :: GLenum
-gl_TEXTURE13 = 0x84CD
-gl_COMPRESSED_RGBA_ASTC_10x6_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9
-gl_FRAMEBUFFER_INCOMPLETE_FORMATS_OES :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 0x8CDA
-gl_RGBA_FLOAT_MODE_ARB :: GLenum
-gl_RGBA_FLOAT_MODE_ARB = 0x8820
-gl_MAX_RATIONAL_EVAL_ORDER_NV :: GLenum
-gl_MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7
-gl_IMAGE_SCALE_Y_HP :: GLenum
-gl_IMAGE_SCALE_Y_HP = 0x8156
-gl_DRAW_BUFFER13_ARB :: GLenum
-gl_DRAW_BUFFER13_ARB = 0x8832
-gl_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
-gl_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257
-gl_VENDOR :: GLenum
-gl_VENDOR = 0x1F00
-gl_MAX_SHADER_BUFFER_ADDRESS_NV :: GLenum
-gl_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35
-gl_DEBUG_SOURCE_APPLICATION :: GLenum
-gl_DEBUG_SOURCE_APPLICATION = 0x824A
-gl_UNSIGNED_INT16_VEC4_NV :: GLenum
-gl_UNSIGNED_INT16_VEC4_NV = 0x8FF3
-gl_UNSIGNED_INT_SAMPLER_3D :: GLenum
-gl_UNSIGNED_INT_SAMPLER_3D = 0x8DD3
-gl_BINORMAL_ARRAY_EXT :: GLenum
-gl_BINORMAL_ARRAY_EXT = 0x843A
-gl_DRAW_BUFFER0_NV :: GLenum
-gl_DRAW_BUFFER0_NV = 0x8825
-gl_MAP2_COLOR_4 :: GLenum
-gl_MAP2_COLOR_4 = 0x0DB0
-gl_WRITEONLY_RENDERING_QCOM :: GLenum
-gl_WRITEONLY_RENDERING_QCOM = 0x8823
-gl_MAP2_GRID_SEGMENTS :: GLenum
-gl_MAP2_GRID_SEGMENTS = 0x0DD3
-gl_VERTEX_SHADER_BIT :: GLenum
-gl_VERTEX_SHADER_BIT = 0x00000001
-gl_FRAGMENT_SHADER_ATI :: GLenum
-gl_FRAGMENT_SHADER_ATI = 0x8920
-gl_CLAMP_TO_BORDER_SGIS :: GLenum
-gl_CLAMP_TO_BORDER_SGIS = 0x812D
-gl_GEOMETRY_SUBROUTINE :: GLenum
-gl_GEOMETRY_SUBROUTINE = 0x92EB
-gl_SLUMINANCE8_ALPHA8_NV :: GLenum
-gl_SLUMINANCE8_ALPHA8_NV = 0x8C45
-gl_UNSIGNED_INT_10F_11F_11F_REV_EXT :: GLenum
-gl_UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B
-gl_DELETE_STATUS :: GLenum
-gl_DELETE_STATUS = 0x8B80
-gl_IDENTITY_NV :: GLenum
-gl_IDENTITY_NV = 0x862A
-gl_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV :: GLenum
-gl_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036
-gl_RG_SNORM :: GLenum
-gl_RG_SNORM = 0x8F91
-gl_SCALED_RESOLVE_FASTEST_EXT :: GLenum
-gl_SCALED_RESOLVE_FASTEST_EXT = 0x90BA
-gl_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX :: GLenum
-gl_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE
-gl_OFFSET_TEXTURE_2D_MATRIX_NV :: GLenum
-gl_OFFSET_TEXTURE_2D_MATRIX_NV = 0x86E1
-gl_TESS_CONTROL_SHADER :: GLenum
-gl_TESS_CONTROL_SHADER = 0x8E88
-gl_PRIMARY_COLOR :: GLenum
-gl_PRIMARY_COLOR = 0x8577
-gl_IGNORE_BORDER_HP :: GLenum
-gl_IGNORE_BORDER_HP = 0x8150
-gl_NUM_LOOPBACK_COMPONENTS_ATI :: GLenum
-gl_NUM_LOOPBACK_COMPONENTS_ATI = 0x8974
-gl_BINORMAL_ARRAY_POINTER_EXT :: GLenum
-gl_BINORMAL_ARRAY_POINTER_EXT = 0x8443
-gl_PLUS_NV :: GLenum
-gl_PLUS_NV = 0x9291
-gl_MAP1_VERTEX_ATTRIB0_4_NV :: GLenum
-gl_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660
-gl_DEBUG_CALLBACK_USER_PARAM_KHR :: GLenum
-gl_DEBUG_CALLBACK_USER_PARAM_KHR = 0x8245
-gl_ALL_SHADER_BITS_EXT :: GLenum
-gl_ALL_SHADER_BITS_EXT = 0xFFFFFFFF
-gl_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
-gl_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB
-gl_SECONDARY_COLOR_NV :: GLenum
-gl_SECONDARY_COLOR_NV = 0x852D
-gl_MAX :: GLenum
-gl_MAX = 0x8008
-gl_FOG_DISTANCE_MODE_NV :: GLenum
-gl_FOG_DISTANCE_MODE_NV = 0x855A
-gl_RENDERBUFFER_SAMPLES_ANGLE :: GLenum
-gl_RENDERBUFFER_SAMPLES_ANGLE = 0x8CAB
-gl_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: GLenum
-gl_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2
-gl_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
-gl_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7
-
-data GLsyncob
-type GLsync = Ptr GLsyncob
-
-type GLhalf = Word16
-type GLhalfARB = Word16
-type GLintptrARB = CPtrdiff
-type GLsizeiptrARB = CPtrdiff
-type GLDEBUGPROC =
-    FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ())
-type GLDEBUGPROCARB = GLDEBUGPROC
-type GLDEBUGPROCKHR = GLDEBUGPROC
-type GLDEBUGPROCAMD =
-    FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ())
-type GLbyte = CChar
-type GLubyte = CUChar
-type GLfloat = CFloat
-type GLclampf = CFloat
-type GLfixed = Int32
-type GLint64 = Int64
-type GLuint64 = Word64
-type GLint64EXT = Int64
-type GLuint64EXT = Word64
-type GLintptr = CIntPtr
-type GLsizeiptr = CSize
-type GLhalfNV = CUShort
-type GLvdpauSurfaceNV = GLintptr
-type GLenum = CUInt
-type GLboolean = CUChar
-type GLvoid = ()
-type GLbitfield = CUInt
-type GLshort = CShort
-type GLint = CInt
-type GLclampx = CInt
-type GLushort = CUShort
-type GLuint = CUInt
-type GLsizei = CInt
-type GLdouble = CDouble
-type GLclampd = CDouble
-data GLeglImageOESob
-type GLeglImageOES = Ptr GLeglImageOESob
-type GLchar = CChar
-type GLcharARB = CChar
-#ifdef __APPLE__
-type GLhandleARB = Ptr ()
-#else
-type GLhandleARB = CUInt
-#endif
-
diff --git a/src/Graphics/Caramia/Internal/OpenGLCApi.hs b/src/Graphics/Caramia/Internal/OpenGLCApi.hs
--- a/src/Graphics/Caramia/Internal/OpenGLCApi.hs
+++ b/src/Graphics/Caramia/Internal/OpenGLCApi.hs
@@ -9,7 +9,8 @@
 {-# LANGUAGE ForeignFunctionInterface, NoImplicitPrelude #-}
 
 module Graphics.Caramia.Internal.OpenGLCApi
-    ( module Ex
+    ( module GLCore
+    , module GLTypes
 
     , gi
     , gf
@@ -62,7 +63,12 @@
 
 import Graphics.Caramia.Prelude
 
-import Graphics.Caramia.Internal.FlextGL as Ex
+import Graphics.GL.Core33 as GLCore
+import Graphics.GL.Types as GLTypes
+import Graphics.GL.Ext.ARB.SeparateShaderObjects
+import Graphics.GL.Ext.ARB.BufferStorage
+import Graphics.GL.Ext.ARB.DirectStateAccess
+
 import Foreign.Ptr
 import Foreign.C.Types
 import Foreign.Storable
@@ -73,12 +79,6 @@
 
 {-# ANN module ("HLint: ignore Use camelCase" :: String) #-}
 
-whenExt :: IO Bool -> IO a -> IO a -> IO a
-whenExt test action other_action = do
-    x <- test
-    if x then action else other_action
-{-# INLINE whenExt #-}
-
 mglDeleteBuffer :: GLuint -> IO ()
 mglDeleteBuffer x = with x $ \x_ptr -> glDeleteBuffers 1 x_ptr
 
@@ -105,14 +105,14 @@
 
 withBoundDrawFramebuffer :: (MonadIO m, MonadMask m) => GLuint -> m a -> m a
 withBoundDrawFramebuffer x action = do
-    old <- gi gl_DRAW_FRAMEBUFFER_BINDING
-    finally (glBindFramebuffer gl_DRAW_FRAMEBUFFER x >> action)
-            (glBindFramebuffer gl_DRAW_FRAMEBUFFER old)
+    old <- gi GL_DRAW_FRAMEBUFFER_BINDING
+    finally (glBindFramebuffer GL_DRAW_FRAMEBUFFER x >> action)
+            (glBindFramebuffer GL_DRAW_FRAMEBUFFER old)
 
 withBoundProgram :: (MonadIO m, MonadMask m) => GLuint -> m a -> m a
 withBoundProgram program action = do
     old <-
-        liftIO $ alloca $ \x_ptr -> glGetIntegerv gl_CURRENT_PROGRAM x_ptr >> peek x_ptr
+        liftIO $ alloca $ \x_ptr -> glGetIntegerv GL_CURRENT_PROGRAM x_ptr >> peek x_ptr
     finally (glUseProgram program >> action)
             (glUseProgram $ fromIntegral old)
 
@@ -122,35 +122,35 @@
 withBoundBuffer :: (MonadIO m, MonadMask m) => GLuint -> m a -> m a
 withBoundBuffer buf action = do
     old <-
-        liftIO $ alloca $ \x_ptr -> glGetIntegerv gl_ARRAY_BUFFER_BINDING x_ptr >>
+        liftIO $ alloca $ \x_ptr -> glGetIntegerv GL_ARRAY_BUFFER_BINDING x_ptr >>
                                     peek x_ptr
-    finally (glBindBuffer gl_ARRAY_BUFFER buf >> action)
-            (glBindBuffer gl_ARRAY_BUFFER $ fromIntegral old)
+    finally (glBindBuffer GL_ARRAY_BUFFER buf >> action)
+            (glBindBuffer GL_ARRAY_BUFFER $ fromIntegral old)
 
 setBoundElementBuffer :: GLuint -> IO ()
 setBoundElementBuffer =
-    glBindBuffer gl_ELEMENT_ARRAY_BUFFER
+    glBindBuffer GL_ELEMENT_ARRAY_BUFFER
 
 withBoundElementBuffer :: (MonadIO m, MonadMask m) => GLuint -> m a -> m a
 withBoundElementBuffer buf action = do
     old <-
-        liftIO $ alloca $ \x_ptr -> glGetIntegerv gl_ELEMENT_ARRAY_BUFFER_BINDING x_ptr >>
+        liftIO $ alloca $ \x_ptr -> glGetIntegerv GL_ELEMENT_ARRAY_BUFFER_BINDING x_ptr >>
                                     peek x_ptr
-    finally (glBindBuffer gl_ELEMENT_ARRAY_BUFFER buf >> action)
-            (glBindBuffer gl_ELEMENT_ARRAY_BUFFER $ fromIntegral old)
+    finally (glBindBuffer GL_ELEMENT_ARRAY_BUFFER buf >> action)
+            (glBindBuffer GL_ELEMENT_ARRAY_BUFFER $ fromIntegral old)
 
 withBoundPixelUnpackBuffer :: (MonadIO m, MonadMask m) => GLuint -> m a -> m a
 withBoundPixelUnpackBuffer buf action = do
     old <-
-        liftIO $ alloca $ \x_ptr -> glGetIntegerv gl_PIXEL_UNPACK_BUFFER_BINDING x_ptr >>
+        liftIO $ alloca $ \x_ptr -> glGetIntegerv GL_PIXEL_UNPACK_BUFFER_BINDING x_ptr >>
                                     peek x_ptr
-    finally (glBindBuffer gl_PIXEL_UNPACK_BUFFER buf >> action)
-            (glBindBuffer gl_PIXEL_UNPACK_BUFFER $ fromIntegral old)
+    finally (glBindBuffer GL_PIXEL_UNPACK_BUFFER buf >> action)
+            (glBindBuffer GL_PIXEL_UNPACK_BUFFER $ fromIntegral old)
 
 withBoundVAO :: (MonadIO m, MonadMask m) => GLuint -> m a -> m a
 withBoundVAO vao action = do
     old <-
-        liftIO $ alloca $ \x_ptr -> glGetIntegerv gl_VERTEX_ARRAY_BINDING x_ptr >>
+        liftIO $ alloca $ \x_ptr -> glGetIntegerv GL_VERTEX_ARRAY_BINDING x_ptr >>
                                     peek x_ptr
     finally (glBindVertexArray vao >> action)
             (glBindVertexArray $ fromIntegral old)
@@ -191,10 +191,9 @@
                       -> GLbitfield
                       -> IO ()
 mglNamedBufferStorage buf size ptr flags =
-    whenExt has_GL_EXT_direct_state_access
-        (glNamedBufferStorageEXT buf size ptr flags)
-        (withBoundBuffer buf $
-         glBufferStorage gl_ARRAY_BUFFER size ptr flags)
+    if gl_ARB_direct_state_access
+    then glNamedBufferStorage buf (fromIntegral size) ptr flags
+    else withBoundBuffer buf $ glBufferStorage GL_ARRAY_BUFFER size ptr flags
 
 mglNamedBufferData :: GLuint
                    -> GLsizeiptr
@@ -202,117 +201,116 @@
                    -> GLenum
                    -> IO ()
 mglNamedBufferData buf size ptr usage =
-    whenExt has_GL_EXT_direct_state_access
-        (glNamedBufferDataEXT buf size ptr usage)
-        (withBoundBuffer buf $ glBufferData gl_ARRAY_BUFFER size ptr usage)
+    if gl_ARB_direct_state_access
+    then glNamedBufferData buf (fromIntegral size) ptr usage
+    else withBoundBuffer buf $ glBufferData GL_ARRAY_BUFFER size ptr usage
 
 mglProgramUniform1ui :: GLuint -> GLint -> GLuint -> IO ()
 mglProgramUniform1ui program loc v1 =
-    whenExt has_GL_ARB_separate_shader_objects
-          (glProgramUniform1ui program loc v1)
-          (withBoundProgram program $ glUniform1ui loc v1)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniform1ui program loc v1
+    else withBoundProgram program $ glUniform1ui loc v1
 
 mglProgramUniform2ui :: GLuint -> GLint -> GLuint -> GLuint -> IO ()
 mglProgramUniform2ui program loc v1 v2 =
-    whenExt has_GL_ARB_separate_shader_objects
-          (glProgramUniform2ui program loc v1 v2)
-          (withBoundProgram program $ glUniform2ui loc v1 v2)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniform2ui program loc v1 v2
+    else withBoundProgram program $ glUniform2ui loc v1 v2
 
 mglProgramUniform3ui :: GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ()
 mglProgramUniform3ui program loc v1 v2 v3 =
-    whenExt has_GL_ARB_separate_shader_objects
-          (glProgramUniform3ui program loc v1 v2 v3)
-          (withBoundProgram program $ glUniform3ui loc v1 v2 v3)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniform3ui program loc v1 v2 v3
+    else withBoundProgram program $ glUniform3ui loc v1 v2 v3
 
 mglProgramUniform4ui :: GLuint -> GLint -> GLuint -> GLuint -> GLuint
                      -> GLuint -> IO ()
 mglProgramUniform4ui program loc v1 v2 v3 v4 =
-    whenExt has_GL_ARB_separate_shader_objects
-          (glProgramUniform4ui program loc v1 v2 v3 v4)
-          (withBoundProgram program $ glUniform4ui loc v1 v2 v3 v4)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniform4ui program loc v1 v2 v3 v4
+    else withBoundProgram program $ glUniform4ui loc v1 v2 v3 v4
 
 mglProgramUniform1i :: GLuint -> GLint -> GLint -> IO ()
 mglProgramUniform1i program loc v1 =
-    whenExt has_GL_ARB_separate_shader_objects (glProgramUniform1i program loc v1)
-          (withBoundProgram program $ glUniform1i loc v1)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniform1i program loc v1
+    else withBoundProgram program $ glUniform1i loc v1
 
 mglProgramUniform2i :: GLuint -> GLint -> GLint -> GLint -> IO ()
 mglProgramUniform2i program loc v1 v2 =
-    whenExt has_GL_ARB_separate_shader_objects
-          (glProgramUniform2i program loc v1 v2)
-          (withBoundProgram program $ glUniform2i loc v1 v2)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniform2i program loc v1 v2
+    else withBoundProgram program $ glUniform2i loc v1 v2
 
 mglProgramUniform3i :: GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
 mglProgramUniform3i program loc v1 v2 v3 =
-    whenExt has_GL_ARB_separate_shader_objects
-          (glProgramUniform3i program loc v1 v2 v3)
-          (withBoundProgram program $ glUniform3i loc v1 v2 v3)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniform3i program loc v1 v2 v3
+    else withBoundProgram program $ glUniform3i loc v1 v2 v3
 
 mglProgramUniform4i :: GLuint -> GLint -> GLint -> GLint -> GLint
                      -> GLint -> IO ()
 mglProgramUniform4i program loc v1 v2 v3 v4 =
-    whenExt has_GL_ARB_separate_shader_objects
-          (glProgramUniform4i program loc v1 v2 v3 v4)
-          (withBoundProgram program $ glUniform4i loc v1 v2 v3 v4)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniform4i program loc v1 v2 v3 v4
+    else withBoundProgram program $ glUniform4i loc v1 v2 v3 v4
 
 mglProgramUniform1f :: GLuint -> GLint -> GLfloat -> IO ()
 mglProgramUniform1f program loc v1 =
-    whenExt has_GL_ARB_separate_shader_objects
-        (glProgramUniform1f program loc v1)
-        (withBoundProgram program $ glUniform1f loc v1)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniform1f program loc v1
+    else withBoundProgram program $ glUniform1f loc v1
 
 mglProgramUniform2f :: GLuint -> GLint -> GLfloat -> GLfloat -> IO ()
 mglProgramUniform2f program loc v1 v2 =
-    whenExt has_GL_ARB_separate_shader_objects
-        (glProgramUniform2f program loc v1 v2)
-        (withBoundProgram program $ glUniform2f loc v1 v2)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniform2f program loc v1 v2
+    else withBoundProgram program $ glUniform2f loc v1 v2
 
 mglProgramUniform3f :: GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()
 mglProgramUniform3f program loc v1 v2 v3 =
-    whenExt has_GL_ARB_separate_shader_objects
-          (glProgramUniform3f program loc v1 v2 v3)
-          (withBoundProgram program $ glUniform3f loc v1 v2 v3)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniform3f program loc v1 v2 v3
+    else withBoundProgram program $ glUniform3f loc v1 v2 v3
 
 mglProgramUniform4f :: GLuint -> GLint
                     -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
 mglProgramUniform4f program loc v1 v2 v3 v4 =
-    whenExt has_GL_ARB_separate_shader_objects
-          (glProgramUniform4f program loc v1 v2 v3 v4)
-          (withBoundProgram program $ glUniform4f loc v1 v2 v3 v4)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniform4f program loc v1 v2 v3 v4
+    else withBoundProgram program $ glUniform4f loc v1 v2 v3 v4
 
 mglProgramUniformMatrix4fv :: GLuint -> GLint
                            -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
 mglProgramUniformMatrix4fv program loc count transpose m44 =
-    whenExt has_GL_ARB_separate_shader_objects
-          (glProgramUniformMatrix4fv program loc count transpose m44)
-          (withBoundProgram program $
-              glUniformMatrix4fv loc count transpose m44)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniformMatrix4fv program loc count transpose m44
+    else withBoundProgram program $ glUniformMatrix4fv loc count transpose m44
 
 mglProgramUniformMatrix3fv :: GLuint -> GLint
                            -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
 mglProgramUniformMatrix3fv program loc count transpose m33 =
-    whenExt has_GL_ARB_separate_shader_objects
-          (glProgramUniformMatrix3fv program loc count transpose m33)
-          (withBoundProgram program $
-              glUniformMatrix3fv loc count transpose m33)
+    if gl_ARB_separate_shader_objects
+    then glProgramUniformMatrix3fv program loc count transpose m33
+    else withBoundProgram program $ glUniformMatrix3fv loc count transpose m33
 
 mglMapNamedBufferRange :: GLuint -> GLintptr
                        -> GLsizeiptr -> GLbitfield -> IO (Ptr ())
 mglMapNamedBufferRange buffer offset length access =
     withBoundBuffer buffer $
-        glMapBufferRange gl_ARRAY_BUFFER offset length access
+        glMapBufferRange GL_ARRAY_BUFFER offset length access
 
 mglUnmapNamedBuffer :: GLuint -> IO GLboolean
 mglUnmapNamedBuffer buffer =
-    withBoundBuffer buffer $ glUnmapBuffer gl_ARRAY_BUFFER
+    withBoundBuffer buffer $ glUnmapBuffer GL_ARRAY_BUFFER
 
 mglNamedCopyBufferSubData :: GLuint -> GLuint
                           -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
 mglNamedCopyBufferSubData src dst src_offset dst_offset num_bytes =
     withBoundElementBuffer src $
         withBoundBuffer dst $
-            glCopyBufferSubData gl_ELEMENT_ARRAY_BUFFER
-                                gl_ARRAY_BUFFER
+            glCopyBufferSubData GL_ELEMENT_ARRAY_BUFFER
+                                GL_ARRAY_BUFFER
                                 src_offset
                                 dst_offset
                                 num_bytes
@@ -324,4 +322,3 @@
 
 gf :: MonadIO m => GLenum -> m GLfloat
 gf x = liftIO $ alloca $ \get_ptr -> glGetFloatv x (castPtr get_ptr) *> peek get_ptr
-
diff --git a/src/Graphics/Caramia/Internal/OpenGLDebug.hs b/src/Graphics/Caramia/Internal/OpenGLDebug.hs
--- a/src/Graphics/Caramia/Internal/OpenGLDebug.hs
+++ b/src/Graphics/Caramia/Internal/OpenGLDebug.hs
@@ -7,6 +7,8 @@
     , flushDebugMessages )
     where
 
+import Graphics.GL.Ext.KHR.Debug
+
 import Graphics.Caramia.Prelude
 import Graphics.Caramia.Internal.OpenGLCApi
 import Graphics.Caramia.Internal.ContextLocalData
@@ -23,26 +25,22 @@
                              deriving ( Typeable )
 
 activateDebugMode :: IO ()
-activateDebugMode = do
-    necessary_extensions <- has_GL_KHR_debug
-    when necessary_extensions reallyActivateDebugMode
-  where
-    reallyActivateDebugMode = mask_ $ do
-        glDebugMessageControl gl_DONT_CARE
-                              gl_DONT_CARE
-                              gl_DONT_CARE
-                              0
-                              nullPtr
-                              (fromIntegral gl_TRUE)
-        glEnable gl_DEBUG_OUTPUT
-        withCStringLen "Debug output activated." $ \(cstr, len) ->
-            glDebugMessageInsert gl_DEBUG_SOURCE_APPLICATION
-                                 gl_DEBUG_TYPE_OTHER
-                                 0
-                                 gl_DEBUG_SEVERITY_LOW
-                                 (fromIntegral len)
-                                 cstr
-        storeContextLocalData (DebugModeActivated True)
+activateDebugMode = when gl_KHR_debug $ mask_ $ do
+    glDebugMessageControl GL_DONT_CARE
+                          GL_DONT_CARE
+                          GL_DONT_CARE
+                          0
+                          nullPtr
+                          GL_TRUE
+    glEnable GL_DEBUG_OUTPUT
+    withCStringLen "Debug output activated." $ \(cstr, len) ->
+        glDebugMessageInsert GL_DEBUG_SOURCE_APPLICATION
+                             GL_DEBUG_TYPE_OTHER
+                             0
+                             GL_DEBUG_SEVERITY_LOW
+                             (fromIntegral len)
+                             cstr
+    storeContextLocalData (DebugModeActivated True)
 
 flushDebugMessages :: MonadIO m => m ()
 flushDebugMessages = liftIO $ do
@@ -90,27 +88,27 @@
     maxMsgs = 10000
 
 showSeverity :: GLenum -> String
-showSeverity x | x == gl_DEBUG_SEVERITY_HIGH = "high"
-               | x == gl_DEBUG_SEVERITY_MEDIUM = "medium"
-               | x == gl_DEBUG_SEVERITY_LOW = "low"
+showSeverity x | x == GL_DEBUG_SEVERITY_HIGH = "high"
+               | x == GL_DEBUG_SEVERITY_MEDIUM = "medium"
+               | x == GL_DEBUG_SEVERITY_LOW = "low"
 showSeverity _ = "unknown"
 
 showType :: GLenum -> String
-showType x | x == gl_DEBUG_TYPE_ERROR = "error"
-           | x == gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR = "deprecated"
-           | x == gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR = "undefined"
-           | x == gl_DEBUG_TYPE_PORTABILITY = "portability"
-           | x == gl_DEBUG_TYPE_PERFORMANCE = "performance"
-           | x == gl_DEBUG_TYPE_OTHER = "other"
+showType x | x == GL_DEBUG_TYPE_ERROR = "error"
+           | x == GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = "deprecated"
+           | x == GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = "undefined"
+           | x == GL_DEBUG_TYPE_PORTABILITY = "portability"
+           | x == GL_DEBUG_TYPE_PERFORMANCE = "performance"
+           | x == GL_DEBUG_TYPE_OTHER = "other"
 showType _ = "unknown"
 
 showSrc :: GLenum -> String
-showSrc x | x == gl_DEBUG_SOURCE_APPLICATION = "application"
-          | x == gl_DEBUG_SOURCE_OTHER = "other"
-          | x == gl_DEBUG_SOURCE_API = "api"
-          | x == gl_DEBUG_SOURCE_WINDOW_SYSTEM = "windowsystem"
-          | x == gl_DEBUG_SOURCE_SHADER_COMPILER = "shadercompiler"
-          | x == gl_DEBUG_SOURCE_THIRD_PARTY = "thirdparty"
+showSrc x | x == GL_DEBUG_SOURCE_APPLICATION = "application"
+          | x == GL_DEBUG_SOURCE_OTHER = "other"
+          | x == GL_DEBUG_SOURCE_API = "api"
+          | x == GL_DEBUG_SOURCE_WINDOW_SYSTEM = "windowsystem"
+          | x == GL_DEBUG_SOURCE_SHADER_COMPILER = "shadercompiler"
+          | x == GL_DEBUG_SOURCE_THIRD_PARTY = "thirdparty"
 showSrc _ = "unknown"
 
 
diff --git a/src/Graphics/Caramia/Internal/TexStorage.hs b/src/Graphics/Caramia/Internal/TexStorage.hs
--- a/src/Graphics/Caramia/Internal/TexStorage.hs
+++ b/src/Graphics/Caramia/Internal/TexStorage.hs
@@ -15,6 +15,9 @@
 import Graphics.Caramia.Prelude
 import Graphics.Caramia.Internal.OpenGLCApi
 import Graphics.Caramia.Texture.Internal
+import Graphics.GL.Ext.EXT.DirectStateAccess
+import Graphics.GL.Ext.EXT.TextureCompressionS3tc
+import Graphics.GL.Ext.EXT.TextureSRGB
 import Control.Exception
 import Foreign.Ptr
 
@@ -25,10 +28,10 @@
                      -> GLenum
                      -> GLsizei
                      -> IO ()
-fakeTextureStorage1D texture target levels internalformat width = mask_ $ do
-    has_ext <- has_GL_EXT_direct_state_access
-    if has_ext then dsaFakeTextureStorage1D
-               else nodsaFakeTextureStorage1D
+fakeTextureStorage1D texture target levels internalformat width =
+    mask_ $ if gl_EXT_direct_state_access
+            then dsaFakeTextureStorage1D
+            else nodsaFakeTextureStorage1D
   where
     rec fun i w | i < levels = fun i w >>
                                rec fun (i+1) (max 1 $ w `div` 2)
@@ -45,7 +48,7 @@
                                 (formatFromInternalFormat internalformat)
                                 (typeFromInternalFormat internalformat)
                                 nullPtr) 0 width
-        glTextureParameteriEXT texture target gl_TEXTURE_MAX_LEVEL (levels-1)
+        glTextureParameteriEXT texture target GL_TEXTURE_MAX_LEVEL (levels-1)
 
     nodsaFakeTextureStorage1D = do
         old_tex <- gi $ bindingQueryPoint target
@@ -59,7 +62,7 @@
                              (formatFromInternalFormat internalformat)
                              (typeFromInternalFormat internalformat)
                              nullPtr) 0 width
-        glTexParameteri target gl_TEXTURE_MAX_LEVEL (levels-1)
+        glTexParameteri target GL_TEXTURE_MAX_LEVEL (levels-1)
         glBindTexture target old_tex
 
 -- | glTextureStorage2D
@@ -71,10 +74,9 @@
                      -> GLsizei
                      -> IO ()
 fakeTextureStorage2D texture target levels internalformat width height =
-    mask_ $ do
-        has_ext <- has_GL_EXT_direct_state_access
-        if has_ext then dsaFakeTextureStorage2D
-                   else nodsaFakeTextureStorage2D
+    mask_ $ if gl_EXT_direct_state_access
+            then dsaFakeTextureStorage2D
+            else nodsaFakeTextureStorage2D
   where
     rec fun i w h | i < levels = fun i w h >>
                                  rec fun
@@ -85,7 +87,7 @@
 
     dsaFakeTextureStorage2D = do
         rec (\i w h ->
-            if target /= gl_TEXTURE_CUBE_MAP
+            if target /= GL_TEXTURE_CUBE_MAP
               then glTextureImage2DEXT texture
                                     target
                                     i
@@ -107,12 +109,12 @@
                                     (formatFromInternalFormat internalformat)
                                     (typeFromInternalFormat internalformat)
                                     nullPtr) 0 width height
-        glTextureParameteriEXT texture target gl_TEXTURE_MAX_LEVEL (levels-1)
+        glTextureParameteriEXT texture target GL_TEXTURE_MAX_LEVEL (levels-1)
 
     nodsaFakeTextureStorage2D = do
         old_tex <- gi $ bindingQueryPoint target
         glBindTexture target texture
-        rec (\i w h -> if target /= gl_TEXTURE_CUBE_MAP
+        rec (\i w h -> if target /= GL_TEXTURE_CUBE_MAP
                          then glTexImage2D target
                                 i
                                 (fromIntegral internalformat)
@@ -133,16 +135,16 @@
                                     (typeFromInternalFormat internalformat)
                                     nullPtr)
                                     0 width height
-        glTexParameteri target gl_TEXTURE_MAX_LEVEL (levels-1)
+        glTexParameteri target GL_TEXTURE_MAX_LEVEL (levels-1)
         glBindTexture target old_tex
 
 cubeSides :: [GLenum]
-cubeSides = [gl_TEXTURE_CUBE_MAP_POSITIVE_X
-            ,gl_TEXTURE_CUBE_MAP_POSITIVE_Y
-            ,gl_TEXTURE_CUBE_MAP_POSITIVE_Z
-            ,gl_TEXTURE_CUBE_MAP_NEGATIVE_X
-            ,gl_TEXTURE_CUBE_MAP_NEGATIVE_Y
-            ,gl_TEXTURE_CUBE_MAP_NEGATIVE_Z]
+cubeSides = [GL_TEXTURE_CUBE_MAP_POSITIVE_X
+            ,GL_TEXTURE_CUBE_MAP_POSITIVE_Y
+            ,GL_TEXTURE_CUBE_MAP_POSITIVE_Z
+            ,GL_TEXTURE_CUBE_MAP_NEGATIVE_X
+            ,GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
+            ,GL_TEXTURE_CUBE_MAP_NEGATIVE_Z]
 
 -- | glTextureStorage3D
 fakeTextureStorage3D :: GLuint
@@ -154,10 +156,9 @@
                      -> GLsizei
                      -> IO ()
 fakeTextureStorage3D texture target levels internalformat width height depth =
-    mask_ $ do
-        has_ext <- has_GL_EXT_direct_state_access
-        if has_ext then dsaFakeTextureStorage3D
-                   else nodsaFakeTextureStorage3D
+    mask_ $ if gl_EXT_direct_state_access
+            then dsaFakeTextureStorage3D
+            else nodsaFakeTextureStorage3D
   where
     rec fun i w h z | i < levels = fun i w h z >>
                                    rec fun
@@ -180,7 +181,7 @@
                                 (formatFromInternalFormat internalformat)
                                 (typeFromInternalFormat internalformat)
                                 nullPtr) 0 width height depth
-        glTextureParameteriEXT texture target gl_TEXTURE_MAX_LEVEL (levels-1)
+        glTextureParameteriEXT texture target GL_TEXTURE_MAX_LEVEL (levels-1)
 
     nodsaFakeTextureStorage3D = do
         old_tex <- gi $ bindingQueryPoint target
@@ -196,73 +197,73 @@
                              (formatFromInternalFormat internalformat)
                              (typeFromInternalFormat internalformat)
                              nullPtr) 0 width height depth
-        glTexParameteri target gl_TEXTURE_MAX_LEVEL (levels-1)
+        glTexParameteri target GL_TEXTURE_MAX_LEVEL (levels-1)
         glBindTexture target old_tex
 
 typeFromInternalFormat :: GLenum -> GLenum
 typeFromInternalFormat x =
-    if | x == gl_R8     -> gl_UNSIGNED_BYTE
-       | x == gl_R8I    -> gl_BYTE
-       | x == gl_R8UI   -> gl_UNSIGNED_BYTE
-       | x == gl_R16    -> gl_UNSIGNED_SHORT
-       | x == gl_R16I   -> gl_SHORT
-       | x == gl_R16UI  -> gl_UNSIGNED_SHORT
-       | x == gl_R16F   -> gl_FLOAT
-       | x == gl_R32F   -> gl_FLOAT
-       | x == gl_R32I   -> gl_INT
-       | x == gl_R32UI  -> gl_UNSIGNED_INT
-       | x == gl_RG8    -> gl_UNSIGNED_BYTE
-       | x == gl_RG8I   -> gl_BYTE
-       | x == gl_RG8UI  -> gl_UNSIGNED_BYTE
-       | x == gl_RG16   -> gl_UNSIGNED_SHORT
-       | x == gl_RG16I  -> gl_SHORT
-       | x == gl_RG16UI -> gl_UNSIGNED_SHORT
-       | x == gl_RG16F  -> gl_FLOAT
-       | x == gl_RG32F  -> gl_FLOAT
-       | x == gl_RG32I  -> gl_INT
-       | x == gl_RG32UI -> gl_UNSIGNED_INT
-       | x == gl_R11F_G11F_B10F -> gl_FLOAT
-       | x == gl_RGBA32F -> gl_FLOAT
-       | x == gl_RGBA32I -> gl_INT
-       | x == gl_RGBA32UI -> gl_UNSIGNED_INT
-       | x == gl_RGBA16 -> gl_UNSIGNED_SHORT
-       | x == gl_RGBA16F -> gl_FLOAT
-       | x == gl_RGBA16I -> gl_SHORT
-       | x == gl_RGBA16UI -> gl_UNSIGNED_SHORT
-       | x == gl_RGBA8 -> gl_UNSIGNED_BYTE
-       | x == gl_RGBA8UI -> gl_UNSIGNED_BYTE
-       | x == gl_SRGB8_ALPHA8 -> gl_UNSIGNED_BYTE
-       | x == gl_RGB10_A2 -> gl_FLOAT
-       | x == gl_RGB32F -> gl_FLOAT
-       | x == gl_RGB32I -> gl_INT
-       | x == gl_RGB32UI -> gl_UNSIGNED_INT
-       | x == gl_RGB16F -> gl_FLOAT
-       | x == gl_RGB16I -> gl_SHORT
-       | x == gl_RGB16UI -> gl_UNSIGNED_SHORT
-       | x == gl_RGB16 -> gl_UNSIGNED_SHORT
-       | x == gl_RGB8 -> gl_UNSIGNED_BYTE
-       | x == gl_RGB8I -> gl_BYTE
-       | x == gl_RGB8UI -> gl_UNSIGNED_BYTE
-       | x == gl_SRGB8 -> gl_UNSIGNED_BYTE
-       | x == gl_RGB9_E5 -> gl_FLOAT
-       | x == gl_COMPRESSED_RG_RGTC2 -> gl_FLOAT
-       | x == gl_COMPRESSED_SIGNED_RG_RGTC2 -> gl_FLOAT
-       | x == gl_COMPRESSED_RED_RGTC1 -> gl_FLOAT
-       | x == gl_COMPRESSED_SIGNED_RED_RGTC1_EXT -> gl_FLOAT
-       | x == gl_COMPRESSED_RGB_S3TC_DXT1_EXT -> gl_FLOAT
-       | x == gl_COMPRESSED_RGBA_S3TC_DXT1_EXT -> gl_FLOAT
-       | x == gl_COMPRESSED_RGBA_S3TC_DXT3_EXT -> gl_FLOAT
-       | x == gl_COMPRESSED_RGBA_S3TC_DXT5_EXT -> gl_FLOAT
-       | x == gl_COMPRESSED_SRGB_S3TC_DXT1_EXT -> gl_FLOAT
-       | x == gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT -> gl_FLOAT
-       | x == gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT -> gl_FLOAT
-       | x == gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT -> gl_FLOAT
-       | x == gl_DEPTH_COMPONENT32 -> gl_FLOAT
-       | x == gl_DEPTH_COMPONENT32F -> gl_FLOAT
-       | x == gl_DEPTH_COMPONENT24 -> gl_FLOAT
-       | x == gl_DEPTH_COMPONENT16 -> gl_FLOAT
-       | x == gl_DEPTH32F_STENCIL8 -> gl_FLOAT_32_UNSIGNED_INT_24_8_REV
-       | x == gl_DEPTH24_STENCIL8 -> gl_UNSIGNED_INT_24_8
+    if | x == GL_R8     -> GL_UNSIGNED_BYTE
+       | x == GL_R8I    -> GL_BYTE
+       | x == GL_R8UI   -> GL_UNSIGNED_BYTE
+       | x == GL_R16    -> GL_UNSIGNED_SHORT
+       | x == GL_R16I   -> GL_SHORT
+       | x == GL_R16UI  -> GL_UNSIGNED_SHORT
+       | x == GL_R16F   -> GL_FLOAT
+       | x == GL_R32F   -> GL_FLOAT
+       | x == GL_R32I   -> GL_INT
+       | x == GL_R32UI  -> GL_UNSIGNED_INT
+       | x == GL_RG8    -> GL_UNSIGNED_BYTE
+       | x == GL_RG8I   -> GL_BYTE
+       | x == GL_RG8UI  -> GL_UNSIGNED_BYTE
+       | x == GL_RG16   -> GL_UNSIGNED_SHORT
+       | x == GL_RG16I  -> GL_SHORT
+       | x == GL_RG16UI -> GL_UNSIGNED_SHORT
+       | x == GL_RG16F  -> GL_FLOAT
+       | x == GL_RG32F  -> GL_FLOAT
+       | x == GL_RG32I  -> GL_INT
+       | x == GL_RG32UI -> GL_UNSIGNED_INT
+       | x == GL_R11F_G11F_B10F -> GL_FLOAT
+       | x == GL_RGBA32F -> GL_FLOAT
+       | x == GL_RGBA32I -> GL_INT
+       | x == GL_RGBA32UI -> GL_UNSIGNED_INT
+       | x == GL_RGBA16 -> GL_UNSIGNED_SHORT
+       | x == GL_RGBA16F -> GL_FLOAT
+       | x == GL_RGBA16I -> GL_SHORT
+       | x == GL_RGBA16UI -> GL_UNSIGNED_SHORT
+       | x == GL_RGBA8 -> GL_UNSIGNED_BYTE
+       | x == GL_RGBA8UI -> GL_UNSIGNED_BYTE
+       | x == GL_SRGB8_ALPHA8 -> GL_UNSIGNED_BYTE
+       | x == GL_RGB10_A2 -> GL_FLOAT
+       | x == GL_RGB32F -> GL_FLOAT
+       | x == GL_RGB32I -> GL_INT
+       | x == GL_RGB32UI -> GL_UNSIGNED_INT
+       | x == GL_RGB16F -> GL_FLOAT
+       | x == GL_RGB16I -> GL_SHORT
+       | x == GL_RGB16UI -> GL_UNSIGNED_SHORT
+       | x == GL_RGB16 -> GL_UNSIGNED_SHORT
+       | x == GL_RGB8 -> GL_UNSIGNED_BYTE
+       | x == GL_RGB8I -> GL_BYTE
+       | x == GL_RGB8UI -> GL_UNSIGNED_BYTE
+       | x == GL_SRGB8 -> GL_UNSIGNED_BYTE
+       | x == GL_RGB9_E5 -> GL_FLOAT
+       | x == GL_COMPRESSED_RG_RGTC2 -> GL_FLOAT
+       | x == GL_COMPRESSED_SIGNED_RG_RGTC2 -> GL_FLOAT
+       | x == GL_COMPRESSED_RED_RGTC1 -> GL_FLOAT
+       | x == GL_COMPRESSED_SIGNED_RED_RGTC1 -> GL_FLOAT
+       | x == GL_COMPRESSED_RGB_S3TC_DXT1_EXT -> GL_FLOAT
+       | x == GL_COMPRESSED_RGBA_S3TC_DXT1_EXT -> GL_FLOAT
+       | x == GL_COMPRESSED_RGBA_S3TC_DXT3_EXT -> GL_FLOAT
+       | x == GL_COMPRESSED_RGBA_S3TC_DXT5_EXT -> GL_FLOAT
+       | x == GL_COMPRESSED_SRGB_S3TC_DXT1_EXT -> GL_FLOAT
+       | x == GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT -> GL_FLOAT
+       | x == GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT -> GL_FLOAT
+       | x == GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT -> GL_FLOAT
+       | x == GL_DEPTH_COMPONENT32 -> GL_FLOAT
+       | x == GL_DEPTH_COMPONENT32F -> GL_FLOAT
+       | x == GL_DEPTH_COMPONENT24 -> GL_FLOAT
+       | x == GL_DEPTH_COMPONENT16 -> GL_FLOAT
+       | x == GL_DEPTH32F_STENCIL8 -> GL_FLOAT_32_UNSIGNED_INT_24_8_REV
+       | x == GL_DEPTH24_STENCIL8 -> GL_UNSIGNED_INT_24_8
        | otherwise ->
            error $ "typeFromInternalFormat: unknown internal format " <>
                    show x
@@ -270,68 +271,68 @@
 
 formatFromInternalFormat :: GLenum -> GLenum
 formatFromInternalFormat x =
-    if | x == gl_R8     -> gl_RED
-       | x == gl_R8I    -> gl_RED_INTEGER
-       | x == gl_R8UI   -> gl_RED_INTEGER
-       | x == gl_R16    -> gl_RED
-       | x == gl_R16I   -> gl_RED_INTEGER
-       | x == gl_R16UI  -> gl_RED_INTEGER
-       | x == gl_R16F   -> gl_RED
-       | x == gl_R32F   -> gl_RED
-       | x == gl_R32I   -> gl_RED_INTEGER
-       | x == gl_R32UI  -> gl_RED_INTEGER
-       | x == gl_RG8    -> gl_RG
-       | x == gl_RG8I   -> gl_RG_INTEGER
-       | x == gl_RG8UI  -> gl_RG_INTEGER
-       | x == gl_RG16   -> gl_RG
-       | x == gl_RG16I  -> gl_RG_INTEGER
-       | x == gl_RG16UI -> gl_RG_INTEGER
-       | x == gl_RG16F  -> gl_RG
-       | x == gl_RG32F  -> gl_RG
-       | x == gl_RG32I  -> gl_RG_INTEGER
-       | x == gl_RG32UI -> gl_RG_INTEGER
-       | x == gl_R11F_G11F_B10F -> gl_RGB
-       | x == gl_RGBA32F -> gl_RGBA
-       | x == gl_RGBA32I -> gl_RGBA_INTEGER
-       | x == gl_RGBA32UI -> gl_RGBA_INTEGER
-       | x == gl_RGBA16 -> gl_RGBA
-       | x == gl_RGBA16F -> gl_RGBA
-       | x == gl_RGBA16I -> gl_RGBA_INTEGER
-       | x == gl_RGBA16UI -> gl_RGBA_INTEGER
-       | x == gl_RGBA8 -> gl_RGBA
-       | x == gl_RGBA8UI -> gl_RGBA_INTEGER
-       | x == gl_SRGB8_ALPHA8 -> gl_RGBA
-       | x == gl_RGB10_A2 -> gl_RGBA
-       | x == gl_RGB32F -> gl_RGB
-       | x == gl_RGB32I -> gl_RGB_INTEGER
-       | x == gl_RGB32UI -> gl_RGB_INTEGER
-       | x == gl_RGB16F -> gl_RGB
-       | x == gl_RGB16I -> gl_RGB_INTEGER
-       | x == gl_RGB16UI -> gl_RGB_INTEGER
-       | x == gl_RGB16 -> gl_RGB
-       | x == gl_RGB8 -> gl_RGB
-       | x == gl_RGB8I -> gl_RGB_INTEGER
-       | x == gl_RGB8UI -> gl_RGB_INTEGER
-       | x == gl_SRGB8 -> gl_RGB
-       | x == gl_RGB9_E5 -> gl_RGB
-       | x == gl_COMPRESSED_RG_RGTC2 -> gl_RG
-       | x == gl_COMPRESSED_SIGNED_RG_RGTC2 -> gl_RG
-       | x == gl_COMPRESSED_RED_RGTC1 -> gl_RED
-       | x == gl_COMPRESSED_SIGNED_RED_RGTC1 -> gl_RED
-       | x == gl_COMPRESSED_RGB_S3TC_DXT1_EXT -> gl_RGB
-       | x == gl_COMPRESSED_RGBA_S3TC_DXT1_EXT -> gl_RGBA
-       | x == gl_COMPRESSED_RGBA_S3TC_DXT3_EXT -> gl_RGBA
-       | x == gl_COMPRESSED_RGBA_S3TC_DXT5_EXT -> gl_RGBA
-       | x == gl_COMPRESSED_SRGB_S3TC_DXT1_EXT -> gl_RGB
-       | x == gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT -> gl_RGBA
-       | x == gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT -> gl_RGBA
-       | x == gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT -> gl_RGBA
-       | x == gl_DEPTH_COMPONENT32 -> gl_DEPTH_COMPONENT
-       | x == gl_DEPTH_COMPONENT32F -> gl_DEPTH_COMPONENT
-       | x == gl_DEPTH_COMPONENT24 -> gl_DEPTH_COMPONENT
-       | x == gl_DEPTH_COMPONENT16 -> gl_DEPTH_COMPONENT
-       | x == gl_DEPTH32F_STENCIL8 -> gl_DEPTH_STENCIL
-       | x == gl_DEPTH24_STENCIL8 -> gl_DEPTH_STENCIL
+    if | x == GL_R8     -> GL_RED
+       | x == GL_R8I    -> GL_RED_INTEGER
+       | x == GL_R8UI   -> GL_RED_INTEGER
+       | x == GL_R16    -> GL_RED
+       | x == GL_R16I   -> GL_RED_INTEGER
+       | x == GL_R16UI  -> GL_RED_INTEGER
+       | x == GL_R16F   -> GL_RED
+       | x == GL_R32F   -> GL_RED
+       | x == GL_R32I   -> GL_RED_INTEGER
+       | x == GL_R32UI  -> GL_RED_INTEGER
+       | x == GL_RG8    -> GL_RG
+       | x == GL_RG8I   -> GL_RG_INTEGER
+       | x == GL_RG8UI  -> GL_RG_INTEGER
+       | x == GL_RG16   -> GL_RG
+       | x == GL_RG16I  -> GL_RG_INTEGER
+       | x == GL_RG16UI -> GL_RG_INTEGER
+       | x == GL_RG16F  -> GL_RG
+       | x == GL_RG32F  -> GL_RG
+       | x == GL_RG32I  -> GL_RG_INTEGER
+       | x == GL_RG32UI -> GL_RG_INTEGER
+       | x == GL_R11F_G11F_B10F -> GL_RGB
+       | x == GL_RGBA32F -> GL_RGBA
+       | x == GL_RGBA32I -> GL_RGBA_INTEGER
+       | x == GL_RGBA32UI -> GL_RGBA_INTEGER
+       | x == GL_RGBA16 -> GL_RGBA
+       | x == GL_RGBA16F -> GL_RGBA
+       | x == GL_RGBA16I -> GL_RGBA_INTEGER
+       | x == GL_RGBA16UI -> GL_RGBA_INTEGER
+       | x == GL_RGBA8 -> GL_RGBA
+       | x == GL_RGBA8UI -> GL_RGBA_INTEGER
+       | x == GL_SRGB8_ALPHA8 -> GL_RGBA
+       | x == GL_RGB10_A2 -> GL_RGBA
+       | x == GL_RGB32F -> GL_RGB
+       | x == GL_RGB32I -> GL_RGB_INTEGER
+       | x == GL_RGB32UI -> GL_RGB_INTEGER
+       | x == GL_RGB16F -> GL_RGB
+       | x == GL_RGB16I -> GL_RGB_INTEGER
+       | x == GL_RGB16UI -> GL_RGB_INTEGER
+       | x == GL_RGB16 -> GL_RGB
+       | x == GL_RGB8 -> GL_RGB
+       | x == GL_RGB8I -> GL_RGB_INTEGER
+       | x == GL_RGB8UI -> GL_RGB_INTEGER
+       | x == GL_SRGB8 -> GL_RGB
+       | x == GL_RGB9_E5 -> GL_RGB
+       | x == GL_COMPRESSED_RG_RGTC2 -> GL_RG
+       | x == GL_COMPRESSED_SIGNED_RG_RGTC2 -> GL_RG
+       | x == GL_COMPRESSED_RED_RGTC1 -> GL_RED
+       | x == GL_COMPRESSED_SIGNED_RED_RGTC1 -> GL_RED
+       | x == GL_COMPRESSED_RGB_S3TC_DXT1_EXT -> GL_RGB
+       | x == GL_COMPRESSED_RGBA_S3TC_DXT1_EXT -> GL_RGBA
+       | x == GL_COMPRESSED_RGBA_S3TC_DXT3_EXT -> GL_RGBA
+       | x == GL_COMPRESSED_RGBA_S3TC_DXT5_EXT -> GL_RGBA
+       | x == GL_COMPRESSED_SRGB_S3TC_DXT1_EXT -> GL_RGB
+       | x == GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT -> GL_RGBA
+       | x == GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT -> GL_RGBA
+       | x == GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT -> GL_RGBA
+       | x == GL_DEPTH_COMPONENT32 -> GL_DEPTH_COMPONENT
+       | x == GL_DEPTH_COMPONENT32F -> GL_DEPTH_COMPONENT
+       | x == GL_DEPTH_COMPONENT24 -> GL_DEPTH_COMPONENT
+       | x == GL_DEPTH_COMPONENT16 -> GL_DEPTH_COMPONENT
+       | x == GL_DEPTH32F_STENCIL8 -> GL_DEPTH_STENCIL
+       | x == GL_DEPTH24_STENCIL8 -> GL_DEPTH_STENCIL
        | otherwise ->
            error $ "formatFromInternalFormat: unknown internal format " <>
                    show x
diff --git a/src/Graphics/Caramia/Memory.hs b/src/Graphics/Caramia/Memory.hs
--- a/src/Graphics/Caramia/Memory.hs
+++ b/src/Graphics/Caramia/Memory.hs
@@ -12,6 +12,8 @@
 import Graphics.Caramia.Prelude
 import Graphics.Caramia.Context
 import Graphics.Caramia.Internal.OpenGLCApi
+import Graphics.GL.Ext.ATI.Meminfo
+import Graphics.GL.Ext.NVX.GpuMemoryInfo
 import Foreign.Marshal.Alloc
 import Foreign.Storable
 
@@ -31,10 +33,8 @@
 getMemoryInfo :: MonadIO m => m MemoryInfo
 getMemoryInfo = liftIO $ do
     _ <- currentContextID  -- Just checking that OpenGL context is active.
-    has_meminfo <- has_GL_ATI_meminfo
-    has_gpu_memory_info <- has_GL_NVX_gpu_memory_info
-    if | has_meminfo -> atiGetMem
-       | has_gpu_memory_info -> nvidiaGetMem
+    if | gl_ATI_meminfo -> atiGetMem
+       | gl_NVX_gpu_memory_info -> nvidiaGetMem
        | otherwise -> return noInformation
 
 noInformation :: MemoryInfo
@@ -45,7 +45,7 @@
 atiGetMem :: IO MemoryInfo
 atiGetMem =
     alloca $ \result_ptr -> do
-        glGetIntegerv gl_TEXTURE_FREE_MEMORY_ATI result_ptr
+        glGetIntegerv GL_TEXTURE_FREE_MEMORY_ATI result_ptr
         result <- peek result_ptr
         return MemoryInfo { availableVideoMemory = Just $ fromIntegral result
                           , totalVideoMemory = Nothing }
@@ -53,9 +53,9 @@
 nvidiaGetMem :: IO MemoryInfo
 nvidiaGetMem =
     alloca $ \result_ptr -> alloca $ \result2_ptr -> do
-        glGetIntegerv gl_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX
+        glGetIntegerv GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX
                       result_ptr
-        glGetIntegerv gl_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX
+        glGetIntegerv GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX
                       result2_ptr
         result <- peek result_ptr
         result2 <- peek result2_ptr
diff --git a/src/Graphics/Caramia/Query.hs b/src/Graphics/Caramia/Query.hs
--- a/src/Graphics/Caramia/Query.hs
+++ b/src/Graphics/Caramia/Query.hs
@@ -96,13 +96,13 @@
     fromInt64 _ = True
 
 numericQueryTypeToConstant :: NumericQueryType -> GLenum
-numericQueryTypeToConstant SamplesPassed = gl_SAMPLES_PASSED
-numericQueryTypeToConstant PrimitivesGenerated = gl_PRIMITIVES_GENERATED
-numericQueryTypeToConstant TransformFeedbackPrimitivesWritten = gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN
-numericQueryTypeToConstant TimeElapsed = gl_TIME_ELAPSED
+numericQueryTypeToConstant SamplesPassed = GL_SAMPLES_PASSED
+numericQueryTypeToConstant PrimitivesGenerated = GL_PRIMITIVES_GENERATED
+numericQueryTypeToConstant TransformFeedbackPrimitivesWritten = GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN
+numericQueryTypeToConstant TimeElapsed = GL_TIME_ELAPSED
 
 booleanQueryTypeToConstant :: BooleanQueryType -> GLenum
-booleanQueryTypeToConstant AnySamplesPassed = gl_ANY_SAMPLES_PASSED
+booleanQueryTypeToConstant AnySamplesPassed = GL_ANY_SAMPLES_PASSED
 
 eitherQueryTypeToConstant :: SomeQuery -> GLenum
 eitherQueryTypeToConstant (Left qt) = numericQueryTypeToConstant qt
@@ -269,9 +269,9 @@
 tryGetResults (Query { resource = resource }) =
     liftIO $ withResource resource $ \(Query_ queryname) -> do
         is_it_available <- alloca $ \av -> do
-            glGetQueryObjectiv queryname gl_QUERY_RESULT_AVAILABLE av
+            glGetQueryObjectiv queryname GL_QUERY_RESULT_AVAILABLE av
             peek av
-        if fromIntegral is_it_available == gl_FALSE
+        if is_it_available == GL_FALSE
           then return Nothing
           else fmap Just $ actuallyGetResults queryname
 
@@ -287,7 +287,7 @@
 actuallyGetResults :: QueryResultType a => GLuint -> IO a
 actuallyGetResults queryname = do
     result <- alloca $ \v64 -> do
-        glGetQueryObjecti64v queryname gl_QUERY_RESULT v64
+        glGetQueryObjecti64v queryname GL_QUERY_RESULT v64
         peek v64
     return $ fromInt64 result
 
diff --git a/src/Graphics/Caramia/Render.hs b/src/Graphics/Caramia/Render.hs
--- a/src/Graphics/Caramia/Render.hs
+++ b/src/Graphics/Caramia/Render.hs
@@ -80,17 +80,17 @@
   deriving ( Eq, Ord, Show, Read, Typeable, Enum )
 
 toConstant :: Primitive -> GLenum
-toConstant Triangles = gl_TRIANGLES
-toConstant TriangleStrip = gl_TRIANGLE_STRIP
-toConstant TriangleFan = gl_TRIANGLE_FAN
-toConstant Points = gl_POINTS
-toConstant Lines = gl_LINES
-toConstant LineStrip = gl_LINE_STRIP
-toConstant LineLoop = gl_LINE_LOOP
-toConstant LinesAdjacency = gl_LINES_ADJACENCY
-toConstant LineStripAdjacency = gl_LINE_STRIP_ADJACENCY
-toConstant TriangleStripAdjacency = gl_TRIANGLE_STRIP_ADJACENCY
-toConstant TrianglesAdjacency = gl_TRIANGLES_ADJACENCY
+toConstant Triangles = GL_TRIANGLES
+toConstant TriangleStrip = GL_TRIANGLE_STRIP
+toConstant TriangleFan = GL_TRIANGLE_FAN
+toConstant Points = GL_POINTS
+toConstant Lines = GL_LINES
+toConstant LineStrip = GL_LINE_STRIP
+toConstant LineLoop = GL_LINE_LOOP
+toConstant LinesAdjacency = GL_LINES_ADJACENCY
+toConstant LineStripAdjacency = GL_LINE_STRIP_ADJACENCY
+toConstant TriangleStripAdjacency = GL_TRIANGLE_STRIP_ADJACENCY
+toConstant TrianglesAdjacency = GL_TRIANGLES_ADJACENCY
 
 -- | The type of indices in an index buffer. See `indexBuffer`.
 data IndexType =
@@ -100,9 +100,9 @@
     deriving ( Eq, Ord, Show, Read, Typeable, Enum )
 
 toConstantIT :: IndexType -> GLenum
-toConstantIT IWord32 = gl_UNSIGNED_INT
-toConstantIT IWord16 = gl_UNSIGNED_SHORT
-toConstantIT IWord8 = gl_UNSIGNED_BYTE
+toConstantIT IWord32 = GL_UNSIGNED_INT
+toConstantIT IWord16 = GL_UNSIGNED_SHORT
+toConstantIT IWord8 = GL_UNSIGNED_BYTE
 
 class IndexTypeable a where
     -- | Turns a Haskell type to `IndexType`.
@@ -349,16 +349,16 @@
     withBoundElementBuffer 0 $
     withPrimitiveRestart primitiveRestart $
     withPolygonOffset polygonOffset $ do
-        old_active <- gi gl_ACTIVE_TEXTURE
+        old_active <- gi GL_ACTIVE_TEXTURE
         -- Framebuffer may not restore the viewport so we have to do it here.
         (ox, oy, ow, oh) <- liftIO $ allocaArray 4 $ \viewport_ptr -> do
-            glGetIntegerv gl_VIEWPORT viewport_ptr
+            glGetIntegerv GL_VIEWPORT viewport_ptr
             ox <- peekElemOff viewport_ptr 0
             oy <- peekElemOff viewport_ptr 1
             ow <- peekElemOff viewport_ptr 2
             oh <- peekElemOff viewport_ptr 3
             return (ox, oy, ow, oh)
-        finally (glActiveTexture gl_TEXTURE0 >>
+        finally (glActiveTexture GL_TEXTURE0 >>
                  action)
                 $ do
                     glActiveTexture old_active
@@ -366,25 +366,25 @@
 
 withPrimitiveRestart :: (MonadIO m, MonadMask m) => Maybe Word32 -> m a -> m a
 withPrimitiveRestart pr action = do
-    old_primitive_restart_enabled <- liftIO $ glIsEnabled gl_PRIMITIVE_RESTART
-    old_i <- gi gl_PRIMITIVE_RESTART_INDEX
+    old_primitive_restart_enabled <- liftIO $ glIsEnabled GL_PRIMITIVE_RESTART
+    old_i <- gi GL_PRIMITIVE_RESTART_INDEX
     finally (activate >> action)
             (do if old_primitive_restart_enabled /= 0
-                  then glEnable gl_PRIMITIVE_RESTART
-                  else glDisable gl_PRIMITIVE_RESTART
+                  then glEnable GL_PRIMITIVE_RESTART
+                  else glDisable GL_PRIMITIVE_RESTART
                 glPrimitiveRestartIndex old_i)
   where
     activate = case pr of
-        Nothing -> glDisable gl_PRIMITIVE_RESTART
+        Nothing -> glDisable GL_PRIMITIVE_RESTART
         Just value -> do
-            glEnable gl_PRIMITIVE_RESTART
+            glEnable GL_PRIMITIVE_RESTART
             glPrimitiveRestartIndex (fromIntegral value)
 
 withPolygonOffset :: (MonadIO m, MonadMask m) => (Float, Float) -> m a -> m a
 withPolygonOffset (factor, units) action = do
-    old_factor <- gf gl_POLYGON_OFFSET_FACTOR
-    old_units <- gf gl_POLYGON_OFFSET_UNITS
-    finally (glPolygonOffset (CFloat factor) (CFloat units) >>
+    old_factor <- gf GL_POLYGON_OFFSET_FACTOR
+    old_units <- gf GL_POLYGON_OFFSET_UNITS
+    finally (glPolygonOffset factor units >>
              action) $
         glPolygonOffset old_factor old_units
 
@@ -394,7 +394,7 @@
 setActiveTexture unit = DrawT $ do
     state <- get
     when (activeTexture state /= unit) $
-        glActiveTexture (gl_TEXTURE0 + unit) >>
+        glActiveTexture (GL_TEXTURE0 + unit) >>
         modify (\old -> old { activeTexture = unit })
 
 -- | Sets new primitive restart mode.
@@ -403,10 +403,10 @@
     pr <- return . boundPrimitiveRestart =<< get
     liftIO $ case (pr, restart) of
         (Nothing, Just x) -> do
-            glEnable gl_PRIMITIVE_RESTART
+            glEnable GL_PRIMITIVE_RESTART
             glPrimitiveRestartIndex (fromIntegral x)
         (Just _, Nothing) -> do
-            glDisable gl_PRIMITIVE_RESTART
+            glDisable GL_PRIMITIVE_RESTART
         (Just y, Just x) | y /= x ->
             glPrimitiveRestartIndex (fromIntegral x)
         _ -> return ()
@@ -490,7 +490,7 @@
 
 -- | Sets polygon offset.
 setPolygonOffset :: MonadIO m => Float -> Float -> DrawT m ()
-setPolygonOffset factor units = glPolygonOffset (CFloat factor) (CFloat units)
+setPolygonOffset factor units = glPolygonOffset factor units
 
 -- | Sets the current framebuffer.
 setTargetFramebuffer :: MonadIO m => FBuf.Framebuffer -> DrawT m ()
diff --git a/src/Graphics/Caramia/Render/Internal.hs b/src/Graphics/Caramia/Render/Internal.hs
--- a/src/Graphics/Caramia/Render/Internal.hs
+++ b/src/Graphics/Caramia/Render/Internal.hs
@@ -27,14 +27,14 @@
   deriving ( Eq, Ord, Show, Read, Typeable )
 
 comparisonFuncToConstant :: ComparisonFunc -> GLenum
-comparisonFuncToConstant Never = gl_NEVER
-comparisonFuncToConstant Less = gl_LESS
-comparisonFuncToConstant Equal = gl_EQUAL
-comparisonFuncToConstant LEqual = gl_LEQUAL
-comparisonFuncToConstant Greater = gl_GREATER
-comparisonFuncToConstant NotEqual = gl_NOTEQUAL
-comparisonFuncToConstant GEqual = gl_GEQUAL
-comparisonFuncToConstant Always = gl_ALWAYS
+comparisonFuncToConstant Never = GL_NEVER
+comparisonFuncToConstant Less = GL_LESS
+comparisonFuncToConstant Equal = GL_EQUAL
+comparisonFuncToConstant LEqual = GL_LEQUAL
+comparisonFuncToConstant Greater = GL_GREATER
+comparisonFuncToConstant NotEqual = GL_NOTEQUAL
+comparisonFuncToConstant GEqual = GL_GEQUAL
+comparisonFuncToConstant Always = GL_ALWAYS
 
 -- | Stencil buffer operations.
 --
@@ -53,14 +53,14 @@
   deriving ( Eq, Ord, Show, Read, Typeable )
 
 stencilOpToConstant :: StencilOp -> GLenum
-stencilOpToConstant Keep = gl_KEEP
-stencilOpToConstant Zero = gl_ZERO
-stencilOpToConstant Replace = gl_REPLACE
-stencilOpToConstant Increment = gl_INCR
-stencilOpToConstant IncrementAndWrap = gl_INCR_WRAP
-stencilOpToConstant Decrease = gl_DECR
-stencilOpToConstant DecreaseAndWrap = gl_DECR_WRAP
-stencilOpToConstant Invert = gl_INVERT
+stencilOpToConstant Keep = GL_KEEP
+stencilOpToConstant Zero = GL_ZERO
+stencilOpToConstant Replace = GL_REPLACE
+stencilOpToConstant Increment = GL_INCR
+stencilOpToConstant IncrementAndWrap = GL_INCR_WRAP
+stencilOpToConstant Decrease = GL_DECR
+stencilOpToConstant DecreaseAndWrap = GL_DECR_WRAP
+stencilOpToConstant Invert = GL_INVERT
 
 setStencilFunc :: MonadIO m
                => ComparisonFunc
@@ -89,12 +89,12 @@
                 -> m a
                 -> m a
 withStencilFunc func op1 op2 op3 ref mask action = do
-    old_func <- gi gl_STENCIL_FUNC
-    old_ref <- gi gl_STENCIL_REF
-    old_mask <- gi gl_STENCIL_VALUE_MASK
-    old_op1 <- gi gl_STENCIL_FAIL
-    old_op2 <- gi gl_STENCIL_PASS_DEPTH_FAIL
-    old_op3 <- gi gl_STENCIL_PASS_DEPTH_PASS
+    old_func <- gi GL_STENCIL_FUNC
+    old_ref <- gi GL_STENCIL_REF
+    old_mask <- gi GL_STENCIL_VALUE_MASK
+    old_op1 <- gi GL_STENCIL_FAIL
+    old_op2 <- gi GL_STENCIL_PASS_DEPTH_FAIL
+    old_op3 <- gi GL_STENCIL_PASS_DEPTH_PASS
     finally (setStencilFunc func op1 op2 op3 ref mask >> action)
             (do
                  glStencilFunc old_func (fromIntegral old_ref) old_mask
@@ -102,30 +102,30 @@
 
 withCulling :: (MonadIO m, MonadMask m) => Culling -> m a -> m a
 withCulling culling action = do
-    old_culling <- gi gl_CULL_FACE_MODE
-    was_enabled <- glIsEnabled gl_CULL_FACE
+    old_culling <- gi GL_CULL_FACE_MODE
+    was_enabled <- glIsEnabled GL_CULL_FACE
     finally (setCulling culling >> action)
             (liftIO $ do
-                 if was_enabled == fromIntegral gl_TRUE
-                     then glEnable gl_CULL_FACE
-                     else glDisable gl_CULL_FACE
+                 if was_enabled == GL_TRUE
+                     then glEnable GL_CULL_FACE
+                     else glDisable GL_CULL_FACE
                  glCullFace old_culling)
 
 setCulling :: (MonadIO m, MonadMask m) => Culling -> m ()
-setCulling NoCulling = glDisable gl_CULL_FACE
+setCulling NoCulling = glDisable GL_CULL_FACE
 setCulling x = mask_ $
-    glEnable gl_CULL_FACE >>
+    glEnable GL_CULL_FACE >>
     glCullFace (cullingToConstant x)
 
 setDepthFunc :: MonadIO m => ComparisonFunc -> Bool -> m ()
 setDepthFunc func write_depth = do
     glDepthFunc (comparisonFuncToConstant func)
-    glDepthMask (fromIntegral $ if write_depth then gl_TRUE else gl_FALSE)
+    glDepthMask (if write_depth then GL_TRUE else GL_FALSE)
 
 withDepthFunc :: (MonadIO m, MonadMask m) => ComparisonFunc -> Bool -> m a -> m a
 withDepthFunc func write_depth action = do
-    old_depth_func <- gi gl_DEPTH_FUNC
-    old_depth_write <- gi gl_DEPTH_WRITEMASK
+    old_depth_func <- gi GL_DEPTH_FUNC
+    old_depth_write <- gi GL_DEPTH_WRITEMASK
     finally (setDepthFunc func write_depth >> action)
             (do
                  glDepthFunc old_depth_func
@@ -134,12 +134,12 @@
 setFragmentPassTests :: (MonadIO m, MonadMask m) => FragmentPassTests -> m ()
 setFragmentPassTests (FragmentPassTests {..}) = do
     case depthTest of
-        Nothing -> glDisable gl_DEPTH_TEST
-        Just dt -> glEnable gl_DEPTH_TEST >>
+        Nothing -> glDisable GL_DEPTH_TEST
+        Just dt -> glEnable GL_DEPTH_TEST >>
                    setDepthFunc dt writeDepth
     case stencilTest of
-        Nothing -> glDisable gl_STENCIL_TEST
-        Just st -> glEnable gl_STENCIL_TEST >>
+        Nothing -> glDisable GL_STENCIL_TEST
+        Just st -> glEnable GL_STENCIL_TEST >>
                    setStencilFunc st
                                   failStencilOp
                                   depthFailStencilOp
@@ -150,22 +150,22 @@
 
 withFragmentPassTests :: (MonadIO m, MonadMask m) => FragmentPassTests -> m a -> m a
 withFragmentPassTests (FragmentPassTests {..}) action = do
-    was_it_enabled <- glIsEnabled gl_DEPTH_TEST
+    was_it_enabled <- glIsEnabled GL_DEPTH_TEST
     finally
         (case depthTest of
-             Nothing -> glDisable gl_DEPTH_TEST >> next
-             Just dt -> glEnable gl_DEPTH_TEST >>
+             Nothing -> glDisable GL_DEPTH_TEST >> next
+             Just dt -> glEnable GL_DEPTH_TEST >>
                         withDepthFunc dt writeDepth next) $
-        if was_it_enabled == fromIntegral gl_TRUE
-          then glEnable gl_DEPTH_TEST
-          else glDisable gl_DEPTH_TEST
+        if was_it_enabled == GL_TRUE
+          then glEnable GL_DEPTH_TEST
+          else glDisable GL_DEPTH_TEST
   where
     next = do
-        was_it_enabled <- glIsEnabled gl_STENCIL_TEST
+        was_it_enabled <- glIsEnabled GL_STENCIL_TEST
         finally
             (case stencilTest of
-                 Nothing -> glDisable gl_STENCIL_TEST >> next'
-                 Just st -> glEnable gl_STENCIL_TEST >>
+                 Nothing -> glDisable GL_STENCIL_TEST >> next'
+                 Just st -> glEnable GL_STENCIL_TEST >>
                             withStencilFunc st
                                             failStencilOp
                                             depthFailStencilOp
@@ -173,9 +173,9 @@
                                             stencilReference
                                             stencilMask
                                             next') $
-            if was_it_enabled == fromIntegral gl_TRUE
-              then glEnable gl_STENCIL_TEST
-              else glDisable gl_STENCIL_TEST
+            if was_it_enabled == GL_TRUE
+              then glEnable GL_STENCIL_TEST
+              else glDisable GL_STENCIL_TEST
 
     next' = withCulling cullFace action
 
@@ -188,9 +188,9 @@
   deriving ( Eq, Ord, Show, Read, Typeable )
 
 cullingToConstant :: Culling -> GLenum
-cullingToConstant Back = gl_BACK
-cullingToConstant Front = gl_FRONT
-cullingToConstant FrontAndBack = gl_FRONT_AND_BACK
+cullingToConstant Back = GL_BACK
+cullingToConstant Front = GL_FRONT
+cullingToConstant FrontAndBack = GL_FRONT_AND_BACK
 cullingToConstant NoCulling = 0
 
 -- | Specifies the tests that are run on a fragment to decide if it should be
diff --git a/src/Graphics/Caramia/Shader.hs b/src/Graphics/Caramia/Shader.hs
--- a/src/Graphics/Caramia/Shader.hs
+++ b/src/Graphics/Caramia/Shader.hs
@@ -76,9 +76,9 @@
 -- TODO: add tesselation shaders
 
 toConstant :: ShaderStage -> GLenum
-toConstant Vertex = gl_VERTEX_SHADER
-toConstant Fragment = gl_FRAGMENT_SHADER
-toConstant Geometry = gl_GEOMETRY_SHADER
+toConstant Vertex = GL_VERTEX_SHADER
+toConstant Fragment = GL_FRAGMENT_SHADER
+toConstant Geometry = GL_GEOMETRY_SHADER
 
 -- | Thrown when either a compilation or linking error occurs.
 data ShaderBuildingError = forall e. Exception e => ShaderBuildingError e
@@ -196,9 +196,9 @@
 -- DELETES the shader if there were errors.
 checkCompilationErrors :: GLuint -> IO ()
 checkCompilationErrors shader_name = do
-    status <- gget $ glGetShaderiv shader_name gl_COMPILE_STATUS
-    when (status == fromIntegral gl_FALSE) $ do
-        log_len <- gget $ glGetShaderiv shader_name gl_INFO_LOG_LENGTH
+    status <- gget $ glGetShaderiv shader_name GL_COMPILE_STATUS
+    when (status == GL_FALSE) $ do
+        log_len <- gget $ glGetShaderiv shader_name GL_INFO_LOG_LENGTH
         allocaBytes (safeFromIntegral log_len) $ \str -> do
             glGetShaderInfoLog shader_name log_len nullPtr str
             log <- T.peekCStringLen ( str
@@ -211,9 +211,9 @@
 -- DELETES the program if there were errors.
 checkLinkingErrors :: GLuint -> IO ()
 checkLinkingErrors program_name = do
-    status <- gget $ glGetProgramiv program_name gl_LINK_STATUS
-    when (status == fromIntegral gl_FALSE) $ do
-        log_len <- gget $ glGetProgramiv program_name gl_INFO_LOG_LENGTH
+    status <- gget $ glGetProgramiv program_name GL_LINK_STATUS
+    when (status == GL_FALSE) $ do
+        log_len <- gget $ glGetProgramiv program_name GL_INFO_LOG_LENGTH
         allocaBytes (safeFromIntegral log_len) $ \str -> do
             glGetProgramInfoLog program_name log_len nullPtr str
             log <- T.peekCStringLen ( str
@@ -424,76 +424,70 @@
     setUniform_ = setI4
 instance Uniformable Float where
     setUniform_ program loc f1 =
-        mglProgramUniform1f program loc (CFloat f1)
+        mglProgramUniform1f program loc f1
 instance Uniformable (Float, Float) where
     setUniform_ program loc (f1, f2) =
-        mglProgramUniform2f program loc (CFloat f1) (CFloat f2)
+        mglProgramUniform2f program loc f1 f2
 instance Uniformable (Float, Float, Float) where
     setUniform_ program loc (f1, f2, f3) =
-        mglProgramUniform3f program loc
-                            (CFloat f1)
-                            (CFloat f2)
-                            (CFloat f3)
+        mglProgramUniform3f program loc f1 f2 f3
 instance Uniformable (Float, Float, Float, Float) where
     setUniform_ program loc (f1, f2, f3, f4) =
-        mglProgramUniform4f program loc
-                            (CFloat f1)
-                            (CFloat f2)
-                            (CFloat f3)
-                            (CFloat f4)
+        mglProgramUniform4f program loc f1 f2 f3 f4
 instance Uniformable Color where
     setUniform_ program loc (viewRgba -> tuple) =
         setUniform_ program loc tuple
 instance Uniformable CFloat where
-    setUniform_ = mglProgramUniform1f
+    setUniform_ program loc (CFloat f1) =
+        mglProgramUniform1f program loc f1
 instance Uniformable (CFloat, CFloat) where
-    setUniform_ program loc (f1, f2) =
+    setUniform_ program loc (CFloat f1, CFloat f2) =
         mglProgramUniform2f program loc f1 f2
 instance Uniformable (CFloat, CFloat, CFloat) where
-    setUniform_ program loc (f1, f2, f3) =
+    setUniform_ program loc (CFloat f1, CFloat f2, CFloat f3) =
         mglProgramUniform3f program loc f1 f2 f3
 instance Uniformable (CFloat, CFloat, CFloat, CFloat) where
-    setUniform_ program loc (f1, f2, f3, f4) =
+    setUniform_ program loc (CFloat f1, CFloat f2, CFloat f3, CFloat f4) =
         mglProgramUniform4f program loc f1 f2 f3 f4
 
 instance Uniformable Double where
     setUniform_ program loc f1 =
-        mglProgramUniform1f program loc (double2CFloat f1)
+        mglProgramUniform1f program loc (double2Float f1)
 instance Uniformable (Double, Double) where
     setUniform_ program loc (f1, f2) =
-        mglProgramUniform2f program loc (double2CFloat f1) (double2CFloat f2)
+        mglProgramUniform2f program loc (double2Float f1) (double2Float f2)
 instance Uniformable (Double, Double, Double) where
     setUniform_ program loc (f1, f2, f3) =
         mglProgramUniform3f program loc
-                            (double2CFloat f1)
-                            (double2CFloat f2)
-                            (double2CFloat f3)
+                            (double2Float f1)
+                            (double2Float f2)
+                            (double2Float f3)
 instance Uniformable (Double, Double, Double, Double) where
     setUniform_ program loc (f1, f2, f3, f4) =
         mglProgramUniform4f program loc
-                            (double2CFloat f1)
-                            (double2CFloat f2)
-                            (double2CFloat f3)
-                            (double2CFloat f4)
+                            (double2Float f1)
+                            (double2Float f2)
+                            (double2Float f3)
+                            (double2Float f4)
 instance Uniformable CDouble where
     setUniform_ program loc f1 =
-        mglProgramUniform1f program loc (cdouble2CFloat f1)
+        mglProgramUniform1f program loc (cdouble2Float f1)
 instance Uniformable (CDouble, CDouble) where
     setUniform_ program loc (f1, f2) =
-        mglProgramUniform2f program loc (cdouble2CFloat f1) (cdouble2CFloat f2)
+        mglProgramUniform2f program loc (cdouble2Float f1) (cdouble2Float f2)
 instance Uniformable (CDouble, CDouble, CDouble) where
     setUniform_ program loc (f1, f2, f3) =
         mglProgramUniform3f program loc
-                            (cdouble2CFloat f1)
-                            (cdouble2CFloat f2)
-                            (cdouble2CFloat f3)
+                            (cdouble2Float f1)
+                            (cdouble2Float f2)
+                            (cdouble2Float f3)
 instance Uniformable (CDouble, CDouble, CDouble, CDouble) where
     setUniform_ program loc (f1, f2, f3, f4) =
         mglProgramUniform4f program loc
-                            (cdouble2CFloat f1)
-                            (cdouble2CFloat f2)
-                            (cdouble2CFloat f3)
-                            (cdouble2CFloat f4)
+                            (cdouble2Float f1)
+                            (cdouble2Float f2)
+                            (cdouble2Float f3)
+                            (cdouble2Float f4)
 
 double2FloatMap :: Functor a => a Double -> a Float
 double2FloatMap = fmap double2Float
@@ -525,14 +519,14 @@
 
 instance Uniformable (Quaternion Float) where
     setUniform_ program loc (Quaternion w (V3 x y z)) =
-        mglProgramUniform4f program loc (CFloat x) (CFloat y) (CFloat z) (CFloat w)
+        mglProgramUniform4f program loc x y z w
 
 instance Uniformable (Quaternion Double) where
     setUniform_ program loc (double2FloatMap -> Quaternion w (V3 x y z)) =
-        mglProgramUniform4f program loc (CFloat x) (CFloat y) (CFloat z) (CFloat w)
+        mglProgramUniform4f program loc x y z w
 
 instance Uniformable (Quaternion CFloat) where
-    setUniform_ program loc (Quaternion w (V3 x y z)) =
+    setUniform_ program loc (Quaternion (CFloat w) (V3 (CFloat x) (CFloat y) (CFloat z))) =
         mglProgramUniform4f program loc x y z w
 
 instance Uniformable (Quaternion CDouble) where
@@ -589,61 +583,58 @@
 
 instance Uniformable (V1 Double) where
     setUniform_ program loc (double2FloatMap -> V1 f1) =
-        mglProgramUniform1f program loc (CFloat f1)
+        mglProgramUniform1f program loc f1
 
 instance Uniformable (V2 Double) where
     setUniform_ program loc (double2FloatMap -> V2 f1 f2) =
-        mglProgramUniform2f program loc (CFloat f1) (CFloat f2)
+        mglProgramUniform2f program loc f1 f2
 
 instance Uniformable (V3 Double) where
     setUniform_ program loc (double2FloatMap -> V3 f1 f2 f3) =
-        mglProgramUniform3f program loc (CFloat f1) (CFloat f2) (CFloat f3)
+        mglProgramUniform3f program loc f1 f2 f3
 
 instance Uniformable (V4 Double) where
     setUniform_ program loc (double2FloatMap -> V4 f1 f2 f3 f4) =
-        mglProgramUniform4f program loc (CFloat f1) (CFloat f2) (CFloat f3) (CFloat f4)
+        mglProgramUniform4f program loc f1 f2 f3 f4
 
 instance Uniformable (M33 Double) where
     setUniform_ program loc (double2FloatMapMap -> m33) =
         with m33 $
-            mglProgramUniformMatrix3fv program loc 1 (fromIntegral gl_FALSE) . castPtr
+            mglProgramUniformMatrix3fv program loc 1 GL_FALSE . castPtr
 
 instance Uniformable (M44 Double) where
     setUniform_ program loc m44 =
         with (fmap (fmap double2Float) m44) $
-            mglProgramUniformMatrix4fv program loc 1 (fromIntegral gl_FALSE) . castPtr
+            mglProgramUniformMatrix4fv program loc 1 GL_FALSE . castPtr
 
 instance Uniformable (V1 Float) where
     setUniform_ program loc (V1 f1) =
-        mglProgramUniform1f program loc (CFloat f1)
+        mglProgramUniform1f program loc f1
 
 instance Uniformable (V2 Float) where
     setUniform_ program loc (V2 f1 f2) =
-        mglProgramUniform2f program loc (CFloat f1) (CFloat f2)
+        mglProgramUniform2f program loc f1 f2
 
 instance Uniformable (V3 Float) where
     setUniform_ program loc (V3 f1 f2 f3) =
-        mglProgramUniform3f program loc (CFloat f1) (CFloat f2) (CFloat f3)
+        mglProgramUniform3f program loc f1 f2 f3
 
 instance Uniformable (V4 Float) where
     setUniform_ program loc (V4 f1 f2 f3 f4) =
-        mglProgramUniform4f program loc (CFloat f1) (CFloat f2) (CFloat f3) (CFloat f4)
+        mglProgramUniform4f program loc f1 f2 f3 f4
 
 instance Uniformable (M33 Float) where
     setUniform_ program loc m33 =
         with m33 $
-            mglProgramUniformMatrix3fv program loc 1 (fromIntegral gl_FALSE) . castPtr
+            mglProgramUniformMatrix3fv program loc 1 GL_FALSE . castPtr
 
 instance Uniformable (M44 Float) where
     setUniform_ program loc m44 =
         with m44 $
-            mglProgramUniformMatrix4fv program loc 1 (fromIntegral gl_FALSE) . castPtr
-
-double2CFloat :: Double -> CFloat
-double2CFloat dbl = CFloat $ double2Float dbl
+            mglProgramUniformMatrix4fv program loc 1 GL_FALSE . castPtr
 
-cdouble2CFloat :: CDouble -> CFloat
-cdouble2CFloat (CDouble dbl) = CFloat $ double2Float dbl
+cdouble2Float :: CDouble -> Float
+cdouble2Float (CDouble dbl) = double2Float dbl
 
 -- | Returns a uniform location for a given name.
 --
diff --git a/src/Graphics/Caramia/Sync.hs b/src/Graphics/Caramia/Sync.hs
--- a/src/Graphics/Caramia/Sync.hs
+++ b/src/Graphics/Caramia/Sync.hs
@@ -44,7 +44,7 @@
     return $ Fence { resource = resource
                    , ordIndex = unique }
   where
-    createFence = glFenceSync gl_SYNC_GPU_COMMANDS_COMPLETE 0
+    createFence = glFenceSync GL_SYNC_GPU_COMMANDS_COMPLETE 0
 
 -- | Waits for a fence to signal.
 --
@@ -56,12 +56,12 @@
                           --   `False` if waiting timed out.
 waitFence useconds (Fence{ resource = resource }) =
     withResource resource $ \fencesync -> do
-        ret <- glClientWaitSync fencesync gl_SYNC_FLUSH_COMMANDS_BIT
+        ret <- glClientWaitSync fencesync GL_SYNC_FLUSH_COMMANDS_BIT
                                 (fromIntegral actual_seconds)
-        if | ret == gl_ALREADY_SIGNALED -> return True
-           | ret == gl_TIMEOUT_EXPIRED -> return False
-           | ret == gl_CONDITION_SATISFIED -> return True
-           | ret == gl_WAIT_FAILED -> return True -- should we throw an error?
+        if | ret == GL_ALREADY_SIGNALED -> return True
+           | ret == GL_TIMEOUT_EXPIRED -> return False
+           | ret == GL_CONDITION_SATISFIED -> return True
+           | ret == GL_WAIT_FAILED -> return True -- should we throw an error?
   where
     actual_seconds :: Word64
     actual_seconds =
diff --git a/src/Graphics/Caramia/Texture.hs b/src/Graphics/Caramia/Texture.hs
--- a/src/Graphics/Caramia/Texture.hs
+++ b/src/Graphics/Caramia/Texture.hs
@@ -57,10 +57,11 @@
 import qualified Graphics.Caramia.Buffer.Internal as Buf
 import Graphics.Caramia.ImageFormats.Internal
 import Graphics.Caramia.Resource
+import Graphics.GL.Ext.ARB.TextureStorage
+import Graphics.GL.Ext.EXT.TextureFilterAnisotropic
 import Control.Monad.IO.Class
 import Control.Monad.Catch
 import Foreign
-import Foreign.C.Types
 
 textureSpecification :: TextureSpecification
 textureSpecification = TextureSpecification {
@@ -202,8 +203,7 @@
                 glGenTextures 1 name_ptr *> peek name_ptr)
             (deleter . Texture_ )
             (\name -> do
-                has_tex_storage <- has_GL_ARB_texture_storage
-                if has_tex_storage
+                if gl_ARB_texture_storage
                   then createByTopologyTexStorage name (topology spec)
                   else createByTopologyFakeTextureStorage name (topology spec)
                 return name)
@@ -212,20 +212,20 @@
     createByTopologyFakeTextureStorage :: GLuint -> Topology -> IO ()
     createByTopologyFakeTextureStorage name (Tex1D {..}) =
         fakeTextureStorage1D name
-                             gl_TEXTURE_1D
+                             GL_TEXTURE_1D
                              (safeFromIntegral num_mipmaps)
                              (toConstantIF (imageFormat spec))
                              (safeFromIntegral width1D)
     createByTopologyFakeTextureStorage name (Tex2D {..}) =
         fakeTextureStorage2D name
-                             gl_TEXTURE_2D
+                             GL_TEXTURE_2D
                              (safeFromIntegral num_mipmaps)
                              (toConstantIF (imageFormat spec))
                              (safeFromIntegral width2D)
                              (safeFromIntegral height2D)
     createByTopologyFakeTextureStorage name (Tex3D {..}) =
         fakeTextureStorage3D name
-                             gl_TEXTURE_3D
+                             GL_TEXTURE_3D
                              (safeFromIntegral num_mipmaps)
                              (toConstantIF (imageFormat spec))
                              (safeFromIntegral width3D)
@@ -233,14 +233,14 @@
                              (safeFromIntegral depth3D)
     createByTopologyFakeTextureStorage name (Tex1DArray {..}) =
         fakeTextureStorage2D name
-                             gl_TEXTURE_1D_ARRAY
+                             GL_TEXTURE_1D_ARRAY
                              (safeFromIntegral num_mipmaps)
                              (toConstantIF (imageFormat spec))
                              (safeFromIntegral width1DArray)
                              (safeFromIntegral layers1D)
     createByTopologyFakeTextureStorage name (Tex2DArray {..}) =
         fakeTextureStorage3D name
-                             gl_TEXTURE_2D_ARRAY
+                             GL_TEXTURE_2D_ARRAY
                              (safeFromIntegral num_mipmaps)
                              (toConstantIF (imageFormat spec))
                              (safeFromIntegral width2DArray)
@@ -252,7 +252,7 @@
         createByTopologyTexStorage name tex
     createByTopologyFakeTextureStorage name (TexCube {..}) =
         fakeTextureStorage2D name
-                             gl_TEXTURE_CUBE_MAP
+                             GL_TEXTURE_CUBE_MAP
                              (safeFromIntegral num_mipmaps)
                              (toConstantIF (imageFormat spec))
                              (safeFromIntegral widthCube)
@@ -264,47 +264,47 @@
     -- to Caramia.Internal.OpenGLCApi?
     createByTopologyTexStorage :: GLuint -> Topology -> IO ()
     createByTopologyTexStorage name (Tex1D {..}) =
-        withBinding gl_TEXTURE_1D gl_TEXTURE_BINDING_1D name $
-            glTexStorage1D gl_TEXTURE_1D
+        withBinding GL_TEXTURE_1D GL_TEXTURE_BINDING_1D name $
+            glTexStorage1D GL_TEXTURE_1D
                            (safeFromIntegral num_mipmaps)
                            (toConstantIF (imageFormat spec))
                            (safeFromIntegral width1D)
     createByTopologyTexStorage name (Tex2D {..}) =
-        withBinding gl_TEXTURE_2D gl_TEXTURE_BINDING_2D name $
-            glTexStorage2D gl_TEXTURE_2D
+        withBinding GL_TEXTURE_2D GL_TEXTURE_BINDING_2D name $
+            glTexStorage2D GL_TEXTURE_2D
                            (safeFromIntegral num_mipmaps)
                            (toConstantIF (imageFormat spec))
                            (safeFromIntegral width2D)
                            (safeFromIntegral height2D)
     createByTopologyTexStorage name (Tex3D {..}) =
-        withBinding gl_TEXTURE_3D gl_TEXTURE_BINDING_3D name $
-            glTexStorage3D gl_TEXTURE_3D
+        withBinding GL_TEXTURE_3D GL_TEXTURE_BINDING_3D name $
+            glTexStorage3D GL_TEXTURE_3D
                            (safeFromIntegral num_mipmaps)
                            (toConstantIF (imageFormat spec))
                            (safeFromIntegral width3D)
                            (safeFromIntegral height3D)
                            (safeFromIntegral depth3D)
     createByTopologyTexStorage name (Tex1DArray {..}) =
-        withBinding gl_TEXTURE_1D_ARRAY gl_TEXTURE_BINDING_1D_ARRAY name $
-            glTexStorage2D gl_TEXTURE_1D_ARRAY
+        withBinding GL_TEXTURE_1D_ARRAY GL_TEXTURE_BINDING_1D_ARRAY name $
+            glTexStorage2D GL_TEXTURE_1D_ARRAY
                            (safeFromIntegral num_mipmaps)
                            (toConstantIF (imageFormat spec))
                            (safeFromIntegral width1DArray)
                            (safeFromIntegral layers1D)
     createByTopologyTexStorage name (Tex2DArray {..}) =
-        withBinding gl_TEXTURE_2D_ARRAY gl_TEXTURE_BINDING_2D_ARRAY name $
-            glTexStorage3D gl_TEXTURE_2D_ARRAY
+        withBinding GL_TEXTURE_2D_ARRAY GL_TEXTURE_BINDING_2D_ARRAY name $
+            glTexStorage3D GL_TEXTURE_2D_ARRAY
                            (safeFromIntegral num_mipmaps)
                            (toConstantIF (imageFormat spec))
                            (safeFromIntegral width2DArray)
                            (safeFromIntegral height2DArray)
                            (safeFromIntegral layers2D)
     createByTopologyTexStorage name (Tex2DMultisample {..}) =
-        withBinding gl_TEXTURE_2D_MULTISAMPLE
-                    gl_TEXTURE_BINDING_2D_MULTISAMPLE
+        withBinding GL_TEXTURE_2D_MULTISAMPLE
+                    GL_TEXTURE_BINDING_2D_MULTISAMPLE
                     name $
             glTexImage2DMultisample
-                           gl_TEXTURE_2D_MULTISAMPLE
+                           GL_TEXTURE_2D_MULTISAMPLE
                            (safeFromIntegral samples2DMS)
                            (fromIntegral $ toConstantIF (imageFormat spec))
                            (safeFromIntegral width2DMS)
@@ -312,11 +312,11 @@
                            (if fixedSampleLocations2DMS
                              then 1 else 0)
     createByTopologyTexStorage name (Tex2DMultisampleArray {..}) =
-        withBinding gl_TEXTURE_2D_MULTISAMPLE_ARRAY
-                    gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
+        withBinding GL_TEXTURE_2D_MULTISAMPLE_ARRAY
+                    GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
                     name $
             glTexImage3DMultisample
-                           gl_TEXTURE_2D_MULTISAMPLE_ARRAY
+                           GL_TEXTURE_2D_MULTISAMPLE_ARRAY
                            (safeFromIntegral samples2DMSArray)
                            (fromIntegral $ toConstantIF (imageFormat spec))
                            (safeFromIntegral width2DMSArray)
@@ -325,20 +325,20 @@
                            (if fixedSampleLocations2DMSArray
                              then 1 else 0)
     createByTopologyTexStorage name (TexCube {..}) =
-        withBinding gl_TEXTURE_CUBE_MAP
-                    gl_TEXTURE_BINDING_CUBE_MAP
+        withBinding GL_TEXTURE_CUBE_MAP
+                    GL_TEXTURE_BINDING_CUBE_MAP
                     name $
-            glTexStorage2D gl_TEXTURE_CUBE_MAP
+            glTexStorage2D GL_TEXTURE_CUBE_MAP
                            (safeFromIntegral num_mipmaps)
                            (fromIntegral $ toConstantIF (imageFormat spec))
                            (safeFromIntegral widthCube)
                            (safeFromIntegral widthCube)
     createByTopologyTexStorage name (TexBuffer {..}) =
-        withBinding gl_TEXTURE_BUFFER
-                    gl_TEXTURE_BINDING_BUFFER
+        withBinding GL_TEXTURE_BUFFER
+                    GL_TEXTURE_BINDING_BUFFER
                     name $
             withResource (Buf.resource texBuffer) $ \(Buf.Buffer_ bufname) ->
-                glTexBuffer gl_TEXTURE_BUFFER
+                glTexBuffer GL_TEXTURE_BUFFER
                             (fromIntegral $ toConstantIF (imageFormat spec))
                             bufname
 
@@ -364,14 +364,14 @@
 -- formats.
 
 toConstantUF :: UploadFormat -> GLenum
-toConstantUF UR = gl_RED
-toConstantUF URG = gl_RG
-toConstantUF URGB = gl_RGB
-toConstantUF URGBA = gl_RGBA
-toConstantUF UBGR = gl_BGR
-toConstantUF UBGRA = gl_BGRA
-toConstantUF UDEPTH_COMPONENT = gl_DEPTH_COMPONENT
-toConstantUF USTENCIL_INDEX = gl_STENCIL_INDEX
+toConstantUF UR = GL_RED
+toConstantUF URG = GL_RG
+toConstantUF URGB = GL_RGB
+toConstantUF URGBA = GL_RGBA
+toConstantUF UBGR = GL_BGR
+toConstantUF UBGRA = GL_BGRA
+toConstantUF UDEPTH_COMPONENT = GL_DEPTH_COMPONENT
+toConstantUF USTENCIL_INDEX = GL_STENCIL_INDEX
 
 -- | Used to specify how to move the data from a `Buffer` to a `Texture` in
 -- `uploadToTexture`.
@@ -430,12 +430,12 @@
     deriving ( Eq, Ord, Show, Read, Typeable )
 
 toConstantCS :: CubeSide -> GLenum
-toConstantCS PositiveX = gl_TEXTURE_CUBE_MAP_POSITIVE_X
-toConstantCS NegativeX = gl_TEXTURE_CUBE_MAP_NEGATIVE_X
-toConstantCS PositiveY = gl_TEXTURE_CUBE_MAP_POSITIVE_Y
-toConstantCS NegativeY = gl_TEXTURE_CUBE_MAP_NEGATIVE_Y
-toConstantCS PositiveZ = gl_TEXTURE_CUBE_MAP_POSITIVE_Z
-toConstantCS NegativeZ = gl_TEXTURE_CUBE_MAP_NEGATIVE_Z
+toConstantCS PositiveX = GL_TEXTURE_CUBE_MAP_POSITIVE_X
+toConstantCS NegativeX = GL_TEXTURE_CUBE_MAP_NEGATIVE_X
+toConstantCS PositiveY = GL_TEXTURE_CUBE_MAP_POSITIVE_Y
+toConstantCS NegativeY = GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
+toConstantCS PositiveZ = GL_TEXTURE_CUBE_MAP_POSITIVE_Z
+toConstantCS NegativeZ = GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
 
 -- | Constructs a common 1D uploading.
 uploading1D :: Buf.Buffer
@@ -524,34 +524,34 @@
 uploadToTexture uploading tex = liftIO $ mask_ $
     withResource (Buf.resource (fromBuffer uploading)) $ \(Buf.Buffer_ buf) ->
     withBoundPixelUnpackBuffer buf $ do
-        old_num_cols  <- fromIntegral <$> gi gl_UNPACK_ROW_LENGTH
-        old_num_rows  <- fromIntegral <$> gi gl_UNPACK_IMAGE_HEIGHT
-        old_alignment <- fromIntegral <$> gi gl_UNPACK_ALIGNMENT
-        glPixelStorei gl_UNPACK_ROW_LENGTH
+        old_num_cols  <- fromIntegral <$> gi GL_UNPACK_ROW_LENGTH
+        old_num_rows  <- fromIntegral <$> gi GL_UNPACK_IMAGE_HEIGHT
+        old_alignment <- fromIntegral <$> gi GL_UNPACK_ALIGNMENT
+        glPixelStorei GL_UNPACK_ROW_LENGTH
                       (safeFromIntegral $ numColumns uploading)
-        flip finally (glPixelStorei gl_UNPACK_ROW_LENGTH old_num_cols) $ do
-         glPixelStorei gl_UNPACK_IMAGE_HEIGHT
+        flip finally (glPixelStorei GL_UNPACK_ROW_LENGTH old_num_cols) $ do
+         glPixelStorei GL_UNPACK_IMAGE_HEIGHT
                        (safeFromIntegral $ numRows uploading)
-         flip finally (glPixelStorei gl_UNPACK_IMAGE_HEIGHT old_num_rows) $ do
-          glPixelStorei gl_UNPACK_ALIGNMENT
+         flip finally (glPixelStorei GL_UNPACK_IMAGE_HEIGHT old_num_rows) $ do
+          glPixelStorei GL_UNPACK_ALIGNMENT
                         (safeFromIntegral $ pixelAlignment uploading)
-          flip finally (glPixelStorei gl_UNPACK_ALIGNMENT old_alignment) $
+          flip finally (glPixelStorei GL_UNPACK_ALIGNMENT old_alignment) $
            withResource (resource tex) $ \(Texture_ texname) ->
             case topology $ viewSpecification tex of
                 Tex1D {..} ->
-                    upload1D gl_TEXTURE_1D gl_TEXTURE_BINDING_1D
+                    upload1D GL_TEXTURE_1D GL_TEXTURE_BINDING_1D
                              texname uploading
                 Tex2D {..} ->
-                    upload2D gl_TEXTURE_2D gl_TEXTURE_BINDING_2D
+                    upload2D GL_TEXTURE_2D GL_TEXTURE_BINDING_2D
                              texname uploading
                 Tex3D {..} ->
-                    upload3D gl_TEXTURE_3D gl_TEXTURE_BINDING_3D
+                    upload3D GL_TEXTURE_3D GL_TEXTURE_BINDING_3D
                              texname uploading
                 Tex1DArray {..} ->
-                    upload2D gl_TEXTURE_1D_ARRAY gl_TEXTURE_BINDING_1D_ARRAY
+                    upload2D GL_TEXTURE_1D_ARRAY GL_TEXTURE_BINDING_1D_ARRAY
                              texname uploading
                 Tex2DArray {..} ->
-                    upload3D gl_TEXTURE_2D_ARRAY gl_TEXTURE_BINDING_2D_ARRAY
+                    upload3D GL_TEXTURE_2D_ARRAY GL_TEXTURE_BINDING_2D_ARRAY
                              texname uploading
                 Tex2DMultisample {..} ->
                     error $ "uploadToTexture: cannot upload to " <>
@@ -560,8 +560,8 @@
                     error $ "uploadToTexture: cannot upload to " <>
                             "multisampling array textures."
                 TexCube {..} ->
-                    uploadCube gl_TEXTURE_CUBE_MAP
-                               gl_TEXTURE_BINDING_CUBE_MAP
+                    uploadCube GL_TEXTURE_CUBE_MAP
+                               GL_TEXTURE_BINDING_CUBE_MAP
                                texname uploading
                 TexBuffer {..} ->
                     error $ "uploadToTexture: cannot upload to " <>
@@ -670,38 +670,38 @@
  deriving ( Eq, Ord, Show, Read, Typeable )
 
 toConstantC :: CompareMode -> GLenum
-toConstantC NoCompare = gl_NONE
-toConstantC CompareRefToTexture = gl_COMPARE_REF_TO_TEXTURE
+toConstantC NoCompare = GL_NONE
+toConstantC CompareRefToTexture = GL_COMPARE_REF_TO_TEXTURE
 
 toConstantW :: Wrapping -> GLenum
-toConstantW Clamp = gl_CLAMP_TO_EDGE
-toConstantW Repeat = gl_REPEAT
+toConstantW Clamp = GL_CLAMP_TO_EDGE
+toConstantW Repeat = GL_REPEAT
 
 instance TexParam MinFilter where
-    tpEnum _ = gl_TEXTURE_MIN_FILTER
-    tpToConstant MiNearest = gl_NEAREST
-    tpToConstant MiLinear  = gl_LINEAR
-    tpToConstant MiNearestMipmapNearest = gl_NEAREST_MIPMAP_NEAREST
-    tpToConstant MiLinearMipmapNearest = gl_LINEAR_MIPMAP_NEAREST
-    tpToConstant MiNearestMipmapLinear = gl_NEAREST_MIPMAP_LINEAR
-    tpToConstant MiLinearMipmapLinear = gl_LINEAR_MIPMAP_LINEAR
+    tpEnum _ = GL_TEXTURE_MIN_FILTER
+    tpToConstant MiNearest = GL_NEAREST
+    tpToConstant MiLinear  = GL_LINEAR
+    tpToConstant MiNearestMipmapNearest = GL_NEAREST_MIPMAP_NEAREST
+    tpToConstant MiLinearMipmapNearest = GL_LINEAR_MIPMAP_NEAREST
+    tpToConstant MiNearestMipmapLinear = GL_NEAREST_MIPMAP_LINEAR
+    tpToConstant MiLinearMipmapLinear = GL_LINEAR_MIPMAP_LINEAR
     tpFromConstant c
-        | c == gl_NEAREST = MiNearest
-        | c == gl_LINEAR  = MiLinear
-        | c == gl_NEAREST_MIPMAP_NEAREST = MiNearestMipmapNearest
-        | c == gl_LINEAR_MIPMAP_NEAREST = MiLinearMipmapNearest
-        | c == gl_NEAREST_MIPMAP_LINEAR = MiNearestMipmapLinear
-        | c == gl_LINEAR_MIPMAP_LINEAR = MiLinearMipmapLinear
+        | c == GL_NEAREST = MiNearest
+        | c == GL_LINEAR  = MiLinear
+        | c == GL_NEAREST_MIPMAP_NEAREST = MiNearestMipmapNearest
+        | c == GL_LINEAR_MIPMAP_NEAREST = MiLinearMipmapNearest
+        | c == GL_NEAREST_MIPMAP_LINEAR = MiNearestMipmapLinear
+        | c == GL_LINEAR_MIPMAP_LINEAR = MiLinearMipmapLinear
         | otherwise = error "MinFilter: unexpected filtering value."
 
 instance TexParam MagFilter where
-    tpEnum _ = gl_TEXTURE_MAG_FILTER
-    tpToConstant MaNearest = gl_NEAREST
-    tpToConstant MaLinear = gl_LINEAR
+    tpEnum _ = GL_TEXTURE_MAG_FILTER
+    tpToConstant MaNearest = GL_NEAREST
+    tpToConstant MaLinear = GL_LINEAR
 
     tpFromConstant c
-        | c == gl_NEAREST = MaNearest
-        | c == gl_LINEAR  = MaLinear
+        | c == GL_NEAREST = MaNearest
+        | c == GL_LINEAR  = MaLinear
         | otherwise = error "MagFilter: unexpected filtering value."
 
 setMinFilter :: (MonadIO m, MonadMask m) => MinFilter -> Texture -> m ()
@@ -728,49 +728,47 @@
 
 setWrapping :: (MonadIO m, MonadMask m) => Wrapping -> Texture -> m ()
 setWrapping wrapping tex = withBindingByTopology tex $ \target -> do
-    glTexParameteri target gl_TEXTURE_WRAP_S
+    glTexParameteri target GL_TEXTURE_WRAP_S
                            (fromIntegral $ toConstantW wrapping)
-    glTexParameteri target gl_TEXTURE_WRAP_T
+    glTexParameteri target GL_TEXTURE_WRAP_T
                            (fromIntegral $ toConstantW wrapping)
-    glTexParameteri target gl_TEXTURE_WRAP_R
+    glTexParameteri target GL_TEXTURE_WRAP_R
                            (fromIntegral $ toConstantW wrapping)
 
 setCompareMode :: (MonadIO m, MonadMask m) => CompareMode -> Texture -> m ()
 setCompareMode cmp_mode tex = withBindingByTopology tex $ \target ->
-    glTexParameteri target gl_TEXTURE_COMPARE_MODE
+    glTexParameteri target GL_TEXTURE_COMPARE_MODE
                     (fromIntegral $ toConstantC cmp_mode)
 
 getCompareMode :: (MonadIO m, MonadMask m) => Texture -> m CompareMode
 getCompareMode tex = liftIO $ withBindingByTopology tex $ \target ->
     alloca $ \result_ptr -> do
-        glGetTexParameteriv target gl_TEXTURE_COMPARE_MODE result_ptr
-        result <- fromIntegral <$> peek result_ptr
+        glGetTexParameteriv target GL_TEXTURE_COMPARE_MODE result_ptr
+        result <- peek result_ptr
         return $ if
-            | result == gl_NONE -> NoCompare
-            | result == gl_COMPARE_REF_TO_TEXTURE -> CompareRefToTexture
+            | result == GL_NONE -> NoCompare
+            | result == GL_COMPARE_REF_TO_TEXTURE -> CompareRefToTexture
             | otherwise -> error "getCompareMode: unexpected comparing mode."
 
 getWrapping :: (MonadIO m, MonadMask m) => Texture -> m Wrapping
 getWrapping tex = liftIO $ withBindingByTopology tex $ \target ->
     alloca $ \result_ptr -> do
-        glGetTexParameteriv target gl_TEXTURE_WRAP_S result_ptr
-        result <- fromIntegral <$> peek result_ptr
+        glGetTexParameteriv target GL_TEXTURE_WRAP_S result_ptr
+        result <- peek result_ptr
         return $ if
-            | result == gl_CLAMP_TO_EDGE -> Clamp
-            | result == gl_REPEAT -> Repeat
+            | result == GL_CLAMP_TO_EDGE -> Clamp
+            | result == GL_REPEAT -> Repeat
             | otherwise -> error "getWrapping: unexpected wrapping mode."
 
 setAnisotropy :: (MonadIO m, MonadMask m) => Float -> Texture -> m ()
 setAnisotropy ani tex = withBindingByTopology tex $ \target ->
-    glTexParameterf target gl_TEXTURE_MAX_ANISOTROPY_EXT (CFloat ani)
+    glTexParameterf target GL_TEXTURE_MAX_ANISOTROPY_EXT ani
 
 getAnisotropy :: (MonadIO m, MonadMask m) => Texture -> m Float
 getAnisotropy tex = liftIO $ withBindingByTopology tex $ \target ->
     alloca $ \ani_ptr -> do
-        glGetTexParameterfv target gl_TEXTURE_MAX_ANISOTROPY_EXT ani_ptr
-        unwrap <$> peek ani_ptr
-  where
-    unwrap (CFloat f) = f
+        glGetTexParameterfv target GL_TEXTURE_MAX_ANISOTROPY_EXT ani_ptr
+        peek ani_ptr
 
 {-
 nextMipmapLevel :: Int -> Int
diff --git a/src/Graphics/Caramia/Texture/Internal.hs b/src/Graphics/Caramia/Texture/Internal.hs
--- a/src/Graphics/Caramia/Texture/Internal.hs
+++ b/src/Graphics/Caramia/Texture/Internal.hs
@@ -87,42 +87,42 @@
          action)
         (glBindTexture tex old)
 
--- | Given a bind location (such as gl_TEXTURE_3D), returns the query enum that
+-- | Given a bind location (such as GL_TEXTURE_3D), returns the query enum that
 -- retrieves the current binding from glGetIntegerv (such as
--- gl_TEXTURE_BINDING_3D).
+-- GL_TEXTURE_BINDING_3D).
 bindingQueryPoint :: GLenum -> GLenum
 bindingQueryPoint x =
-    if | x == gl_TEXTURE_1D -> gl_TEXTURE_BINDING_1D
-       | x == gl_TEXTURE_2D -> gl_TEXTURE_BINDING_2D
-       | x == gl_TEXTURE_3D -> gl_TEXTURE_BINDING_3D
-       | x == gl_TEXTURE_1D_ARRAY -> gl_TEXTURE_BINDING_1D_ARRAY
-       | x == gl_TEXTURE_2D_ARRAY -> gl_TEXTURE_BINDING_2D_ARRAY
-       | x == gl_TEXTURE_2D_MULTISAMPLE -> gl_TEXTURE_BINDING_2D_MULTISAMPLE
-       | x == gl_TEXTURE_2D_MULTISAMPLE_ARRAY -> gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
-       | x == gl_TEXTURE_CUBE_MAP -> gl_TEXTURE_BINDING_CUBE_MAP
-       | x == gl_TEXTURE_BUFFER -> gl_TEXTURE_BINDING_BUFFER
+    if | x == GL_TEXTURE_1D -> GL_TEXTURE_BINDING_1D
+       | x == GL_TEXTURE_2D -> GL_TEXTURE_BINDING_2D
+       | x == GL_TEXTURE_3D -> GL_TEXTURE_BINDING_3D
+       | x == GL_TEXTURE_1D_ARRAY -> GL_TEXTURE_BINDING_1D_ARRAY
+       | x == GL_TEXTURE_2D_ARRAY -> GL_TEXTURE_BINDING_2D_ARRAY
+       | x == GL_TEXTURE_2D_MULTISAMPLE -> GL_TEXTURE_BINDING_2D_MULTISAMPLE
+       | x == GL_TEXTURE_2D_MULTISAMPLE_ARRAY -> GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
+       | x == GL_TEXTURE_CUBE_MAP -> GL_TEXTURE_BINDING_CUBE_MAP
+       | x == GL_TEXTURE_BUFFER -> GL_TEXTURE_BINDING_BUFFER
        | otherwise ->
            error $ "bindingQueryPoint: unknown texture target: " <> show x
 
 getTopologyBindPoints :: Topology -> (GLenum, GLenum)
 getTopologyBindPoints = \case
-    Tex1D {..} -> (gl_TEXTURE_1D, gl_TEXTURE_BINDING_1D)
-    Tex2D {..} -> (gl_TEXTURE_2D, gl_TEXTURE_BINDING_2D)
-    Tex3D {..} -> (gl_TEXTURE_3D, gl_TEXTURE_BINDING_3D)
-    Tex1DArray {..} -> (gl_TEXTURE_1D_ARRAY, gl_TEXTURE_BINDING_1D_ARRAY)
-    Tex2DArray {..} -> (gl_TEXTURE_2D_ARRAY, gl_TEXTURE_BINDING_2D_ARRAY)
+    Tex1D {..} -> (GL_TEXTURE_1D, GL_TEXTURE_BINDING_1D)
+    Tex2D {..} -> (GL_TEXTURE_2D, GL_TEXTURE_BINDING_2D)
+    Tex3D {..} -> (GL_TEXTURE_3D, GL_TEXTURE_BINDING_3D)
+    Tex1DArray {..} -> (GL_TEXTURE_1D_ARRAY, GL_TEXTURE_BINDING_1D_ARRAY)
+    Tex2DArray {..} -> (GL_TEXTURE_2D_ARRAY, GL_TEXTURE_BINDING_2D_ARRAY)
     Tex2DMultisample {..} ->
-        (gl_TEXTURE_2D_MULTISAMPLE
-        ,gl_TEXTURE_BINDING_2D_MULTISAMPLE)
+        (GL_TEXTURE_2D_MULTISAMPLE
+        ,GL_TEXTURE_BINDING_2D_MULTISAMPLE)
     Tex2DMultisampleArray {..} ->
-        (gl_TEXTURE_2D_MULTISAMPLE_ARRAY
-        ,gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY)
+        (GL_TEXTURE_2D_MULTISAMPLE_ARRAY
+        ,GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY)
     TexCube {..} ->
-        (gl_TEXTURE_CUBE_MAP
-        ,gl_TEXTURE_BINDING_CUBE_MAP)
+        (GL_TEXTURE_CUBE_MAP
+        ,GL_TEXTURE_BINDING_CUBE_MAP)
     TexBuffer {} ->
-        (gl_TEXTURE_BUFFER
-        ,gl_TEXTURE_BINDING_BUFFER)
+        (GL_TEXTURE_BUFFER
+        ,GL_TEXTURE_BINDING_BUFFER)
 
 withBindingByTopology :: (MonadIO m, MonadMask m) => Texture -> (GLenum -> m a) -> m a
 withBindingByTopology tex action =
@@ -134,8 +134,8 @@
 
 withTextureBinding :: (MonadIO m, MonadMask m) => Texture -> TextureUnit -> m a -> m a
 withTextureBinding tex unit action = do
-    old_active <- gi gl_ACTIVE_TEXTURE
-    glActiveTexture (gl_TEXTURE0 + fromIntegral unit)
+    old_active <- gi GL_ACTIVE_TEXTURE
+    glActiveTexture (GL_TEXTURE0 + fromIntegral unit)
     finally (withBindingByTopology tex $ const action) $
         glActiveTexture old_active
 
diff --git a/src/Graphics/Caramia/VAO.hs b/src/Graphics/Caramia/VAO.hs
--- a/src/Graphics/Caramia/VAO.hs
+++ b/src/Graphics/Caramia/VAO.hs
@@ -87,15 +87,15 @@
 isIntegerType SDouble = False
 
 toConstant :: SourceType -> GLenum
-toConstant SWord8 = gl_UNSIGNED_BYTE
-toConstant SWord16 = gl_UNSIGNED_SHORT
-toConstant SWord32 = gl_UNSIGNED_INT
-toConstant SInt8 = gl_BYTE
-toConstant SInt16 = gl_SHORT
-toConstant SInt32 = gl_INT
-toConstant SHalfFloat = gl_HALF_FLOAT
-toConstant SFloat = gl_FLOAT
-toConstant SDouble = gl_DOUBLE
+toConstant SWord8 = GL_UNSIGNED_BYTE
+toConstant SWord16 = GL_UNSIGNED_SHORT
+toConstant SWord32 = GL_UNSIGNED_INT
+toConstant SInt8 = GL_BYTE
+toConstant SInt16 = GL_SHORT
+toConstant SInt32 = GL_INT
+toConstant SHalfFloat = GL_HALF_FLOAT
+toConstant SFloat = GL_FLOAT
+toConstant SDouble = GL_DOUBLE
 
 -- | Class of types that are valid for sourcing data.
 --
@@ -263,9 +263,9 @@
             (safeFromIntegral $ attributeIndex sourcing)
             (safeFromIntegral ncomponents)
             (toConstant stype)
-            (fromIntegral $ if isIntegerType stype && normalize sourcing
-                              then gl_TRUE
-                              else gl_FALSE)
+            (if isIntegerType stype && normalize sourcing
+             then GL_TRUE
+             else GL_FALSE)
             (safeFromIntegral $ stride sourcing)
             (safeFromIntegral $ offset sourcing)
 
